I stayed up too late collecting way-past-deadline papers and writing report cards. When I woke up at 6, this anxious email from one of my 11CS students was already in my Inbox.
Student: Hello Mr. Carle, I hope you've slept well; I haven't.
I've been seeing a lot of new media regarding how developed AI has become in software programming, most relevantly videos about NVIDIA's new artificial intelligence software developer, Devin.
Things like these are almost disheartening for me to see as I try (and struggle) to get better at coding and developing software. It feels like I'll never use the information that I learn in your class outside of high school because I can just ask an AI to write complex programs, and it will do it much faster than I would.
I'd like to know what your thoughts on this are. Do you think AI will replace human software developers, as NVIDIA claims it will?
My response: Buddy, that is a big question for 5:15 am.
First AI horizon thoughts:
- Software development as a field will look incredibly different in 10 years.
- My priors say that MOST of human intellectual+economic activity will ALSO be radically different in 10 years.
- I have a very small p(doom) for the 10 year horizon. That means I don't expect human-equivalent AGIs to completely disrupt human civilisation within 10 years.
- The delta between how fast AI will affect software engineering and how fast AI will transform other (roughly speaking) white collar careers is relatively small. That means I think the AI affect on say, hedge fund management and software engineering to be similar.
Then some priors I have for teaching IB Computer Science in the middle of this take-off:
- I don't think becoming a software engineer is the modal outcome for IBCS students
- I believe that most long term personal utility from IBCS (or any other intro CS exposure) comes from shifting a student's mental model of how the modern social and economic system interacts with / depends on these technologies.
- While the modern Ai tools are light years beyond the simple Von Neumann CPU models and intro Python we're studying, it does address the foundations of those systems. Similarly, HL Analysis and HL Physics don't cover anything about the math and physics that underpin these huge ML systems, but that foundation IS there. You can't approach the superstructure without it.
So, in summary, if your concern is "the world seems to be changing fast. This class is hard, and I don't think there's any chance that I will find a 2022 Novice SoftwareDev job when I'm out of university in 2029" I would strongly agree with that sentiment.
I have a Ron Swanson detachment on the important of formal schooling. If your question was "is a traditional education sequence the best way to prepare myself for the turbulent AI takeoff period," then I strongly disagree with that statement. Education is intrinsically reflective and backward looking.
But I'm employed as a high school teacher. And your parents have decided to live here and send you to this school . So, I'm not sure if advice on that axis is actionable for either of us. There's also a huge chasm between "this isn't be best of all possible options" and "this has zero value."
If I reframed your statement as "given that I'm in this limited option IB program, what classes will provide me the best foundation to find opportunities and make novel insights in the turbulent AI takeoff period" I would feel confident recommending IBCS.
That doesn't make learning to code any easier.
Is that a good answer to a 17 year old? Is there a good answer to this?
One of the best parts of teaching is watching young people wake up to the real, fundamental issues and challenges of human civilisation and existence. At some point, their eyes open and they're amazed/outraged by the complexity and incompetence that make up our world.
My entire push into MakerEd was largely about getting kids to recognise the complexity of their built world, and that they are all smart enough to remake it. I hope that's still true in 2029.