Emergency Coding: Getting Things Done When Lives Depend On It
And having a super well-designed product is not the priority.
As software engineers, we are used to thinking of whatever we are building as our baby. It must be perfect. To match every pattern that exists on the internet. To be the most scalable thing ever seen, and not to have any flaws. After all, that’s what we’ve been taught all these years.
But when it comes to an urgent need, let it be a business, social, or health need, building quality code might not be the absolute priority. The speed of development might be much more critical than code-quality.
The Most Famous Battle: Quality vs. Speed
Probably all of you have struggled with this at some point in your lives. Maybe your boss wanted that project that you estimated to take a year to be delivered in six months. And when you did it, he/she complained about the lack of quality.
We can’t have both. And literature tells us that delivering fast will always backfire in your face as you “chose” to be lazy and deliver your product fast when you should be cautious and “do the right thing.” It almost attacks your professional attitude, making you feel like a newbie incapable of doing great things.