When I began my CS degree in 2021, before ChatGPT exists (aging myself a bit here), getting stuck at night usually meant you were just stuck. You read documentation, searched Stack Overflow, dug through old GitHub issues, maybe texted a friend, maybe waited for office hours. Sometimes you lose two hours because you misunderstood one line in an error message. By the time I finished in December 2023, that experience had changed. Not completely, but enough that you could feel the difference in your day to day work. You could paste in the entire trace log, ask a few follow-up questions, get a decent explanation, and keep moving. You could ask for a rough first pass on a script or a component and get a concrete answer in minutes instead of just staring at a blank file thinking about where to start. It sounds like a small difference when I describe it quickly, but it completely changed what learning felt like.
I decided to stay in school after that and finished a master’s in CS and an MBA in 2025. During that stretch, the models got so much better like incredibly better, and I mean better in the practical sense. I mean we went from GPT3.5 to GPT4o (or Claude 1 to Claude Opus 4.6) and they got better at explaining what went wrong, better at getting a prototype off the ground, better at helping you test an idea before you have committed a week of your life to it. So when people started saying CS or that overall Software Engineering was dead, that always sounded a bit off to me. If anything, it made me feel like this is the best time there has ever been to learn programming.
I don’t mean that programming got easy. I’d say it actually say it got harder, considering it is still hard to build things that are correct, reliable, understandable, and worth maintaining. However, It is still easy to fool yourself. It is still possible to spend a whole afternoon chasing a bug that turns out to be embarrassingly small. So really none of that went away. I think what changed is the cost of getting to the interesting part, and that matters a lot when you are learning.
One of the hardest parts of learning programming has always been the amount of friction. As a beginner you rarely are fighting one clean problem at a time. You find yourself fighting syntax, tooling, dependency issues, environment issues, vague docs, weird error messages, and concepts that more experienced people treat as obvious. A lot of people do not quit because they are incapable. They quit because the feedback loop is too slow and too punishing. AI helps with that by making it easier to stay in the game long enough to build understanding. That difference is huge. If you can ask a stupid question at 11 p.m. and get unstuck, you try more things. If you can turn a half-formed idea into a messy prototype in a night, you learn faster. If you can explore without paying such a high setup cost every time, you get more reps. And in programming, overall reps matter.
This is also why I think people are looking at AI and software engineering from the wrong angle. The typical argument is that if models can write code, then programmers matter less. But writing the first draft of code was never the whole job. I’d argue that it might not even be the most valuable part. The valuable part is knowing what should exist in the first place. It is reading a generated answer and noticing that it is brittle, overbuilt, or solving the wrong problem. It is knowing when a demo is hiding a bad system. It is understanding tradeoffs well enough to say, “No, this should not be a service,” or “No, this abstraction is wrong,” or “No, this works on the happy path and nowhere else.” If anything, cheaper code makes judgment more valuable. I would also argue that the broader landscape is coming around to this style of thinking, for example the amount of software engineering openings is increasing:
Figure 1: The number of software engineering job postings has continued to climb since the release of ChatGPT (Source: TrueUp Job Trends)
However, this is not to say that AI (and other factors, such as post-COVID layoffs) has had an impact on job postings as we look at an indexed view of the past five years:
Figure 2: Indexed software developer job postings over the past five years (Source: FRED: IHLIDXUSTPSOFTDEVE)
That is part of why I still think CS matters. Good computer science fundamentals are not becoming obsolete. I’d argue they are becoming more useful. When code can be generated quickly, the person who understands data structures, systems, performance, networking, compilers, operating systems, and debugging has more leverage, not less. They can move faster without being completely fooled by the first thing that compiles and works.
There is a real trap here, though. Easy generation can create fake confidence. A model can give you something that looks finished long before it is actually robust. It can explain things convincingly and still be wrong in a near gaslighting manner. It can write code that passes a quick demo and then turns into a maintenance problem the moment real users touch it. If you use these tools without wanting to understand anything, you can absolutely become a worse engineer. So I do not think this is a golden age for people who want to coast. If your plan was to memorize some framework trivia, crank out boilerplate, and avoid thinking too hard about how computers work, then I actually think the future looks less comfortable. The easy, legible parts of the job are getting cheaper. The parts that require taste, patience, and technical depth are not.
That is a big part of why I still like this field. The work is getting pulled closer to what was always interesting about it. Less ceremony, less waiting around just to test a thought, more iteration, more room for individual curiosity, and more room for small teams to build things that used to require a lot more time and headcount. Small and midsize teams now have a better chance to punch above their weight. A rough first version of a feature can show up in days or weeks instead of disappearing into a backlog for months where you end up forgetting all about it. Internal tools that never would have justified the effort can now get built. A single engineer with a good eye can explore more ideas faster before burning through all their time.
I do not think this means execution no longer matters. It probably matters more. Plenty of people can ship a messy prototype now. Fewer people can turn that into something usable, reliable, and useful. The bar for starting has dropped. The bar for finishing well is higher. That is interesting. In my view, it means the field is rewarding good judgment more than before. It means you can do more as a beginner than earlier generations could, and it means you can do more as a strong engineer too. It also means that learning computer science is still one of the best ways to build durable understanding in a world where more and more of the surface layer is being automated.
Thus, I do not think this is the worst time to get into CS. I think it’s a weird time, a somewhat unstable time as well as demanding. But if you actually like building things, iterating faster than before and learning faster than ever before then I think this is the most exciting time there has ever been to start.