I’m a programmer. Aside from a few odd jobs, programming is all I’ve ever done. I think I’m pretty good at it; people keep wanting to pay me to do it, anyway.
But that’s all going to change. The place where I work has decided to lean into AI-assisted programming in a big way. We’re required to use Github Copilot in our jobs, and we’re tracked on how much AI generated code makes it to a finished product. More is better. Our team is among the best with it; 25% of the generated code makes it into a release. Management wants that number far higher.
My job is right in the crosshairs of AI. Maybe I’m fine with it.
I’m headed to CaptainCon in Rhode Island next weekend, where I’ll be playing Malifaux. I have a new crew — December — and I want to show them off. I’ve been working my butt off painting them (not done yet), and I want to display them at their best while I’m there.
So I thought it would be fun to 3D print a tray designed to securely hold my team, with no wasted spaces. And, being a programmer, I thought it would be fun to make a program that would take as input the number and sizes of positions I wanted, and have it spit out a completed design.
I’ve done similar stuff; back at Archipelago, I wrote a Coulomb’s Law applet (remember applets?) that arranged charged particles in minimum energy configurations. I thought that I could make that work. And then I did a springs simulation when I was working on a mapping program for Colossal Cave Adventure. Both had solutions that were more dynamic than I’d like.
So, I asked ChatGPT (above) to do a little simulation for me. After some discussion and back and forth with different approaches and correcting its errors (it doesn’t know when it makes errors), it popped out this chart:
I was at work for all this, but I thought I could take this further.
When I got home, I asked ChatGPT to take it a step further. I wanted a program that would let me select a circle size and a position and handle overlaps.
And it did, it did just that.
And it fixed it. Tied it up in a bow, too. I asked it to add SVG export, and it did. In the header image, you can see the program running, with the shapes. And then I could import it into a 3D printer slicer as a negative space to a cube primitive and then print it. The picture of those minis — my December crew — show them in a tray designed by the program.
I did a little correction on the program it wrote, but mostly I was content to just tell it the changes I wanted and let it do the work. ChatGPT sets up a collaborative editing environment and works with you on the program.
So yeah. The days when I have to stare at a blank IDE window and type “from collections import defaultdict” or something are pretty much over. I’m looking forward to not having to do that at work. I’m looking forward to being responsible for coming up with ideas and approaches and letting the computer do the grunt work.
Come on, AI. Take my job. I’m pretty sure they’re gonna need someone to tell you what to do. I’ll do that job instead.
The worry I have with this is what happens when all the programmers age out of the work force. Who will be able to correct the AI’s mistakes when everyone has grown up using AI?
Not an issue for me since I’ll be long gone by then, so just kind of a theoretical problem for me.
In the programming biz, we constantly need new junior programmers. It takes a few years to be comfortable enough with the corporate IT environment and coding in general to be confident enough to look at some code and figure out why it doesn’t work.
However, in last year’s Advent of Code, at least two programmers wrote bots that would just loop through the problem until it worked. If there was a compilation or run time error, it would feed that back in. If it came up with an answer but the answer was wrong, it would send that feedback in. I believe the bots got through quite a lot of the puzzles without any human interaction. Not all of them; some were stumpers.
So in the future, you’ll be able to say, for example, build me a 3D shooter with these parameters, like, fantasy with spells on the Moon, and just keep giving it feedback until you have your game.
There’s going to be pushback and people are definitely going to lose their jobs. But, as I wrote, at my workplace it is MANDATORY and I suspect most of corporate IT worldwide is doing the same. It is time to figure out where we fit in the new order. Arguing about whether or not it should be used — that argument is over. We lost. IT is doing away with junior developers. I don’t know where new developers will come from. Like you, I’ll be long gone by then.
I was saying (Yet again.) to Mrs Bhagpuss just yesterday how, after having read science fiction for more than half a century, almost everything new is something I already knew about decades ago from fiction. This – the “where are the new programmers going to come from?” is pretty much that trope where there’s a complex, high-tech world run by machines and no humans know how it works so when something finally goes wrong they’re all back in the stone age in a week. Sometimes there’s a variation where there’s a secret cabal of humans who do still know how the machines work and/or how to do stuff without them, so when it all goes belly up they can move in and save the day. Better hope we’re in that timeline.
I think I am the only American-born programmer on my team. New programmers will come from where they have always come from — India. I believe all the offshore developers have advanced degrees, too. They are way more qualified than I am.