Are you a computer engineer? Do you fancy your code should look like an art? Do you think complex systems should be built? Do you think everything should go through process? If answers to all the above questions is, YES!, then you should definitely read ahead.
There are two types of engineers and you can be both, Batman also has two personalities:
- There are engineers who solve really hard engineering problems like., developing a new programming language, security protocols etc.
- There are others who build things with available resources.
Why this classification? Because it defines the expectations and priorities. If you are working at a company then you are being paid for the knowledge you have to build things that make company successful and as much quickly as possible. Your prioritisation decides will the company achieve what it needs and how quickly.
Now what does your company do? The chances are it is building products/services for people to consume. People who doesn’t know your “technology”. The success means for such a company is to win the market and be the sole provider of the product and service. And building things takes time, hence the idea of hacking or hackjob or jugaad. That’s what product engineers do.
Product engineers make things that work as fast as possible because the end goal is not the engineering but the product. A product that works. The user does not care about the complexity of the engineering. It can awe them but primarily, it should work like it is supposed to. It is the engineer’s job to make sure of that.
Product engineers solve engineering problems when the uptick for business is greater than the time spent in dealing with it.
Won’t it lead to mess? It will. Deal with it. No, I am not just brushing this problem off. I have a solution for this.
Whenever there is a lean time solve this problem. Organise everything. This is an iterative process. This strategy must sound like getting stuck in loop and yes, team will get slowed down over-time. Take some time out when it is absolutely required like too many errors happening, code maintenance has become a real issue, it is taking longer to do a five minute hack-job. Because it must be understood that the goal is different. Goal is to make the product win, right now.