Keep it Simple … Stupid.

Saad El Oulladi
2 min readJul 3, 2019

Sometimes when we have just learned a new technology or architecture. we are so excited about it that we can’t wait to use it in our next project.

Which is good in terms of personal experience, since we learn faster a technology when we use it in one of our professional projects. Then we can proudly write in our resume that we have such experience.

However, there is an important question we usually forget to ask, or at least emphasize on :

What are the real and practical gains through using a given technology ?

And if there are some benefits, do they worth the risks and the delay due to the learning curve ?

Avoid overkill architectures.

Advanced architectures are meant to assist the growth of big applications, they offer a separation of the software layers in a way that each one becomes reusable and isolated.

However the main criteria for choosing a given architecture should be the project scale and complexity.

We should be asking the following questions :

Is the project meant to evolve ? Is there a part we may reuse in other projects ? Is it a one version project ?

After answering those questions, we may find that a basic architecture is more than enough.

Master what you use.

Usually a tool which is not implemented well or not fully understood, may have the opposite effect.
Hence it’s crucial to have the required knowledge about a tool before start using it in a project. otherwise we may end up in a deadlock.

This is valid for all the team. or at least everyone who will work one something related to a new tool. everyone should have the required knowledge about it.


This is not about discouraging you from trying new ideas in your project. Of course it’s a valued quality for a software engineer to be curious and take steps toward new technologies. What i’m trying to say in this post to share my thoughts about how doing simple stuff can improve the production efficiency.

Thanks for reading !