12 April, 2019
The world is becoming increasingly more code-centric. It’s the way of life and it’s not going to change soon. The idea that everyone should at least learn to write code is gaining quite some popularity lately. I strongly believe that not everyone should write code. Quite the contrary. People writing code professionally should really understand the basic principles of software development or our legacy is going to be nothing, but a mess. A very expensive mess.
Imagine if I told you that you should learn to build a house, brew beer or fly a plane. That doesn’t sound too crazy, right? From the common sense perspective it does make sense for everyone to at least know what writing code means. My grandmother just like most of the population on the planet has absolutely no clue what writing code is. To them it’s almost some form of dark magic that pays well. Thus understanding what writing programming code means will expand one’s perspective. Just as having a basic understanding of mathematics, physics, human evolution, biology, geography is at least a nice-to-have unless you are going to be the president of the United States.
Writing code is often used as a synonym for creating software systems. In real-life writing code is only a fraction of what has to be completed in order to deliver and maintain a working system. And funny enough, it is the least important one. Software engineers are always told the seemingly strange stats that fixing a bug in the code is 100 to 1000 times more expensive than doing this at the level of business requirements. As an industry, we don’t need coders. We need proper software engineers who have an in-depth understanding of conflicting stakeholder requirements, software architectural and design patterns, algorithms, databases, etc. etc. Writing code is only one part of the story. Only if you are willing to learn the complete spectrum of the software development process can you become a proper “coder”.