Thriving as a Developer in a Generative AI world

Steve Jones
7 min readSep 6, 2023

Being a developer in the future is going to be different, and there are skills that you should learn to help you survive and thrive in this next iteration of software development. This isn’t about how you use a specific tool, but about how I think this is going to change the profession of software development.

Development isn’t going away

I covered this in more depth elsewhere, but lets just start with the reality check. Generative AI isn’t going to end programming as a career, any more than all of the other advances have done. We will see more people coding, which means more ability to stand out. Will some jobs go? Yup, will new jobs be created? Yup, Yup. The key is understanding where the new jobs are, and staying away from the jobs that are going to disappear.

This isn’t about making one person better

A lot of the pieces around Generative AI today talk about how LLMs can make a single developer more productive. This really misses the point of what Generative AI will do to the profession. There are three groups we need to think about

  1. Jobs that can be mass transformed or replaced by GenAI
  2. New Jobs that will be required due to GenAI
  3. Jobs that will be augmented

If you concentrate just on group 3, you miss out on 1 and 2, which risks you either being a really good person who is about to be automated away, or a person in group 3 who could be doing some new cool stuff in group 2, or I guess worst of all, a really good person in group 1, who could have become a really good initial adopted in group 2.

Some areas are going away

So lets start with the areas that I think are going to be most heavily impacted by Generative AI, the things where I’m not thinking about improving one person’s productivity, but instead of industrializing the whole process through GenAI and creating something different.

Integration — in Application Integration there is little reason to think that Generative AI isn’t going to revolutionize this challenge. A lot of the challenge is in ontology translation, something LLMs excel at, and most of the challenge is relatively linear and formulaic, again well suited to LLMs. Indeed shifting to LLMs could have a significant advantage in that you could shift approaches from REST to GraphQL or Request/Response to Eventing at the modification of a prompt and apply that across everything.

Provisioning & Configuration — are you an expert in the nuances of K8S deployment? Do you know the right keystrokes on Azure to get things working? Well GenAI is absolutely coming for your job.

Stack Overflow Development — do you have your job because you do tasks that can be solved with Google and Stack Overflow? Are you less concerned with the structure of the application and more concerned with a specific routine task that has been done hundreds of times elsewhere? The future isn’t going to need you, because you are part of the IDE.

Coding Framework Expert — are you an expert in React? Can you write out the arcane tricks that get Node.js to work? Are you someone who gets employed because you’ve used a particular framework? Not a great future I’m afraid. The work you do isn’t going away, but the complexity of these current frameworks and the knowledge within them is going to be simplified into prompt languages.

Package Developer — are you an expert in SAP configuration? Do you build SFDC workflows? So do you work within a bounded business problem domain using known and targeted technologies for that domain? Get ready for a lot of retraining and an awful lot less effort to do the same thing you did today, and that won’t be about augmentation, you’ll be building those things differently.

There are other areas that will be impacted, but I can’t see a reason that any of the above are considered as better than a COBOL developer in 2030.

New Jobs that are coming

“We will be programming in natural language”

— Person who doesn’t understand what lawyers are

There will be some elements where pure natural language will be used, but more and more we will see prompt languages that are designed for specific topics, these might be visual languages, psuedo-natural languages, or new types of programming languages that better enable contract based and bounds based solutions to be created. Each of these will certainly require developers, and there are some common themes that will exist that are going to become much more important skills.

Systems Design — Design has dropped out of favour in the past decade and a bit, where in 2000 it was cool, in 2023 it isn’t. Well in a world where AIs will do 50% of the work and systems will be a combination of AI, Process, Goal Orientation, Data, Boundaries and of course People then Design is going to make a come back. The ability to decompose a large problem into a series of smaller problems, to define their boundaries, to defined the contract for those boundaries and then ensure development works within those boundaries is going to be a massively in demand skill.

Prompt Whisperer — I’ve talked about this one before, but people who actually understand how the models work and can, as developers, make them work better are going to be in huge demand. For developers it is a different challenge to model scientists, you aren’t always looking at making the outcomes better but the performance and integration of the model into the overall system. People will build careers on being the best people to integrate certain models into specific areas of the business in a way that best allows other to drive the right outcomes.

Data Security Developer — today data security is managed in target systems, in future it will have to be managed across a business. This means new systems are going to be developed which enable the security model to move with the data, that isn’t going to be trivial. We will see overarching frameworks and policies being created, and most likely an entire industry of developers who know the way to take those frameworks and realize them in specific applications. That is even before we get to the idea of LLMs “unlearning” information, which will just extend the challenge of these jobs.

Trusted AI Development — AI needs guardrails, it needs checking within bounds, it needs fallbacks and graceful degradation options and needs all of that done around the AI itself. Building the rules and solutions that govern and bind AI is going to be a combination of ethics, security, cyber-defense, model science, workflow and integration. There are liable to be significant development careers to be had.

Again, this is far from being an exhaustive list but there is a really core skill that is absolutely going to make a comeback IMO.

Design is going to be back in a big way

One of the things that Generative AI is going to do is give you parts of your code that is 100% Generative, and other parts where you are GenAI assisted, and others where you’ll be all on your own doing things that people haven’t built before. This means that decomposing the solution into these parts is going to be incredibly important. Having a class where 50% of the code is 100% generated, 30% is assisted and 20% new would be a nightmare to maintain, instead you’ll want clear boundaries on the 50% so you can treat GenAI like a compiler that compiles language into code. You’ll also need to be clear on that 30% to make sure you’ve got the right tests in place that ensures the assistance is achieving your aims.

Now scale that over a full-sized application, one where today you have 20+ developers in a series of agile pods, and in future you’ll still have those 20+ developers, but in addition you’ll have:

  • 50% of the codebase that is going to be 100% generative, so that is 20 developers worth of work that you need to very clearly bound and define which GenAI tool or tools is used for each piece
  • A proportion of the work which is “Generative Simple” that is tasks where an average developer can work with Generative AI to create the full solution again being clear on the GenAI approach to be used
  • A proportion of the work which is “Generative Complex” that is tasks where you’ll need your best developers to ensure the right outcomes
  • A proportion which is “Don’t use Generative” either because it isn’t an area where Generative AI performs well, or that due to licensing issues you don’t want Generative AI to be used.

Managing these 20 developers and all of these things is going to require you to understand the problem and draw the design frame. That doesn’t have to take a long time, but it has to be done, this really isn’t something you want to do through just refactoring. Being able to map these things out, define their digital contracts and then from that design generate that 50% straight out seems a fairly obvious evolution that we are going to need.

So learn how to deconstruct problems, learn how to set boundaries, learn how to do design, because GenAI is going to make that sort of job massively more important.

Can you help people navigate the construct of complex systems?

--

--

My job is to make exciting technology dull, because dull means it works. All opinions my own.