During my time spent working around various startups, HackerNews and other coding-related communities, I've come across 3 kinds of developers.
These 3 are often confused by hiring managers, management and even other developers as belonging to the same species, but I believe they are in fact 3 distinct animals, each with their own ambitions and motivations. Being ignorant of the differences between them tends to create quite a lot of confusion and unnecessary suffering for everyone involved.
Now, this categorisation is spread over a spectrum, and there is always some overlap on an individual basis, but knowing where you or your employees fall will likely help you determine future career paths, optimal motivation strategies, and reduce some of that dreaded imposter syndrome.
The 3 kinds of software developers;
- Master Craftsmen
- Product Makers
- Career Conscious
Let's explore the defining characteristics, motivations and ideal roles for these 3 individuals a bit more.
These are those individuals obsessed with the craft of coding. These are usually the folks most people tend to think of when you refer to "software engineers".
They are usually in possession of impressive degrees(often masters-level or above), and are very, very opinionated in their preferences for programming languages, methodologies and tech-stacks.
They prefer to spend their professional time obsessing over optimising code, performance, and loath to work in environments where there's a lot of shortcuts being made, like not following TDD to the T.
They tend to spend their free time working on open-source projects, studying up on the latests languages, getting excited about the latest framework feature releases, or working on some sort of technical and obscure hobby. They also love the challenge of solving algorithm and logic problems, and work extra hard to become one those mythical 10x engineers.
They only respect their colleagues if they are just as dedicated to their craft as they are, and tend to be very critical of those they view as less intelligent, less capable, or less strict about code quality, best practices and runtime performance.
Master Craftsmen are motivated by;
- Working on the latest tech stacks
- Following strict software engineering principles and methodologies
- Following a clear technical career path where they move up the seniority ladder
- Getting recognition for their skill, knowledge and intelligence
- Working for companies with a reputation for hiring the best and smartest engineers
- Improving, optimising and perfecting codebases to be as optimal as possible
- Only working with and learning from teammates who they consider to be exceptionally smart and capable
- Generally being left alone and allowed to get into a state of flow so that they can do their best work
- Being given clear, reasonable and logical specs and tasks
- Having someone else deal with clients, business problems and non-technical tasks
- Having their income and position scale with their skill, experience and knowledge
- Teaching and mentoring junior developers on how to become the best
- Team/tech leads
- Technical architects
- QA engineers
- DevOps engineer
Product makers are more concerned about making cool and useful products than with the technology used to make them. They care about what product they're working on and how it solves a particular problem over what it's built with or how efficient and "correct" their code is.
They generally don't care about titles, but do tend to identify with being called entrepreneurs, makers or indie-hackers.
They are usually self-taught, come from educational backgrounds that are either business or arts related, and couldn't care less what tech stack they're working with as long as it helps them make cool stuff.
They prefer to spend their professional time building things that people love using, and optimising non-technical things like landing page conversion rates, revenue and coming up with creative products or features that will excite their users.
They tend to spend their free time doing market research, making courses, learning about marketing and SEO, or finding tech and frameworks that will help them reduce the time spent coding.
They are usually more obsessed with being independent in both responsibilities and location, and prefer to work alone. They then to get annoyed with the technical criticisms and obsessions of the Master Craftsmen, and tend to consider them ignorant of what's really important in the product they're building.
Product Makers are motivated by;
- Working independently
- Being allowed to be creative, without technical limitations
- Not being bogged-down with admin, meetings or stack decisions
- Being involved with every aspect of the product, from marketing, design, coding, all the way to the business and finance side of things.
- Being in control of where and when they work on
- Figuring out shortcuts and how to automate tasks to save time
- Having their income scale with product performance
- Product manager/owner
- Freelancer or consultant
- Course creator
The Career Conscious type is concerned mostly with climbing the corporate ladder and increasing their income and status. They strive to join the ranks of management and the executive, and view their role as a software developer as merely a stepping stone towards accomplishing this goal.
They care about making the right impression and networking over the tech stack they use, and do not shy away from throwing in the latest buzzwords to get ahead. They love going to and talking at conferences.
Their educational backgrounds are usually impressive and is likely finance or business related, but could be computer science too. They believe having they right education from the right institution will give the right impression to those that matter.
They like to spend their professional time in meetings and other group activities rather than hide away with their noses in code. They believe this will increase the likelihood of them being seen and heard.
They usually choose the latest cool yet safe and familiar enterprise stacks, and would recommend only well-known and trendy new technologies as a solution to any and all problems to higher-ups.
They're often quite capable as developers, and always stay up to date with the latest trends, even though they tend to stick with safe corporate stacks in their day-to-day jobs.
They move jobs and positions quickly and often, with a strategic aim of getting higher and higher up the status ladder as soon as possible. They aim to collect as much as possible stock, options and professional connections along the way.
In their free time they're usually obsessed with VC culture, industry news and gossip, and love following the latest self-help and motivational gurus. Above all else they value status and prestige.
The Career Conscious are motivated by;
- Being promoted and publicly praised
- Being seen as a leader and managing other people
- Avoiding admin, tasks or work that doesn't directly lead to promotion
- Being involved with the projects that has the highest likelihood of helping them get ahead
- Being in control of what they and those under them work on
- Having their income and prestige scale with their position
- Product manager
- Developer Manager
- Product Sales
- CEO, CTO or COO