I have been giving a fair bit of thought lately to app developer segmentation. Considering how much money is poured into developer relations, its surprising just how little solid segmentation work has been done in terms of understanding developer roles or personae. I am currently working on a project for a client, and began some rough segmentation work for an internal report I am writing. Then it struck me I should ask the Internet what you think. The list below is not designed to be comprehensive- in fact its more like a first cut. What to call the types is certainly a challenge – on another call with a developer relations client, yesterday, they referred to “bedroom developers” – is that an insult or a compliment?
So here are some types. Please File under “Work In Progress” and please suggest improvements/ideas/more types.
- the “hobbyist” – deeply interested in tech, learning and coding at home. May code in environments related to their daily work, but just as likely to be working in another environment entirely.
- the enterprise timeserver – codes in Java or .NET at work. Switches off at 5:30pm. Only interest is tools that can help get the job done. But not experimental- not polyglot.
- the ISV timeserver – as above, but works at an ISV which is more likely to be interested in current and future, rather than earlier versions of products and technologies.
- the independent web developer – like the hobbyist, but a much closer alignment between “work” and “play” in terms of target environments. Consultants, small agencies, and Shoreditch Roundabout types tend to fall into this category.
- the Big Web Company web developer – again – close aligment of work/play. lives the job. Web companies are increasingly looking at more “enterprise”-like environments to improve QoS.
- the ISV – a software company offering products or services to end customers. Likely to make technical direction decisions on the basis of market and company dynamics, rather than technical factors.
- the Systems Integrator – whether global or regional, this is an important developer type. Developer go to markets for all kinds of firm look to SIs as a crucial channel – its been interesting to see the growth of open source practices in these businesses over the last few years.
- the Agency – often from a design background, expect a lot of Flash skills and talk of user experience
Meanwhile my esteemed colleague Coté took another stab at this recently- addressing the psychological aspects of developer types. He came up with this wonderful list:
- Snarky – believes most people are stupid and need to be ignored or coded around. You may have optimistic snarky people who simply deal with the drudgery of programming by being crass. Sarcasm is soma.
- Optimistic – often smiley, works longer hours, willing to help other people. This is extremely rare, and can be confused with an arrogant-ignorant developer who thinks everything is happy-go-lucky just to get off-shored next week.
- Lots of talk, little code – spends much time on the labor and process around coding, hoping that the smaller amount of time coding is done effectively by the measure twice cut once ideas. An anecdote: a NASA software developer walks into a his managers office, saying it’s great that they finally committed so much code this week. The manager has a dark look on his face, no, he says, think of all the bugs we’re about to discover.
- Craftsman – interested in being better at what they do, but often lacks the tools to measure the betterment, or even get a baseline for how bad or good things are. Instead, they try new developer self-help programs (like Agile, etc.) and are always looking for the new thing that will help them be better.
- Coders – spend most of their time simply coding in, mostly isolation, generating a lot of code. Managers love these types, other developers tend to bad mouth Coders behind their back as (a.) the Coders output amount “ruins the curve,” and, (b.) their code is not always liked by the group.
- I just work here – just there for a good paying job, rarely works on becoming better but is often very dependable in getting work done, if only by using out of date methods.
- Legacy – “this is like CICS all over again” is the kind of sentiment you get from these folks. They continually muse that 20 years ago, they were doing the same thing, except in all upper case.
- Startup-dreamer – works at a “normal” company, but is always trying to start something: a company, an open source project, a service, etc.
- Process-wonk – for these folks, the problem with software is the lack of discipline and group process. They may seem overly bureaucratic, but their trust is that if the group just got their act together, the code would work better. A negative version of this is Cargo Cult, a favorite derisive-term of developers.
- The Debugger – whether they like it or not, this person is good at tracking down bugs. They’re often good at doing performance tuning as well.
- The Baron – a developer who likes to build his own fief, an area of the overall project that no one else understands or can work on. See DBA, network admin, and “security.”
- Architects – charged with being more technical than manager, they’re expected to “lead technically” and know enough about The Business to guide technical decisions. Having been successful developers, they’re often tasked with keeping that up as well.
Of course another cut would be by target environment.
- Linux developers
- PHP developers
- Rails developers
- Dynamic Scripting Language developers
- Mobile Developers – IoS, Android, etc
or by tools choice
- Eclipse developer
- Visual Studio
- Vi/Emacs
and so on. Or perhaps the cut should be by framework, as per the Rails/Node lesson.
And then there are of course the olde worlde distinctions of QA, Release Management etc- the developer/to all technical staff ratio. Or the new categories of the Developer Landgrab
- Agile developers – all about the process, the data, the getting things done. Includes Scrum and extreme programming types.
- Devops – is this actually a developer or a well paid systems operator? Does that matter from a segmentation perspective? Look for chef and or puppet skills.
- NoSQL developers – driving data store heterogeneity. May not really mind relational, but mostly don’t like Oracle.
Never mind herding cats, this is like skinning one!
One final thought on how segmentation is changing. Microsoft, love em or hate em, wrote the book on developer relations at scale. One of the most interesting nuggers of news from its recent MIX conference is that Microsoft will be running a “Developer Conference” in September this year. Eh? Surely this September is about time for the next Microsoft Professional Developer Conference (PDC). Yup – it seems Microsoft has decided that running separate conferences for “Web” and “Professional” Developers makes no sense. Web developers are professional developers. On the other hand – a lot of corporate developers really don’t give a hoot about next gen HTML5 specs or any of that other “web stuff”. Ah – good times.
We’ll see how it goes.
Anyway its more important than ever to understand developers in order to target them more effectively – to understand their motivations, needs and approaches. They are the new kingmakers, after all. So like I say, please help.
disclosure: Microsoft is a client. I totally stole the photo about from the official Google I/O set – which is all rights reserved.
DJ Adams says:
April 28, 2011 at 1:39 pm
Insightful (and I like, and can relate to the CICS “doing the same thing 20 yrs ago except in upper case” thought).
Might I suggest a further type: Chimaera: ERP developer in the daytime, hobbyist Web / Open Sourcer, enjoying a continuum of encouraging success in joining the split personalities together.
DJ Adams says:
April 28, 2011 at 1:45 pm
Heh, I’ve just seen that Wikipedia notes that “Chimaera” is also used to represent “an impossible or foolish fantasy” :-/
Ian Skerrett says:
April 28, 2011 at 2:03 pm
It seems like there are two, maybe three dimensions to consider: 1) the level of engagement of the developer, ie hobbyist, it is my job, I am alpha geek. 2) the developer technical interest/expertise, ie. I do PHP, I do Android, I am a Java developer, I do systems for financial institutions, etc.
Where they work maybe the third dimension but within places like ISV’s or enterprises I think you quickly get back to the first two dimensions of engagement and expertise.
FWIW, I am not sure any segmentation is really that helpful for developer relations. I really think developers want to engage with communities and they tend to identify themselves with communities. For instance, people are Drupal developers or JBoss developers. If you want to reach Drupal developers, you need to be part of the Drupal community.
Kris says:
April 28, 2011 at 3:02 pm
Technical / scientist developers too. Most are probably in the “hobbyist” skill category, but their jobs (research, grad school, professor) require them to code. Most “professional” developers seem to roll their eyes and loathe them, but they are real and significant.
Part of why Python is so popular is because numpy/scipy/matplotlib is a viable replacement for Matlab.
Ben Watson says:
April 30, 2011 at 12:44 pm
Interesting…we are in the process of re-looking at this right now. Thanks for sharing!
Nick Hortovanyi says:
May 2, 2011 at 5:53 am
James, is there a new category of Data Scientist now? One who knows how to leverage cloud based services through APIs, to collate data, to process data efficiently, to sense what is in that data and to present it in context of personae.
James McGovern (McGovernTheory) says:
May 3, 2011 at 4:17 pm
Keep in mind that a person may shift between categories depending on the nature of the current project they are assigned to. I know I am a “hobbyist” when it comes to secure coding practices but otherwise an enterprise timeserver when it comes to other aspects in IT.
Getting it right requires identifying the current and ideal personas and isn’t just about classifying and stereotyping….
Jeff Wiegand says:
May 3, 2011 at 4:23 pm
Independent Web Developer, Optimistic, Architect, BBEdit, Drupal, PHP. I try and help small business connect to the web properly. Plumber? 😉
Anttix says:
May 3, 2011 at 4:49 pm
I guess it all depends on how you want to interact with the developers and what you’re trying to do. Do you want them to engage more? Hit deadlines consistently? Stick to policy? Share debugging tasks? Sell them pizza?
Each of the above scenarios would have you approaching your segmentation differently. You can’t really begin to find the ‘best’ way to segment them until you know what you’re trying to achieve in each case.
Hey, check me; I’ve managed to say the same thing in 3 different ways…
James Governor says:
May 3, 2011 at 5:16 pm
anttix very nice indeed.
@electroponix – plumbing never goes out of fashion
@mcgoverntheory – personae works. its a question of storytelling as much as targeting.
@hortovanyi – certainly an emerging category. the most valuable in silicon valley right now. eBay just announced its hiring another 25. IBM is talking up data science agressively, and bought SPSS as a tools backbone for the ecosystem.
@bitpakkit- you are very welcome. why not share your work?
@kris – that’s fantastic! of course- the academic and scientist developers. super important.
@ianskerrett- not helpful? can you say more about that? when you wanted to target devs for Orion news surely segmentation was extremely important?
@qmacro- everybody loves CICS 😉
@sunilbayarea says:
May 3, 2011 at 5:41 pm
Increasingly seeing DevOps as the blended role in key development teams.
Also – assembler as in Integration developer..who really wires different components together rather than starting from scratch..and runs ant scripts to deploy. very little coding but more configurations and “makefile” tasks..
Ewan says:
May 3, 2011 at 6:29 pm
One area I hadn’t thought about until the last week is the “Untrained, unknowing developer”.
I’ve just found out that my sister is now writing SQL queries to analyse data at her work, in a Microsoft SQL Service client window – not Business Objects or anywhere else you’d expect. She’d never been trained in programming, or even anything more than some advanced Excel manipulation, she was just given some example queries to copy, and off she went.
Why her employer didn’t give her a higher level tool like Business Objects or any of the other “code generator” tools, I’ve no idea, but it’s highlighted the fact to me that there’s lots of business people who are now doing development jobs that IT departments once considered firmly their own.
Quite what will happen if she or one of her untrained colleagues takes down a live database, I’m not sure…
The 7 Kinds of Software Developer Wushu « SmoothSpan Blog says:
May 5, 2011 at 5:32 pm
[…] Governor got me thinking along these lines by asking how to segment developers. He asked whether the web “killed” the professional developer, or at the very least […]
vinesh patel says:
May 5, 2011 at 9:52 pm
don’t forget the “offshore developer”
– consisttency can’t interpret spec’s
– says they’ll do something but then they don’t
– produces more bugs than code
– replaces your entire team
Four short links: 24 May 2011* « Nelson Biagio Jr says:
May 24, 2011 at 9:13 pm
[…] Developer Segmentation: Tell Me What You Think. Or How the Web “Killed” the Professional Develop… – have been giving a fair bit of thought lately to app developer segmentation. Considering how much money is poured into developer relations, its surprising just how little solid segmentation work has been done in terms of understanding developer roles or personae. *Original format by O’Reilly Radar […]
Daily links for 12/02/2011 | Blog | Bob Sutor says:
December 2, 2011 at 4:29 pm
[…] Developer Segmentation: Tell Me What You Think. Or How the Web “Killed” the Professional Develop… […]
划分软件开发人员的两种尺度 | 南龙的小站 says:
July 7, 2012 at 2:35 pm
[…] analyst James Governor takes a shot at creating a taxonomy of developers, with, I assume, people who work in developer relations in mind. I started thinking about how I […]
Linda McFAIL says:
July 2, 2018 at 7:48 pm
Is there an updated version of this discussion using new tools and enviroments?
James Governor says:
July 3, 2018 at 9:18 am
actually no linda. but there should one, shouldn’t there?