I know these kinda questions get asked a lot these days, but hear me out.
I’m a junior-going-on-medior software engineer, graduated last year and have been (more or less) teaching programming for four years.
In my search to find meaning in life, I stumbled into programming and found that there was a lot to learn. I loved it. That’s why I eventually chose to switch careers once I musterred enoigh resources to do so. I chose this job because I like learning and I want to keep learning for the rest of my life. I love the way how learning is an integral part of the programming community and how everyone encourages and stimulates it.
AI has changed the job of an swe, that much I understand. That is not a deal breaker for me, as long as there is still a lot of meaningful, worthwhile, marketable things to learn. I am using AI to learn things faster now, but there is an easy pittfall to actually learn nothing from AI. Some say we don’t have to learn anything anymore, I don’t think that is true, but then what is true?
How is AI affecting the learning aspect of this job? Is learning still an important part of the job? Is there still enough worthwhile things to learn? Is it still valuable to learn more?
Oh man fuck software these days. Like… wrong career path bud. It’s gonna be daily crazy for like 10-20 more years as AI just does everything.
Honestly? Quit now go to nursing school, that is a key to move anywhere in the world and make money.
Edit: I’m a 20+ year developer
It’s easy to pump out lots of shitty, insecure software using LLMs. My hope, however, is that in the future good programmers will use AI to create better, more secure software.
First of all, LLMs still suck at software architecture. It’s up to a human to define the overal architecture and structure of a project.
It will also require a human to define the requirements, constraints and tests a module needs to conform to. With sufficiently clear and restrictive requirements and conatraints, the LLM can then generate and modifie the code until it meets all the requirements and produce something acceptable.
I also expect AI will make formal verification, where you mathematically prove your code meets certain criteria, feasible for more than a handful of projects. It doesn’t really matter if a vibe coded formal proof is unreadable and convoluted. If the proof passes verification your code is correct (assuming your assumptions weren’t wrong).
So IMO useful skills for the future include software architecture, compile-time guarantees and advanced type systems, test-driven development (TDD) and possibly formal verification.
Personally I’m trying to learn Lean 4 and formal verification right now, to see how well AI can assist with proofs.
There’s 2 answers here. What should devs do to remain effective, and what are devs doing in the industry?
As far as staying relevant - still pretty much the same. If you use a technology, you should understand it. Just because the robot is puking out React code doesn’t mean you shouldn’t understand how to write and use React. But you can do more with AI and you don’t need to spend as much time on mundane tasks (like setting up test boilerplate).
There’s a lot of brain rot happening in the industry. Developers are turning into prompt engineers (not a disaster, despite the naysayers), but many are also giving up building an understanding of the code they’re “producing”. That part is dangerous.
If you’re early in your programming career, keep learning things the old fashioned way. AI can help you understand how things work. It’s great if you ask it. Resist just writing a lazy prompt and turning off your brain.
As far as the industry goes… it’s in trouble. The industry is not quite realizing that they way they’re rolling out AI is making junior and intermediate developers redundant. Senior developers can drive an AI to produce things quickly. But they’re all getting old… where are the replacement seniors? It was supposed to be juniors and intermediates that got promoted, but those levels are seeing layoffs or reduced hiring. Something is going to break if this goes on for a few years.
There’s a weird standoff coming where engineers will no longer truly understand the massive systems they built. Instead of knowing stuff, they’ll have to investigate what the hell the AI has written over time. I think the bet leaders are making is that by the time we hit this wall, the AI will be so good at its job that full human understanding is no longer required.
To your question: is it still worth learning? Yes. Always. Even if you interview at the laziest AI software shop, they’re not going to ask if you know how to ask the bot to write a web form. They’re going to ask if you understand what went into your prompts and what the code actually does.
I’m watching everything nervously and skeptically.
As a swe of 10+ years it’s been a whirlwind. Within the past year my job has gone from primarily writing code to primarily reviewing code, be it llm output or code reviews for the team. I think a lot of the learning still stems from a place of changing your thinking from atomic implementation level to systems level thinking and design. Do design docs, talk about your ideas with the team, foster a culture of ownership where even junior engineers can play with architecting micro services if it makes sense. Just because the fun of implementation has been mostly removed from us doesn’t mean we have to stop learning!
Using AI doesn’t mean you shouldn’t learn how the systems you are working on or building work, or what tech stack choices are good for what purposes, or what’s happening under the hood in the systems you’re working on. In fact, learning these things is critical for being able to drive and review work to correct outcomes and efficient operation.
Whilst it might be useful to be aware of certain design patterns, coding concepts, and other low level details of how languages work it’s unlikely you’ll be applying these concepts yourself - but you must still be able to recognise and understand them. They don’t go away in an AI world.
Understanding how things work and when to apply what methods and technologies is still as critical as ever, and is the difference between an engineer using AI on the job, vs an executive vibe coding some shit that doesn’t operate scalably, or work on other computers, or can even be hosted safely.
If you can’t explain what’s happening inside the computer when you run any random line of code, start there. You should know when you’re going to disk, or memory, or network, what the costs are, what happens when async code awaits, when you spawn threads, spawn processes, put sync code in async code, put async code in sync code, what the TCP stack is doing when you send data, what the UDP stack does differently when you send data, why you don’t put slow operations in the main thread, what healthy caching looks like, what happens when unexpected things go wrong and how to handle those situations, why it’s dangerous to try/catch all exceptions instead of just the ones you expect, etc
Software is like poetry, your goal is to find your own voice. LLM sounds nothing like you.


