AI Replacing Software Engineers? Not Likely Anytime Soon.
In the age of AI, software engineers will still be needed for a very long time. Here’s why.
Despite the hype, we are nowhere close to having fully autonomous AI powered software engineers. At the same time, that does not mean that the technology is useless. Far from it. Here are some regular use cases where AI helps save me development time.
Parsing complex objects. Sometimes it can be annoying to traverse complex objects, such as nested JSON or protobufs. “Here is a JSON object. Write me Python code to extract fields X and Y.”
Converting between file types or formats. Examples include converting streams into standard file formats or color representations such as RGB to HSL.
Writing typical API service boilerplate. Many times, I could dig through my old projects or search the documentation but this method can be faster. A good example is reading or writing to a cloud storage bucket.
Converting between languages or frameworks. “Here is a CURL command. Write this in Python using the Requests library.”
There are a few themes to these use cases:
They are all discrete asks that do not require understanding a larger code base
They are working with very common languages and services
Code correctness can be easily verified
This last point is extremely important, because if you have to spend a lot of time validating AI generated code then you might as well write it yourself. Related to this point, I have had much more success working with AI generated code in languages that I have a lot of experience with. Relying on AI generated code without base knowledge quickly devolves into messy, inefficient and buggy code. It might make a cool demo but it’s a dead end. And this is why software engineers will still be needed for a very long time.