Hacker News new | ask | show | jobs
by llbbdd 7 days ago
Short answer: yes. So far it has borne out that AI has substantially raised the floor for software development, but that experienced software developers benefit the most. If you don't really know what you're doing, you can still build useful software today. If you do know what you're doing, you can build useful software faster, more reliably, that performs better. Until AI is writing all the code on earth without a human in the loop, I think that it's going to become increasingly valuable to be the person who knows how to pick up where the machine leaves off.

The part of software development that AI replaces the most is typing. Professional engineers like to say that software development is more than typing, and the important parts are, but the reality is that until very recently typing was still a huge responsibility of the work by percentage of time spent. If you spent a week planning and thinking and diagramming and arguing, whatever you were building was probably going to be weeks of typing. Now you can spend the week thinking and get the typing part done in a day, immediately freeing up more time to do the parts that are still complicated.

Now, the thinking and planning and architecting parts of the job, the parts that involve maintenance and keeping things running, and predicting the future, are taking up a greater chunk of the time. AI is getting better at supplanting some of this, and at acting as a sounding board echoing feedback cultivated by the attitudes of millions of talented engineers, but judging the results is still the hard part, and the best judgement still (for now) comes from knowing how the machine works under the hood. I often will have an approach in mind, and will ask Claude to do something without showing my hand. If its approach deviates from mine, I can evaluate it the same way I would evaluate any other coworker's approach, and determine if it's an improvement or not. Sometimes I'm right and I correct it to get better results. Sometimes I think I'm right and I correct it, only to run into some issue I didn't anticipate but Claude did. I don't know how I would have developed that intuition without programming fully by hand for 20+ years, and I unfortunately don't have a recommendation for how anybody new to the field can develop it now, but it still seems important.

What I can recommend, how I learned, and what I think hasn't changed about learning, is to build something you want to exist. Something you want for yourself or to share with others. Build an app or a game, build a website, make some software nobody else has. But the advice I would have that might go against some grain here: use the tools available. Functional software is the goal; understanding is the process. Use Claude or Codex, write code by hand with VSCode or Vim, copy-paste some code if you need it, watch a stream of someone building something similar. I think that's the reality of the career now and it's not going away anytime soon.

But: even with these superpowers, you will eventually run into an issue that the AI can't fix or understand, where it butts up against the reality you want from the result. It'll get caught in loops where no matter how you prompt it fixes and breaks and fixes and breaks back and forth in the same ways, and that's where you come in. That's your alpha. Figure out what's going wrong by reading the code, read the docs, ask the AI questions about the code, and learn how to correct it. There's a saying that computers are bicycle for the mind, and AI strengthens this metaphor a lot. A bicycle can amplify each of your steps into ten steps, but that's only valuable if you know where you want to go.

All of that said, I can't see the future, and I think we're early to figuring out where the limits of this tech are. It might turn out to be a step change in how we work, or it might ultimately obliterate most office work as we know it. Maybe everybody on HN will be retired or a tradesman in ten years. What I can say is that programming teaches you how to think and how to solve problems; even if this field is unrecognizable in our lifetimes, those are transferrable skills in work and in life, and there are worse ways to spend your education.