Journey of Coder to Developer
Learn the difference between coders and developers. Discover why mastering fundamentals and avoiding shortcuts is key to becoming a true programmer.
I had seen one T-shirt where "developer" and "programmer" are erased and "coder" is written below it. I just remember that and was thinking, why is that so.
The answer is just with me. Every time we start work, the first thing we do is to hit Google. Copy and paste code and make things work. We never bother ourselves why the code is working like that or why I am copying this only. 60 people out of 100 are doing the same. If you are in India, the number may increase to a very dangerous level. The person who is doing this is a coder. We are all coders. The first and foremost target is to complete the task, no matter how, but it should be completed as per the client's requirement. We break all software engineering rules, all coding standards, and with the use of 0.01% of our brain we complete the task. Does this mean we are not doing hard work? Nope. We are doing hard work, but only hard work. Just like a person working in a diamond mine. He is with diamonds, he is doing hard work but can't get the benefit of it.
What if we like to take a shift? What if we want to call ourselves Programmers? I personally prefer some approaches. First and foremost, stop taking help from God Google. Practice on basic languages like C, C++, Perl, etc. Avoid using languages with heavy library support and classic GUI like C#, Java, and please NO VB. I am a big fan of Microsoft. I'm currently using Windows Live Writer for writing this blog and Visual Studio for all my development, but I still believe if you ever dream of joining Microsoft, don't use Microsoft tools, at least in the learning phase. And still, if anyone wants to check his/her talent, go for the GCC compiler of Linux. (Note: Use of Linux in command mode is mandatory). Maybe there will be a question: even though higher level languages are available, why go for basics? The answer is available in the question itself—for the need of basics. It provides a platform for you to explore your creativity. It's all about logic, not language. If one can win a race with an Ambassador, one surely is going to win a race with a Ferrari. Truly speaking, C++ still has that power and charm.
What about the next step? Becoming a Developer. If one is a programmer of at least 3 to 4 years, there will be no need for any special things to become a Developer. It's all about feeling the code. Feeling the software, understanding its need. Giving the best crafted work. I can't provide much detail about it as I am still in the Programmer phase. But I have seen Developers working—they don't just write code, but craft code. Taking every possibility into consideration and giving more agile solutions. It's all about understanding the terminology of software.
If I compare all these in the context of automobiles, a coder is just a driver who doesn't know anything about cars but still drives them. A programmer is like a mechanic who can repair cars but can't create them. While a Developer is just like an automobile engineer who creates cars.
I am running like anything, because my beautiful, sexy, stunning, and gorgeous car is waiting for me.
Frequently Asked Questions
A coder copies code from the internet and makes things work without understanding the underlying logic. A programmer understands how and why code works, practices fundamentals, and follows software engineering principles. A developer goes beyond programming by crafting elegant solutions, considering all possibilities, and creating software with a deep understanding of its needs and terminology.
High-level languages with heavy library support hide the fundamental concepts of programming logic and memory management. By learning with basic languages like C and C++, you build a strong foundation in logic and problem-solving that isn't dependent on any specific language. This approach ensures you develop true programming skills that transfer across any language you later use.
According to the author, becoming a developer requires at least 3 to 4 years of solid programming experience. The transition isn't about learning new tools or technologies, but developing the ability to 'feel the code' and craft solutions that consider multiple possibilities while understanding the software's deeper needs and terminology.
Stop relying on Google and copy-paste solutions; instead, practice fundamental programming concepts with basic languages like C, C++, or Perl using tools like the GCC compiler on Linux in command mode. Focus on understanding logic and the 'why' behind code rather than just making things work, which helps develop true programming capability over time.
The author believes that using tools like GCC compiler and Linux command mode forces you to understand fundamental concepts rather than relying on IDE abstractions and library support. This approach builds stronger problem-solving skills and creativity, making you a better programmer regardless of what tools you use professionally later.