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 ... [Read Full]
markdown guide
 

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

 

In my opinion, that is a really good choice, because you can embed Machine Learning models/systems and other data science-related stuffs in a website. This is happening now though, big tech companies engineers are embedding machine learning models on their websites (e.g Google, Facebook, Amazon etc...)

 

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

 

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.

 
 

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.

 
 

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.

 

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

 

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

 

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!

 

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.

 

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?

 

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!

 

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.

 
 

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.

 

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.

 

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.

 

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.

 

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

 

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.

 

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? )

 
 

Is there really such a thing as DevOps Developer? Isn't the goal of devops for full-stack developers to be able to understand the ops pipeline?

 

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

 
 

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

 

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

code of conduct - report abuse