Think of the classic Venn diagram, the intersection of:
1. Things I enjoy doing.
2. Things I am good at doing.
3. Things people value me doing.
The problem with AI is that it potentially changes all three of those bubbles. 1. Sure, AI is powerful, but maybe I don't enjoy coding that way. 2. I'm really good at C++, but I'm not very good at prompting (at least no better than anyone else). 3. No one hires me anymore because AI can do my job cheaper.
The world isn't going to change back, so our task is to figure out the new intersection. This is always hard work, and I have no easy answers.
There seems to be two kinds of people whenever this conversation comes up.
If I take an analogy of two kinds of people who visit Yosemite National Park, person A would refuse to see Glacier Point unless they embark on the long all day hike themselves, while person B would happily drive to the parking lot, get out, take photos with their families and admire the view.
Either person cannot understand the other's, and yet both people will go out of their way to make the other one feel guilty for their approach if pushed.
When they built the parking lot and the roads to get there, it probably upset a lot of people at the time (only speculating). Yet, the park invests and maintains the hiking trails just as well. So if anything, the park takes the very human opinion that you should take the option that works for you, because the view is worth it.
The people who are investing in machine learning are OBSESSED with efficiency. Where I would say, v1 of Co-pilot was entirely conceived as an AI system meant to help ME as a software engineer, claude code is entirely conceived and built to replace ME as a software engineer.
Where co-pilot was a choice that I made, and willingly enabled in my workflow, claude code was forced on me by my employer. In my entire long career, we were always given autonomy to decide what tools and systems we needed to get our jobs done. This was the first time it felt like a few invisible power brokers at the top decided for me.
Anyway, my point in all this ranting, is that, unlike national parks that go out of their way to be accessible for everyone, generative AI has firmly sided with one kind of person's life philosophy at the expense of the others, yet we all still have to work together. Change is hard for sure.
I find that Camp B is a lot more likely to not understand Camp A than the other way around. Both enjoy the outcome of "we made something cool", but Camp A more heavily values the journey to get there, and many in that camp aren't particularly bothered if they didn't actually get there if the journey was good. Camp B was never interested in the journey but absolutely wants an outcome. Unfortunately, the voices of Camp B seem a lot louder, and Camp A can come off like old farts.
The thing about your analogy is that the person in Camp B might seem a bit silly to most people at face value. Even your average person values doing a bit more than sticking to the parking lot in a beautiful national park they may not visit again for decades. The reason I bring this up is that I personally don't begrudge Camp B. How can I not sympathize with people who want to shape reality to their imagination? I understand that.
Where I divorce from Camp B is on the idea that the process behind developing the architecture and the code software is inherently a roadblock and essentially has no value. They produce these specious claims like "code was never the hard part" because they view code as something completely separate from the thing the code produces, which was simply not true because the very nature of code is in describing the thing that it's implementing. The typical Camp B mindset seems to misunderstand or hate this fact of reality, and many of them don't even seem to get that other human minds have other perfectly valid objectives behind the things that they do. There is nothing wrong with becoming a programmer because you enjoy and thrive in the process in writing software, but even before LLMs, we have been increasingly infantilizing that desire because it's not seen as productive or obviously revenue producing. Valuing the process is viewed by outsiders as dilly-dallying when, in actuality, many of the greatest things in not just computer programming but technology and science have been a result of Camp A people investing effort in exploring and executing theory that Camp B has no interest in.
This is why I get pissed off when I hear that "code was never the hard part." It's like, screw you people, my job being paid to write code to satisfy the requirements of my employer/customer was and is hard. What's changed are the requirements; the new requirements are to not give a fuck about quality and sustainability and to maximize speed at which boxes can be ticked for project management. This doesn't mean that making software that's not a piece of shit isn't still a hard problem. There's a dearth of projects built with AI in the last 3 years, the vast majority of which are polished turds that have been completely abandoned by their authors. What does that tell you?
Camp B should, by all means, go ahead and do their thing. I think it's great that technology has made it possible for someone to build an app or a site with no background knowledge or hiring of contractors. What they don't deserve is disrespect Camp A and talk down to them because they find programming to be a nuisance.
> No one hires me anymore because AI can do my job cheaper.
As someone who thinks AI is an incredible tool, I think your job is safe. Are there incompetent companies that are replacing people with AI? Yup... But also, I'm pretty sure most people don't want to work at companies with such poor management anyway? So in a way, I think AI is prefiltering incompetent management for us.
On you other two points: I kinda feel you, but I'm finding ways of enjoying my work with AI. It's been a bit of a shift and I'm still adjusting probably, but it feels like it's getting better. I never really enjoyed "typing" code, but the creative process of designing solutions and building the. And I never thought typing was the "building" part, it was just an unavoidable mechanical "obstacle" (not using the word obstacle as a bad thing necessarily, but idk it's just typing you know?)
Yes--I very much agree with you, and that's what I mean about finding a new intersection.
The job-part of the Venn diagram is, I think, hardest for people because we can't control what companies pay for. I agree that software engineering, as a profession, will continue, but I don't think there will be many jobs that pay you to (e.g.) write C++ by hand.
The trick is finding that new intersection. I actually agree with you that the creative process is the important part--as long as I'm creating, I don't care whether I'm typing code or not.
But I also get that for some people, the typing (or the thinking about what to type) is the important part. They are having a hard time finding the new intersection.
I miss the emotional and problem-solving nature of software development. I am reading classic literature and feel good about it after long hours watching AI generated content. Knowing a person chose every word changes how it feels to read.
>> But also, I'm pretty sure most people don't want to work at companies with such poor management anyway?
Well, I think the issue is that most people, even software developers, don't have the luxury of choosing. Everyone needs to put food on the table, and often times that involves working for companies one dislikes or even hates. The problem is now those companies are turning to AI.
Couldn't disagree more. Here's how I look at it as a person who wrote my code by hand for 15 years. I'm the owner of my own small bootstrapped startup.
1. I've always been enjoyed delivering solutions more than the actual process of programming, and AI just helps me deliver more of that faster. And for the actual process of programming, I found a way of working with AI that makes it enjoyable. I've built my own AI agent coordinator and harness which works the way I want it to. I enjoy working with AI in that harness.
2. It is completely false that you cannot prompt the AI any better than anybody else. The likes of Terrence Tao can prompt ChatGPT to solve Millennium Prize problems in math. But I'm not a professional mathematician, so I cannot do that. Generally speaking, the more deep technical knowledge you have, the stronger prompts you can write because an amateur doesn't even know what to potentially improve. Actual real world productivity with AI is still strongly correlated with deep technical knowledge and experience, and I expect it to stay that way. This has nothing to do with AI capabilities, which I expect will keep gettinf better. This has to do with the fundamental definition of a problem requires expertise to handle it.
3. Jevons paradox suggests that the fact that building software has become cheap now may only increase demand, not decrease it. Sure, traditional software engineering jobs may not look the same. But AI has made it possible to build so many kinds of software that I would have never considered before. Like, for example, I built my own email client, which works exactly the way I want it to. Imagine every company starts building their own operating system, email client, and CRM. I can easily see that happening, and I can actually see it as a net positive as well as a fun thing to watch. And only an increase in job opportunities.
I actually think we agree. My point isn't that "we're all screwed". I do use and like AI, and I don't want to go backwards. My point is that every bubble in the Venn diagram is changing.
You're absolutely right about how each bubble is still there. But they are a different shape now, and the intersection isn't where it used to be. Some of us are still in the intersection; others are not.
1. Things I enjoy doing.
2. Things I am good at doing.
3. Things people value me doing.
The problem with AI is that it potentially changes all three of those bubbles. 1. Sure, AI is powerful, but maybe I don't enjoy coding that way. 2. I'm really good at C++, but I'm not very good at prompting (at least no better than anyone else). 3. No one hires me anymore because AI can do my job cheaper.
The world isn't going to change back, so our task is to figure out the new intersection. This is always hard work, and I have no easy answers.