I expect for there to be a delay in deployment, but I think ultimately OpenAI is aiming as a near term goal to automate intellectually difficult portions of computer programming. Personally, as someone just getting into the tech industry, this is basically my biggest near-term concern, besides death. At what point might it be viable for most people to do most of what skilled computer programmer does with the help of a large language model, and how much should this hurt salaries and career expectations?
Some thoughts:
- It will probably be less difficult to safely prompt a language model for an individual "LeetCode" function than to write a that function by hand within the next two years. Many more people will be able to do the former than could ever do the latter.
- Yes, reducing the price of software engineering means more software engineering will be done, but it would be extremely odd if this meant software engineer salaries stayed the same, and I expect regulatory barriers to limit the amount that the software industry can grow to fill new niches.
- Architecture seems difficult to automate with large language models, but a ridiculous architecture might be tolerable in some circumstances if your programmers are producing code at the speed GPT4 does.
- Creativity is hard to test, and if former programmers are mostly now hired based on their ability to "innovate" or have interesting psychological characteristics beyond being able to generate code I expect income and jobs to shift away from people with no credentials and skills to people with lots of credentials and political acumen and no skills
- At some point programmers will be sufficiently automated away that the singularity is here. This is not necessarily a comforting thought.
Edit: Many answers contesting the basic premise of the old title, "When will computer programming become an unskilled job?" The title of the post has been updated accordingly.
🤔 So far LLMs don’t seem to be good at the big-picture stuff, so software architecture might be relevant for a while longer. The problem is that most information sources are going to be coming from the perspective of someone that understands code. I’m not really sure what that looks like in a world where the details are just handled.
Maybe Category Theory. Recency bias warning: This could be because I’m currently about 4/5 of the way through a lecture series on the Category Theory for Programmers. Category Theory is basically all about how abstractions can be transformed. As working programming is likely to be done at higher levels of abstraction, this seems relevant.
Honestly, my advice is this: follow what piques your interest. Don’t worry what the field will be like in 5-10 years. We’re likely wrong, and you may as well enjoy the ride. Every piece you pick up will build up to a greater understanding anyways. If you are interested in web development, back-end work will give you a better understanding of architecture, but if you just love front-end, go for it. You can always switch later. It’s good to be a generalist.