letter · 26 August 2018 · 2 min
Letter to my colleagues
You might learn a lot, gain more and more knowledge, but a better engineer? An engineer who innovates and thrives on facing the complexity and makes it simpler – for yourself and for the end users. When you dread complexity, your thoughts will linger around the deeper darkness of the unknown. Then you wonder – “My code works in mysterious ways” – the saddest phrase ever uttered by humans. I mean software engineers. Instead of attempting to unravel the truth — of your mysterious code – to free yourself, you quiver at its very sight – the complexity. Then you will work even harder, spin your wheels even harder until it becomes unsustainable spaghetti. Then, unsure of the craters beneath your feet or the deepness right in front of your eyes, you say, ‘they are far deeper’.
Of course, they are, and they will continue to go even further and further and further… beyond your reach – those deeper parts. Then you wonder, why can’t I reach those deeper parts? The answer is, in many cases, you never left enough space for yourself to reach those deeper parts. Even if you left some space in a few parts, you are not sure whether those parts are properly tied, you fear the parts falling on your head whenever you want to travel across and reach and fix those deeper parts – of the complex beast. You can hear the rumbling noises of the beast coming from the deep corners, and cries of crashes, you are afraid to take the torch-light out of your toolkit and use it. From a far distance, from the deep craters created by your hardworking spinning wheels, you watch the massacre helplessly.
You are an engineer, and stupendously clever and capable, for that, you should be proud. All it requires is a little mutation in the thought process. Break down the complexity into smaller pieces [read: separation of concerns], so it will leave enough space for yourself to navigate through them. And nail each one of them, independently, and don’t forget to tie them up [read: with a whole lot of quality tests and the required amount of validations]. Even after all the care, you might still hit blind spots, then in addition to your intelligence, use augmented vision [read: profilers]. And never hesitate to show off your achievements [problems resolved, beautiful pieces of code written, etc.] to your peers, and most importantly don’t forget to celebrate – both your achievements and those of your peers.
Then you know you are on a freeway, better equipped and unstoppable, and the future is yours.
* * *