One of the most confusing things to understand when you start learning to code is all the names and job titles in the industry. You’ll hear terms like coder, developer, software engineer and even the odd ninja - although that trend has thankfully abated!
There is so much jargon in the coding and software development world that it can be hard to even know what to call what you do!
So when are you a coder, a developer or an engineer? Is there any difference? If there is, does it matter? It comes down to where you are writing code.
Coder - Individual
- Knows one or more programming languages
- Solves problems with code
- Works independently
- Understands relevant infrastructure/systems for application deployments
- Uses version control
- Writes tests for personal confidence in codebase
Developer - Team member
- Works in a team
- Writes tests for team and business confidence in code base
- Understands and engages with Agile/project management principles
- Works with project owner/manager/customer/client at the feature level
- Cognisant of business needs and tradeoffs
- Writes documentation for current and future team members
Software Engineer - Broadest scope
- Designs overall architecture of a system
- Works closely with stake holders at the system level
- Implements working practices to maximize team delivery
- Makes far reaching technology decisions that has lasting impact for the code base
Neither is better than the other. These are all about the mode of work you find yourself in and all good developers will find themselves moving fluidly between the roles throughout the career.
In reality the difference is minimal and while you’re learning to code you shouldn’t worry about titles like this. There is no difference in the learning path between the them so stick to your plan and don’t be thrown off course because you think one might be different (or better) than the other.
Remember, every developer is a coder. So, learn to code, solve problems and build things.