What's the difference between programmer and IT specialist? The same as the difference between a surgeon and a doctor. Nice one! And can we spot the difference between a programmer, a developer and a software engineer?
Some time ago, this question bothered me so much. I was curious to know why the specialists use disparate names when describing their job positions. What significance does it have for them? Does it imply anything at all? Should it be essential to us, the recruiters?
In one of her articles on Stack Overflow, Rachel Ferrigno wrote that we can pigeonhole people as:
- those who attach importance to job titles
- and those who ignore this issue completely
So what's the specialists' approach to this? A double-sided one, indeed.
Some incline towards specific definitions.
Programmer is a professional who knows how to code. He/she isn't responsible for production of anything new but rather focuses on programming on the basis of existing languages - and gradually becomes an expert.
Programming is considered as a part of Developer's duties. He/she develops software as well, formulates concepts, new features, now and then designs, executes tests, or prepares technical specification.
The term Engineer is more often identified with a professional title. It is presumed that a person possessing it has a solid educational background and the ability to apply the engineering concepts. He/she codes but will also take care of the architecture and programming environment. As an Engineer sees the bigger picture of it (as we can call it), he/she might design or explain it. An Engineer will apply advanced debugging techniques, suggest the best practices concerning application design, etc.
I admit that - by my count - the second group represents a majority. These people lean towards a statement that overall, there's no such difference between the definitions mentioned above. The boundary is subtle hence the names of job positions are used interchangeably. I heard an opinion that digging to find a deeper meaning of this terminology has... no meaning whatsoever.
However, the technical IT people have their likes and dislikes. Some interesting data can be found on Stack Overflow:
Preferred job titles
Should we, the IT recruiters, be influenced by this? Surely it's okay to be aware of the differences. But in my opinion - from a practical point of view - the knowledge doesn't come in handy when searching for potential candidates. It will rather be useful if we formulate a job offer and determine the specialist's role in it.
On the other hand, the companies might have their own policies when it comes to naming job positions. A candidate's professional profile on social media can overlap with his/her agreement.
Anyway, I decided to focus on this topic. Have you ever wonder about it?