Engineering

Difference between a coder and an engineer

I have been taking interviews for Engineering positions across different levels for more than a decade and I have talked to 100s of engineers if not 1000s.

In the last 6-8 years, the concepts of distributed systems and microservices have increasingly become very common and almost every engineer at any level (junior, mid or senior) seems to have built distributed systems. I absolutely love it when people talk about these systems they have built but when I dive a bit deeper and reach out for concepts as basic as CAP theorem, the engineers have no idea about them.

Remember, I am not emphasising on the definition of these concepts but their understanding. I myself would give out the definition and explain things to a certain extent. It gets disappointing then! And as I reach out for more conceptual details, things become saddening.

In the race to build systems quickly, we are somewhere missing out on core concepts. It is good to be shipping out code ASAP and building out systems quickly in today’s era of startups. But do take time to reflect back on what is happening behind the scenes from a bird’s eye view as well as from a low level. This experience and the insights learnt from the same is what draws the fine line between just being a coder and being a thoughtful engineer.

To top