DEV Community

Cover image for 19 Types of Developers Explained

19 Types of Developers Explained

Lorenzo Pasqualis on October 19, 2017

This post was first published on CoderHood as 19 Types of Developers Explained. CoderHood is a blog dedicated to the human dimension of software en...
Collapse
 
eljayadobe profile image
Eljay-Adobe

I'm definitely a category #16 developer. Shhhh.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

LOL, did I really skip one?? :) :) Wow.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Fixed :)

Collapse
 
eljayadobe profile image
Eljay-Adobe

Now I'm category #6. So much for my former ninja category. ;-)

Collapse
 
palpie profile image
Peter Hedberg

I would like to add the "Small business developer". But that's actually a combination of multiple types. At my current position in the small business I work in, I am a full-stack, middle-tier, web, desktop, high-level, low-level and mobile developer.

Collapse
 
bgadrian profile image
Adrian B.G.

That's called #17 slavery 😂, been there done that for years. Except for good startup experience it doesn't worth it 😔.

Collapse
 
bgadrian profile image
Adrian B.G.

Big Data Developer - is actually called Data Engineer, is basically the tech support for the Data Scientist.

Collapse
 
burzumumbra profile image
Ronald Flores Sequeira

Really clear descriptions. What do you think of aiming for being Full-Stack + Data Science developer?

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

It is a good choice. I think there is a great future in that area.

Collapse
 
bgadrian profile image
Adrian B.G.

Data Science doesn't do much developing, both jobs occupy more than a full time job so it would be hard. Also the skills needed are very different.

Collapse
 
burzumumbra profile image
Ronald Flores Sequeira

Thanks for the replys, I really appreciate it.

Collapse
 
bousquetn profile image
Nicolas Bousquet • Edited

To me, you'll not be able to be fully accomplished in all.

I consider that to be an expert in one subject you'll have to work almost full time on that for 5-10 years. Already to do that, you'll have to be quite motivated, maybe work more than others or be quite smarter. You'll already be above average as many just have 10 time one year experience and never 1 time 10 year experience on a subject.

Doing the same for 3 subjects (full stack actually is frontend + backend), you'll become "outdated" in a topic by the time you master another one.

For backend dev, 10 year ago for example almost nobody was designing mostly immutable backend, almost nobody where building reactive backends, NoSQL databases were not that well known. People where still focussing on pure object oriented and ignoring functional programming. There was still the idea that most website could run on a few machine and that a few thousand query per second was a lot.

For data science, big data was almost unheard of, the first websites to do that were pionnier in the industry and the tooling was different as well the technique. Now "deep learning" is all the rage while ten year ago, it was more just basic statistics. Also a company that started maybe asked their existing software dev workhorse to do it, while now, more and more they hire phd in math/statistics. Because the typical software developper does have the necessary academic background on they subject to really master the topic.

For UI, 10 years ago many companies where still thinking they could avoid javascript and web UI weren't that responsive. For advanced interrection you used flash and frameworks trying to hide the browser from you so you could develop things like if it was a desktop app where all the rage. Support for mobile was anedoctic with the first iphone barely out.

If you do 3 at the same time, you may manage to maybe be great in one of the area at best and average in the other two. And it will still take you some time and you'll have to be above average to achieve that.

This is a valid carrier path, a generalist, jack of all trades and would work especially well in small companies and small projets where you may have to do everything.

But you are unlikely to be a master in any of the areas without fading in the other 2.

Collapse
 
dankwansere profile image
Dankwansere

Amazing list, very descriptive and clearly explains each position. I feel as a developer sometimes it's hard to learn most things and you constantly have to be learning to keep up to date even outside of work hours. I'm a Full stack developer, and I always spend about 2 or 3 hours every day after work to learn new frameworks, or work on my own side projects, although I love it, sometimes I wonder what is the best approach if you want to master being a full stack developer?

Collapse
 
datacharmer profile image
Giuseppe Maxia

For #14, I think the description could be improved. There are actually two types of developers for testing:

  • Developers of the first type write software that proves the specifications, challenges the boundaries, and covers all known cases defined in the specs or inferred from them;
  • Devs of the second type write testing software that exploits the system, facilitates its usage in uncommon situations, and charts new ways of using the systems, even in directions that were never thought possible before.

While the first type focuses on validating the system, the second one is always on the look out for ways of breaking or enhancing it. The second type usually finds the most entertaining bugs!

Collapse
 
rysilva profile image
Ryan Silva

I've been wanting to write about the different kinds of developers as sliced by personality type, but I don't know that I could quite pull it off. Two that I've thought of are the visionary (someone who sees the big picture and pushes/inspires colleagues) and the doer (someone who sees the small details and excels at getting stuff done). The two need each other. I'm sure there are more though!

Collapse
 
kodikos profile image
Jodi Winters

I thought it might have been about this kind of breakdown - like the Myers Biggs applied to developers. But maybe those aren't quite as useful (just redescribing MB types) - looking at the sorts of endeavours that developers pursue to get the job done could be a good examination. I, for example, tend to collaborate (training/pairing/etc) and use Agile. This seems to be a little removed from the typical developer traits since I spend so much of my time trying to pursuade devs away from their headphones! But, respect to the headphoners too. It's important that people are working they way they want to, as long as they've had the experience of the different types of approach. An examination into these types of approaches may say something, and highlight differences in working environments and highlight that productivity is maximized not just by the 9-5'ers.

Collapse
 
dasjestyr profile image
Jeremy Stafford

While they are not "developers", I feel like it would have been beneficial to include UX Designer and Web Designer since these are often things you see in a software company and some still don't know the difference between a developer and a designer.

Collapse
 
brainwipe profile image
Rob Lang

I've seen serverless Devs too. It's not really back end because they run code directly in a server architecture like Lambda. It requires a different skill set to traditional backend Devs.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis • Edited

Thank you. That's interesting. I still see that as a back-end developer.. mostly because it is not front-end :) I haven't seen people who specialize in serverless work so far, but it is interesting to hear that it is happening. The world is moving in that direction for sure, and I fully expect that in the next few years most back-end code (or... "not front-end code") will be running on virtualized environments that abstract the concept of a server out of the equation.

Collapse
 
brainwipe profile image
Rob Lang

It's not really backend though because the serverless Devs don't need to understand anything of the hosting/http infrastructure and the code they were looks like front end.

It's not docker. If call that backend because you need to understand the hosting environment.

If you're going to split out Wordpress, then there is definitely a place for serverless.

Collapse
 
reyabreu profile image
Reynaldo Jose Abreu

shout-out to #2 and #3-ers out there

Collapse
 
binarypatrick profile image
BinaryPatrick • Edited

Now where is my buzzfeed quiz to show me which one I am?

Collapse
 
mmunier44 profile image
Michael Munier

Great descriptions, I just forwarded this article to my non-developer friends and family that are all wondering why this someone would pivot from a successful career in finance to web dev.

Collapse
 
nerdhardware profile image
Olayiwola Ayinde

Embedded system developer do more of the computer programming and it's hardware design architecture. We build it, other software developer learn how to use it.

Collapse
 
damcosset profile image
Damien Cosset

Nice overview.

I don't really know why, but Security Developer has a certain appeal to me. I suppose the skills #19 have will be in very high demand in the future? ( If it's not already? )

Collapse
 
lprefontaine profile image
Luc Préfontaine • Edited

No mention of any business skills. Hardly complete.

Collapse
 
moriahmaney profile image
Moriah Maney

Thank you for including SDETs in this list!

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

You are so welcome!! SDETs are essential, IMO.

Collapse
 
shalokshalom profile image
ShalokShalom

20 Modern Front End Designer - Uses the Elm Architecture like Elmish

Collapse
 
leswile profile image
Jens

I have no idea which category I am ...
Kind of 17 but not really, mostly working with Fortran, OpenMP and MPI on simulation codes.
How about a 20th category, the physicist? xD

Collapse
 
alinpopa profile image
Alin Popa

I think that Linux/Kernel (or maybe systems ) devs should also be mentioned here?