There are only 2 types of software developers
7 January 2023·
We classify software developers in many ways: Front-end developers, Back-end developers, Full stack developers, Mobile developers, Desktop developers, Cloud developers, Senior developers, Junior developers….
These classifications tell us the developer’s experience but not WHO the developer is.
Who the developer is is just as important as what technology they use. It tells us what’s most important to them and how they approach problems.🧐
I think ultimately we can classify developers into two groups: those that focus on code and those that focus on the customer.
The differences can be summed up in one question:
Would you rather develop features slower with code that’s ‘done right’ or develop features faster with code that’s just ‘good enough’?
How you answer that question determines where you sit on the code customer scale:
Where are you on the scale?
Not sure? take a look at the profiles below and see who you relate to the most:
Code Focused Developers
Code review requirements: Test coverage, Cyclomatic complexity, Design patterns, Code comments, Spaces or tabs, Naming conventions, SOLID principles, DRY….
Specialist: Loves learning the nitty gritty of languages and frameworks so tends to become a specialist in a few technologies. They are amazing at getting the most efficiency out of the tools they use.
Hates: Deploying a feature that isn’t done in the ‘right’ way.
Loves: Refactoring old inefficient code into beautiful performant masterpieces. Setting up their development environment or new project templates.
Favourite book: Clean Code
Customer Focused Developers
Code review requirements: Simple and does the job
Generalist: Happy to learn whatever is needed to get the job done. They know a little about everything so they are perfect for starting new projects or products.
Hates: Working on ‘pointless’ features that no customer will use.
Loves: Delivering features.
Favourite book: The Lean Startup
Neither developer is better
Remember that neither developer is better than the other.
Both have different strengths which makes it important to know where you and others are on the scale.
It’s a cliche but it does take two to tango and it takes two types of developers to produce the best products 💃 🕺