A Family Tree of Software Job Titles

(zwischenzugs.com)

143 points | by umerf 5 hours ago ago

63 comments

  • probably_wrong 17 minutes ago

    Recently I spoke to someone who wanted to know what they should call themselves seeing as they never learned software development, formally or otherwise, but that's not stopping them from releasing AI-powered Python projects in GitHub. I suggested Project Manager, but they took offense to that because (I think) they wanted to hear Software Engineer in order to apply to those jobs. My counter-argument was that, legal rules aside, a S.E. should be able to differentiate good code from bad, but my suggestion wasn't super well received.

    The point being: I'm always amazed at the cross-purpose impulse of arguing "the title is not important" while, simultaneously, really wanting to use the title.

  • siva7 3 hours ago

    Scrum and Agile seem to be dying. I had a Product Owner and Scrum Master cert for years on my resume but i've dropped it from my current. Feels now like the ancient webmaster title of the mid 90s. Made for another timeline which is not more relevant.

    DevOps is another sad story as it was a saner approach to get people skilled for both dev and ops but turns out people don't like learning new skills as much as they claim. So its meaning differed from org to org and even within the same company.

    • nkmnz an hour ago

      DevOps should be a guiding principle for the organization, not a dedicated role. Every developer (or at least: every team) should be able to

      - speak to production users

      - ship to production

      - monitor and learn from production usage

      You don't need "devopsy" skills to do that, rather organizational structures that allow for incremental change. FWIW, deployments could still be a 2005-like upload via FTP, and the benefits of DevOps could still be reaped.

      • Tanjreeve an hour ago

        Was that not the OPs point too about it being a sad story and many Devs not being capable of learning to run software outside of an IDE?

      • 999900000999 33 minutes ago

        So jack of all trades master of none?

        We’re seeing the same thing with QA. I guess developers can QA their own deliverables.

        Leaving out the key fact that the vast majority of developers have no interest in testing stuff. And thus you end up “testing in prod” like with Microsoft projects.

        It’s not a coincidence Microsoft’s software quality has collapsed since they’ve eliminated dedicated QA/SDET roles.

        • Insimwytim 17 minutes ago

              A programmer has to be able to demonstrate that his program has the required properties. If this comes as an afterthought, it is all but certain that he won't be able to meet this obligation: only if he allows this obligation to influence his design, there is hope he can meet it. Pure a posteriori verification denies you that wholesome influence and is therefore putting the cart before the horse, but that is exactly what happens in the software houses where "programming" and "quality assurance" are done by different groups. [Needless to say, those houses deliver without warranty.]
          
          (c) Dijkstra

          https://www.cs.utexas.edu/~EWD/transcriptions/EWD13xx/EWD130...

          • IsTom 8 minutes ago

            While I agree with this, in a lot of software there's more to verify than just being correct. Unless there's a separate and rigid UI/UX spec then there's also matter of things being intuitive to use etc. which may vary from person to person and the one making the thing might not have the same sensibilities as the users.

    • Aurornis 2 hours ago

      > but turns out people don't like learning new skills as much as they claim. So its meaning differed from org to org and even within the same company.

      Titles like these always mean something different from company to company.

      Even “product manager” has had different meanings at my different employers, some times with major consequences for people who got hired into those roles expecting to do one type of work and then being evaluated on different expectations.

      For DevOps, there were a lot of unrealistic expectations from everyone who saw the word and assumed they knew what it meant. I saw a lot of engineering leaders come up with completely different expectations for DevOps roles, but when the chaos arrived most of them reduced the DevOps people into the responsible-for-everything people, which just burned people out.

      • skeeter2020 2 hours ago

        I think pure Product Manager - idea person and feature gate - as a role has limited days left, but Technical Product Manager - often people with recent dev experience and strong tech chops who can build a lot with AI - might be the new role.

        • mjr00 an hour ago

          > I think pure Product Manager - idea person and feature gate - as a role has limited days left, but Technical Product Manager - often people with recent dev experience and strong tech chops who can build a lot with AI - might be the new role.

          This depends on the org, but product managers I've worked with spend a lot of time speaking directly with users, particularly in B2B shops. Between speaking with customers and communicating product plans both upwards (to GMs/VPs/exec etc) and outwards (to your own team + external teams) you really shouldn't have a lot of time to build anything as a PM, even with AI.

    • marssaxman 3 hours ago

      A dev can very much enjoy learning new skills without feeling any desire for the pressure and burden of having to deal with ops.

      • cadamsdotcom an hour ago

        Ops is when what you made collides with reality. Replacing "ops" in your post with "reality" gave me a good chuckle.

        • lowbloodsugar an hour ago

          Now I'm reading every comment here, substituting "Ops" with "Reality" and it's hilarious.

      • Viliam1234 an hour ago

        Exactly. The field is already too complicated, you can learn a lot without learning literally everything.

        Actually, no one learns literally everything. "DevOps" mean that developers should prioritize learning ops over learning deeper something else (because ultimately there are only 24 hours in a day). Which sounds crazy to me; it would be better if the team had experts on different things cooperating together, rather than everyone being mediocre at everything.

        That said, companies love replaceable people, or at least they love to imagine that everyone is replaceable. So when everyone becomes DevSecOpsCloudAccountantJanitor, it feels like as long at they keep one such person in the company, they got everything covered.

    • makeitdouble 2 hours ago

      DevOps'issue IMHO is developing software and dealing with the ops side are two fundamentally different propositions, and require two different life styles.

      Doing ops also means entering the on-call rotations, being in the war room when a data center goes under and being on the hook when a DDOS brings down the service.

      Very few people want that in their life, money be damned. Same way in an ideal world devs should also participate in customer support, but very few could really do it or handle that for years.

      • viraptor an hour ago

        > being in the war room when a data center goes under

        When doesn't this involve devs? If you have ops separate and isolated from the development effort, a devs representation will have to get involved at some point.

      • skeeter2020 2 hours ago

        Last team I was on was repsonsible for supporting and maintaining their product, with help from the SRE team. It means after-hours support for issues and (maybe) releases but I think this was the right way. You became the backstop and support resource for things like data center outages and DDOS attacks that were largely the responsiblity of the (much smaller than many places) SRE team. We also put devs very closely behind front-line customer facing staff where it made sense (ex: reporting & analytics - yes, platform - probably not). It made the devs better and they might try and deny it but I think most of them actually appreciated it. #YMMV

      • lowbloodsugar an hour ago

        >DevOps'issue IMHO is developing software and dealing with the ops side are two fundamentally different propositions

        That's why they have to be the same team. Your dev team needs to: 1. understand how to write code that can be debugged and recovered in a crisis, 2. learn to write code that doesn't cause the crisis in the first place, 3. have the motivation to do so because they will be the ones paged.

        Anything else produces are far worse experience for everyone involved, especially customers.

        The problem I've seen with DevOps is that some fief-builder sets up a "DevOps Organization", which is literally the opposite of what DevOps means.

      • mjr00 an hour ago

        > DevOps'issue IMHO is developing software and dealing with the ops side are two fundamentally different propositions, and require two different life styles. Doing ops also means entering the on-call rotations, being in the war room when a data center goes under and being on the hook when a DDOS brings down the service.

        That's exactly the issue that DevOps aims to solve, though. When you have developers who have no ownership or responsibility once the software is running on production, it becomes a "throw it over the fence" situation, and devs don't care about the operational side.

        Logging? Who needs that, if there's a bug report I'll reproduce it on my local machine (and if I can't, CLOSE-WONTFIX!) Performance monitoring? That's an ops problem, tell 'em to buy better hardware. Application crashes? Works on my machine, probably a bug in the server config; ops problem. Tell them to set up a scheduled restart every hour.

        You still need dedicated operations staff who deal with the overall system health and design, but yes, a developer needs to be involved when a DDOS brings down the service, because how should the system behave under heavy traffic? Can it serve up cached read-only pages? Did someone find a very CPU-intensive public endpoint that is being exploited and needs to be fixed? Only your developers can answer this question, not the ops team.

    • mikepurvis 3 hours ago

      As someone who has been in the "robot devops" space for like a decade now, I think with robot companies it becomes particularly acute because:

      - Ops for cloud services and ops for deployed robots are very different beasts, so it's really two different teams that could both reasonably be "devops".

      - Ops/tools for robot developers is different since you're often dealing with simulation environments (local, cloud) and also managing access to a more constrained pool of test hardware, all of which needs to be able to quickly recover and restore itself to factory state after developers or their code have done unspeakable things.

      - Deployed units are often the worst of both worlds between multiple domains. You've got the big deployment assets of a data center but without the big data pipe; nothing is virtualized so you can't just throw away a node that goes bad; you're stuck supporting hardware snowflakes (here's a text file somewhere with the list of units that have bad CPU fans and need different frequency caps); it's like IOT but with the power and disk and observability requirements of a real server.

  • stroebs 4 hours ago

    So far in my career:

    - DevOps Engineer (Junior, Senior, Staff)

    - Systems Development Engineer

    - DevOps Team Manager

    - Cloud Infrastructure Engineer

    - Site Reliability Engineer (+Lead)

    All have been meaningless except for Cloud Infrastructure Engineer. The rest described a generalist who knows how to deal with ambiguity and (usually) has the trust with things like AWS root account credentials. Most organisations have no idea what real DevOps is. If they did, they wouldn’t hire for a “DevOps Engineer”

    • groestl 4 hours ago

      DevOps requires tooling and infrastructure, and at a certain size, a dedicated DevOps Engineer optimizes that tooling. What's wrong with that?

      • aduty 41 minutes ago

        Most places mean someone who does development and operations. They see it as a term for someone who has responsibilities on both sides, not a specialty.

  • gmoque 2 hours ago

    I enjoyed looking back at my 20 year career through roles. I've done a few of them crossing domains twice. The tree should be seen as a constant evolving graph. There will be a plethora of new roles in the coming years.

    For those who think Software Engineering roles are extinguishing, they just need to realize roles will evolve into something new. My current role (SRE) was a nascent niche at the start of my career and I didn't even know about it for many years.

    • tortasaur 2 hours ago

      Very few think that SWE roles will completely disappear. The main concern is that whatever it evolves into, the world will need far fewer.

  • verall an hour ago

    The chart has "Systems Engineer" and "Systems Programmer" and te text even calls out different meanings of "systems engineer", but it misses both the independent field of systems engineering, which is not a software job and all, and the title "systems software engineer", which are SW engineers that write "systems software" i.e. drivers, kernel, OS.

  • thomasqbrady 15 minutes ago

    Where my Design Engineers/Design Technologists at?

  • jensgk an hour ago

    Before data scientist, there was data miner or data mining engineer.

  • estetlinus an hour ago

    I’ve not been in the industry that long, but feel it’s so awkward that devops is in the operations silo. What happened with Development & Operations? Every place I’m at, the devops team is a bottleneck and everyone kind of accepts it.

  • temporallobe an hour ago

    I’ve always been “software engineer” or some variant thereof, but always with the implication that you pick up any tech stack and learn it well enough to be productive. Often it was not the new programming language(s) that were challenging, but some really difficult black box tool (API, platform, database, framework, etc.), and even MORE challenging, the unnecessarily complex development environment.

  • smcleod an hour ago

    In my 20 years I've been the following (in order):

      - Technician
      - Systems Engineer
      - Senior Platform Engineer
      - Lead Platform Engineer
      - Principal AI Engineer
  • chadk an hour ago

    Surprised “Web Designer” didn’t make the cut. That is what we were often called between being a Webmaster and Web Developer.

  • torh 4 hours ago

    I can't see Operations Manager listed, yet I've had that title for the last 15(?) years.

    • NikolaNovak 4 hours ago

      I've had the title on and off since 2018, I assume we are pretending with DevOps that pure operations / ops management doesn't exist 0:-)

      More charitably though, I think they are not focusing on operations despite it being one of the categories - I don't see incident coordinator / manager, problem manager, etc either.

  • Zaheer an hour ago

    Co-founder of Levels.fyi here. We think about this problem space a lot in developing our own taxonomy: https://www.levels.fyi/t

    One of the hardest things is that the same title (and level) can mean very different things across companies, industries and over time. When collecting pay information, we take great care to merge titles that mean the same thing while distinguishing those that don't. There's other edge cases like at some companies a title will be more specific (Security Engineer), while at others they'll retain the general title (Software Engineer) but specialize in the same thing (Security).

    Claude has been really helpful in wrangling this all and expanding our taxonomy :)

  • yieldcrv 10 minutes ago

    I a/b test titles on my linkedin every other month to the trendiest of trendiest terms

    sometimes I hypothesize terms and roles, like a astro physicist imagining celestial objects that cant be detected for another 100 years

    and that works too sometimes, you have to assume there is a mismatch between what employers want and what talent does

    my background remains the same just what I’ve been doing the last 2 years gets radically reimagined

  • jsrcout 3 hours ago

    It's fascinating seeing all these in one place with the relationships and over time. I'd love to see one with the less formal titles (I like to go by "developer" personally though it's not my job title), but it would be gigantic.

  • ykl an hour ago

    Where does “Member of Technical Staff” fit on this tree? At the bottom should all arrows just feed into “Member of Technical Staff”?

  • backend_dev82 4 hours ago

    Would be nice if I could actually see it. I cannot zoom in, zoom out or do anything with it.

  • littlexsparkee 3 hours ago

    IME, you see changes in numbers over time but the titles data analyst, data engineer, analytics engineer, data scientist are all still around. data platform engineer or SWE data seems to be stable as a systems role but anecdotally there is less demand for data roles now due to AI (either believed capability or deferred hiring to understand near term needs).

  • dmd 2 hours ago

    My first paid job, at 21, in 1999, was "Senior Network Operations Engineer".

    I've never been able to take "senior" seriously since.

  • oldjohnnylane 23 minutes ago

    I worked in SWE for 35 years and the only titles I was given were: junior, senior, staff, senior staff, principal, lead principal, and senior principal. All followed by “software engineer”. I guess I never worked at companies that used all these fancy names.

  • kristianc 3 hours ago

    > In 1947 coding was the clerical bit, and the real work was in the planning.

    A tale which of course, flatters the planners…

    • jsrcout 3 hours ago

      Heh heh. Meanwhile in 2026, the developers are doing the real work, including those heavily employing AI. Which flatters me :-)

  • zekenie 3 hours ago

    Where’s member of technical staff?

  • lorenzohess 2 hours ago

    Where is Prompt Engineer?

  • bee_rider 4 hours ago

    Software is mostly human-defined. The complexity mostly comes from understanding the meaning of a large corpus of existing text, and then building your thing on top of existing human-created conventions. Therefore, I suggest we start calling ourselves Software Lawyers, Software Judges, and Software Legislators. This is a much more sensible set of titles than “software engineer” and “architect,” and it will probably cause less confusion and pointless bickering.

  • ctrlaltdileep 4 hours ago

    This was interesting to look at. I know it's not supposed to be perfect but it certainly does make one think about the career routes available. What surprised me was how short the path was for security to getting into the C-Suite. Although I do feel like most people become security analysts, then ISOs. Also I didn't realize that tape librarians were still a thing.

  • weinzierl 2 hours ago

    As a kid I always wanted to be a SysOp. Not that I knew what it was, all I knew was it had to do with computers and sounded cool. That was enough.

  • yuppiepuppie 2 hours ago

    These days I half-jokingly (it’s on my slack profile “position” field) refer to my self as a Serious Product Vibe’ineer.

    Where does this fit in on the chart?

  • andreygrehov an hour ago

    Member of Technical Staff is missing

  • xstas1 2 hours ago

    What's the source of this data?

  • ichorio 2 hours ago

    Jokes on you, I'm a Senior Systems Engineer.

  • tayo42 4 hours ago

    > When I’m asked what the difference is between a DevOps engineer, an SRE and a platform engineer, the honest answer is always a little history lesson. This is the shortest version of that lesson I’ve managed so far.

    Unless you talk to a recruiter and they say something like your more of a SRE then a DevOps engineer and we really need a devops engineer. Insansity

  • livinglist 2 hours ago

    I think there should be more domains included other than mobile/backend/frontend, there’s software engineers working on robotics/graphics/aviation but not necessarily embedded engineer