If you are a non-technical person and you are looking for technical staff for your startup, you may wonder, what is the difference between a developer, and a programmer? There are so many terms to say the same thing. Does it matter what term you use in a job posting?
Working in IT staffing, we get asked this question a lot. To answer this question very simply, the basic difference between a developer and a programmer is that developers are more involved in, and have a greater understanding of, the full project scope, while programmers are involved in one specific part of the project -coding.
To elaborate on this:
Programmer (also referred to as computer programmer, coder):
A programmer converts design into instructions that a computer can follow. They code these instructions using one of many programming languages. They usually know more than one of these languages including Java, C#, PHP, oracle, SQL Server, etc.
A programmer can be specialized: focusing on one type of programming, or general: writing code for many types of software. Typically, programmers work in groups or teams under a senior programmer (team leader) that supervises their work.
There are two types of computer programmers:
application programmers: write programs for specific tasks eg. programs to track inventory at a factory
systems programmers: write programs to maintain computer systems software eg. operating systems, database management systems
A programmers job includes:
- Writing code, testing, and fixing bugs
Developers (also referred to as programmer, software analyst, and software engineer):
Developers are also programmers. The majority of their job is writing code, but they also contribute to many other aspects of the project/software development process. Along with coding, a developers tasks often include:
- software design
- writing documentation and specs
- testing software
- core implementation
Basically, a developer is a programmer first and foremost, but with a lot of other stuff on their plate as well.
Do I need to hire a Developer or a Programmer?
A programmer and a developer are like two different animals. Not all developers are the best programmers. Just because someone is an amazing programmer doesn’t mean they will make an amazing developer. Not all programmers want to be developers. Which one is right for the job you are hiring for? It all depends on the size and needs of your business.
Typically, really great developers are hard to find. Many start out as programmers and work into developer positions. The best ones are tough to keep because they are in high demand in the marketplace. Basically they are programmers with skills in other areas of software development as well. If you are a smaller startup, you might want to consider hiring a developer rather than a programmer, since they will be able to handle more than just coding, but again, this decision depends on what your business needs are.
Generally, when coming up with a job posting, terminology is not that important. For example: web developer, J2EE programmer, Java developer are all interchangeable. However, those in the industry can be picky about their personal job titles, so be wary of how you address a potential new hire.
(*Sidenote: If you are doing an online search for a developer you might find the tilde command we wrote about in a previous blog post quite useful)
What is your job title? How do you prefer to be referred to: programmer, developer, software analyst or engineer, or something else?