Since I started contributing to a few blogs related to the world of Software Development, I’ve received several emails in which the readers asked me to give them suggestions and recommendations on how to become a Developer. While reading these emails, I noticed each one seemed to have a different reason for wanting to become a Developer, and, unfortunately, my experiences taught me that some of those reasons are the wrong ones. Therefore, I think it’s worth spending a few words in clarifying what such profession involves.
Distinguishing between Programmer and Developer
I often see the two words used interchangeably, when their meaning is actually different:
- A Programmer, in the IT World, is someone who can write a program, which in turn, is a set of instructions interpreted by a machine. The job of a Programmer is similar to the ones of a translator: a person tells the Programmer what they want to achieve, and the he translates into code. As many know, the first Programmers were using punch cards, and their job of “translators” was complicated enough back then. In short, a Programmer is the IT equivalent of a bricklayer, and he won’t go much farther than that.
- A Developer, on the other hand, is a much more complex role. Any Developer worth his salt must be able not only to “talk” to a machine, but also to create solutions that can adapt, to a certain extent, to a variety of problems. Analytical skills are a must for a Developer, and so are interpersonal skills. By the same metaphor used for the Programmer, a Developer is a Master Builder.
From that position, he’ll be able to use his knowledge and experience to advance in his career, eventually becoming a Lead Engineer or an Architect. It’s not a coincidence that these two terms are official titles for experienced Developers.
Due to the complexity of modern software, the Programmer, as a profession, has almost disappeared. I say “almost”, because I personally know some IT people who started in such role several decades ago, and they never evolved. Their main job is to keep together legacy systems (but don’t dare to use the word “legacy” in their presence), and their target is to survive until retirement. Trust me, you don’t want to become one of them. What you should do is start as a Programmer, to learn how to use the tools of trade, and move to a Developer position as soon as you have acquired some experience and self-confidence. With some focused effort, it won’t take long.
Now that you have a clearer idea of what you’d like to become, it’s time to figure out why you would like to do it. In Part 2 and Part 3, I’ll illustrate some of the core attributes of Software Development, to give you a better understanding of what such profession involves.
Let’s now move to Part 2 – What Software Development is.