A drawing of an efficency engineer

Efficiency Engineers

As a programmer, you can have several titles. You can be a frontend, backend, fullstack engineer if you are into web development. For testing there is QA. To have an infrastructure, there is DevOps. But, I think that there is another type of engineer that could exist. A master at making things more efficient.

I look at the current software world and think that there is a need for it. A person in the organization that will go and clean the code and document the decisions of why certain actions are taken. An engineer that separates the act of creation from the act of perfection.

This title is to a certain point a meta-title. This person would not create a lot. But they could help. They would support the main team of programmers.

This role in my head seems to be a person that can see through the architecture of an app and prefers sound and cost efficient decisions.

This engineers would be the equivalent of industrial engineers for the rest of the production process. They could try to be a balancing force when adding features, to have a reasonable scope when planning for a new program. Their role could be of advice in the beginning. In bigger and bulkier codebases they could be the help for simplification and optimization. This programmers would not be tied to any language or specific preference in stack. They just have a preference for making things faster. This engineers could shine in startups and big organizations. In big places they could poke at a legacy codebases and make them more efficient. And they could be used in startups to help them with places that are making them loose money.

People can and have been optimizing prematurely. This can be a problem. The role could help in being the rails that sometimes people need. Not too much and not too little, just the right amount of efficiency.

The need for this programmers can be seen as a bit superficial. No a lot of companies care about the performance of their application. If it works it is good enough.

I have an argument. If people want to reach the most people, they should care about performance. With a poor connection to the internet, a lot of modern websites can not load completely. If people want to reach more people, optimizing for loads on poor connections is important.

This engineers could help close this gap of accessibility to less resource powered devices and connections. As a result they could have a potential increase in users.

This engineer is needed in the current enviroment because it is a need to separte the process of creation from the process of perfection. Not a single person needs that all applications work as fast as quant trading firms. But it could help to be able to run things in devices that are not the newest.

Back to articles