Hiring for a Prompt Engineer, or how LLMs (ChatGPT) are already replacing Software Engineering.
Everyone debates whether AI will replace software engineering. I argue that the question we should be answering instead is, "Which software engineering tasks will AI replace?" So, here’s how Large Language Models (LLMs) like ChatGPT are already replacing parts of my software engineering workflows:
LLMs eliminate the need to know low-level code implementations. High-level languages like Python replaced the need to know the low-level implementation details that the OGs of C and Assembly know, but we still read through the documentation for correct syntax and argument types. LLMs abstract that away from us - I tell ChatGPT something like, "I need Pandas code that replaces all instances of 'unknown' with Nulls," and it spits out the correct answer. I didn't have to open documentation or search on Stack Overflow to find the proper syntax and argument types. Sometimes, I don't even read the code it returns - I just paste it in, and it works. So, the new Software Engineers (SWE) might not know what a list or a hash map is because LLMs will replace the need to know that. This is not necessarily a bad thing; it just means that SWEs will have more time to focus on big-picture tasks like architecting solutions and weaving together different parts of LLMs' output, and specific lines of code will be left to the LLMs to complete.
LLMs save time on repetitive monkey tasks. You know those cases when, for example, you are calling the same function many times, and then you decide you want to add an extra parameter, so now you need to find all instances of the call and manually paste in the same new parameter configuration? With an LLM, you can just paste in your code and ask it to do it for you, and it will return the completed code in seconds. No more holding Option/Alt and clicking through your files to place multiple cursors!
LLMs are the new rubber duck. The rubber duck had its reign, but as much as we love and respect it, it just doesn't talk back (and if it does, I have a psychiatrist for you, hmu). LLMs are great at helping you debug. Instead of reading through Stack Overflow, I paste the error message into ChatGPT, and it tells me exactly what the solution is. It's also great at handling complex problems, especially those where you don't get an error message but still don't get the expected output. You can even use it instead of breakpoints - just ask it to show an example and provide output at every step of the logic.
This is definitely a non-exhaustive list, but I think it paints a picture of what the next generation of SWEs is going to look like: they will spend most of their time on prompt engineering and putting together the output from LLMs, rarely delving into the low-level implementation, and having more time to focus on creating architectures and solutions. Eventually, and maybe rather soon, I see a world where AI will be able to interact with development environments like VS Code and call APIs, and at that point, SWEs’ main job will be to scope out the requirements, engineer the prompts, and validate the AI’s output. At that point, I don’t even know why we would still call them “Software Engineers,” sounds more like Prompt Engineers 🤷♂️. So, if you wanna get ahead of the herd, you can start prepping for the role of a Prompt Engineer, which is gonna look like this according to ChatGPT:
Job Description:
As an LLM Prompt Engineer, your primary role will be to craft prompts and questions for our AI systems. You'll help fine-tune the artificial intelligence models that may or may not be creeping ever closer to software engineering tasks. Your job is simple: create prompts and questions that will keep AI systems dependent on your creativity and critical thinking skills for years to come.
Key Responsibilities:
Develop prompts and questions that keep AI from stealing software engineers' jobs.
Ensure that AI systems remain blissfully oblivious to their potential world domination.
Collaborate with our talented team of engineers who will continue to insist that AI is "just a fad."
Qualifications:
A degree in something tech-related (or not, who cares?).
A strong belief that AI could never, ever replace your job (mandatory).
Disclaimer: AI and software engineering can coexist and complement each other, so no need to worry about AI taking over... yet.
After reading this job posting I’m wondering why I even write articles, just gonna let ChatGPT write one for me the next time… Jk jk, human authenticity is the new money in the AI world, so subscribe for more philosophical conundrums from a tech bro in denial.
Cheerios,
Nikita
letter from a tech a bro legggooooo