As a Developer I am beginning to get Nervous about a Future with AI

Written on 2024-03-07 by Adam Drake - 9 min read
Image of As a Developer I am beginning to get Nervous about a Future with AI
I work in the frontend world of software and flirt a little with the backend and some lower level languages. I have embraced AI so far and seen real benefits from it in my day-to-day work. I have used Github Copilot since it was introduced and it’s really helped with certain parts of my workflow. I also pay for ChatGPT and use it fairly regularly too for rubberducking through different problems I encounter throughout the day.
I am not worried it will take our jobs. I still see a need for human developers for the foreseeable future. What I am worried about is the type of work which will be left for human developers as the AI continues to evolve.
I haven’t been worried about AI until recently but the more I have used it the more I am seeing the future we will have with AI. Let me state I am not worried it will take our jobs. I still see a need for human developers for the foreseeable future. What I am worried about is the type of work which will be left for human developers as the AI continues to evolve.
I was motivated to write this article from this Tweet.

AI Is Implementing Details

I was given a task the other day to implement some backend API endpoints in Python. I have very limited experience with Python but I had Github Copilot and ChatGPT in my corner so I wasn’t too intimidated. I have programmed API endpoints in Javascript before so I knew generally what was needed, I just needed some help with the syntax.
With the help of both Github Copilot and ChatGPT it didn’t take me too long to bash something out. Github Copilot was providing useful code snippets in the text editor and whenever I got stuck I could ask ChatGPT for some help. They weren’t the simplest API endpoints in the world but I still managed to get them working and I learnt quite a bit in the process.
However, once it was implemented and working I felt strangely unsatisfied. Even though I had just implemented some semi complex API endpoint in a language I wasn’t familiar with I just felt… a little unfulfilled. I started to ask myself — “What did I as a developer actually bring to the table? Where was my value in this process?” Sure I provided the general direction and an overview of what needed to be implemented but much of the detail was just given to me by AI. I didn’t feel the struggle that I usually felt when implementing something challenging.
We are going to be less and less involved in the implementation details and more and more becoming “Architects”.

AI Is Only Going To Get Better

It was through this process that I caught a glimpse of our future as developers. We are going to be less and less involved in the implementation details and more and more becoming “Architects”. This saddens me on multiple fronts.
  1. I love the details. I am a developer and I love to code and I love getting deep into the details. It’s the details that really matter. It can be a small mistake in a function or a slight tweak to how a particular component can be used that makes or breaks the success some certain feature. As a developer you are paid to notice all the details and make sure all eventualities are covered in these details.
  2. The less we are involved in the implementation details the less we will really know what is going on. If we don’t know how the details are implemented, how long will it take before we don’t know what the AI is actually doing? Humans are designed to take the path of least resistance. As AI gets better and better at the implementation details developers will implement less and less.
Having said this, there is a theory that AI will plateau. After all it’s generative content is based on existing code that is already out there. AI is not innovating at this time, it’s just particularly good and reusing what already exists. Therefore it may not get better and better but instead it may just stagnate leaving innovation for humans.

As Developers We Will Become Lazy

As we lose touch with the details, we will become more and more accustomed to writing sentences in English telling the AI what to do.
  • Loop over this array and remove all the negative values
  • Create a boilerplate API GET request in Python using FastAPI syntax
  • Create a helper function to remove all numbers from a string argument
AI will be able to predict more and more what we actually want to do until it knows we want to remove all the negative values from an Array before we even ask it.
etc etc… I can envision developers getting particularly lazy (in implementation details) as the AI takes over more and more of the details. We will even get lazy with the sentences we use because as humans, we tend to the easiest option.
  • Remove negative values from array
  • GET API endpoint, Python, FastAPI
  • Function — remove numbers from string
You see my point? Also the AI will be able to predict more and more what we actually want to do until it knows we want to remove all the negative values from an Array before we even ask it. The slope is slippery my friends but the snowball is already rolling.
How long till we have no idea how a function is working and we just ask AI to “Give us what we need here”?

Developer Will Always Be Needed

Having said all this I still don’t see how developers are removed from this process altogether. At the end of the day we are the interface between business and the software. We act as translators between Business saying what they want in English and then taking this and transforming it into code so the software does what is required.
What is changing is the type of translating. We as developers are moving closer to the business side and their language and further away from the code language and the software. The AI is essentially squeezing itself in between developers and the code.
I love being productive as much as the next person. However, as I have gotten older I have realised that the journey to your destination is just as important as the destination.

I Actually Really Like To Code

This makes me sad on multiple levels:
  1. I really like coding. I love immersing myself in code. I lose myself for hours at a time in code. I love the explicitness of code. I like the fact that code does EXACTLY what is written. There is no interpreting of the code and the code doing what it “thinks” is requested. Code literally does what is written there and that makes so much sense to me.
  2. The craft of coding will diminish over time. If AI is going to be doing much of the detailed implementation of the code required in the future, developers will naturally lose their abilities. If you don’t use it you lose it. Developers will just get really good at asking AI to implement stuff.

But There Is So Much To Do

One argument I have heard is there is so much for humans to do that AI will help us realise that future quicker. Like living on Mars, creating a whole VR metaverse, curing diseases by AI discovering chemicals to be used in Pharmaceuticals. I get this and on some levels I agree with it. However I think it is missing one crucial point.
Not everything is about the end goal, the journey is just as important.
I love being productive as much as the next person. However, as I have gotten older I have realised that the journey to your destination is just as important as the destination. Invariably, when you do reach you goals they are generally anticlimactic. Not all the time but more often than not. If that is the case, then the journey should also be part of the reward.
Currently I am loving the journey I am on in the Software world. However, I see the landscape changing and changing fast so I am worried the journey will become something that really won’t be enjoyable anymore.

Conclusion

There is plenty of change happening in the Software world at the moment and whenever there is change there is always anxiety and apprehension. Maybe what I have written above will be way off the mark and things will just get better and better in the Software world. Maybe the software world will become even better than it is now.
However, maybe it won’t and I think we need to be aware of that. As developers we should be aware that our day-to-day job could fundamentally change in the near future and your whole skillset will have to shift along with that. Many developers may find themselves doing things that they didn’t sign up for and may want to rethink their careers. I think it’s important with the pace of change happening at the moment that we as developers think deeply about this.
The only thing we can say for certain is that things are changing and things are changing first. Whether the future will be better is still up for debate.

Loading...
Adam Drake AI Selfie

Written by Adam Drake

Adam Drake is a Frontend React Developer who is very passionate about the quality of the web. He lives with his wife and three children in Prague in the Czech Republic.
Adam Drakes Site © 2024