The New Yorker ran an issue on AI this month, and one of the articles inside is by a programmer who has been wrestling with what ChatGPT means for his career and balancing the old paradigm of figuring out a problem for yourself through code vs. figuring out how to speak to AI to help develop that code faster. He talks about the steep learning curve he faced when starting out, and how persistence and determination help push through the hardest parts of learning that new language; how rewarding it is to sit back and think through a problem, then be able to write the code properly to solve it. It’s like painting or cooking or any one of a number of difficult skills that take time to master: there’s a particular satisfaction that comes with finishing that artwork or serving that food where everyone appreciates the craft. The successful completion of the struggle is what keeps us going. But now a bot seems to be able to do the same coding work without effort, in minutes.
Bodies of knowledge and skills that have traditionally taken lifetimes to master are being swallowed at a gulp. Coding has always felt to me like an endlessly deep and rich domain. Now I find myself wanting to write a eulogy for it.
The author is rightfully worried that his career will disappear if all we have to do is type a question into a box and have the box write the code for us. But he comes to realize that this new technology speeds up the drudgery of writing the code, and we’re still using our brains to solve problems; the box is helping by speeding up the process—and in that process, we’re learning a new kind of language: the translation. We have to learn the language the box needs to complete our requests properly. And you have to know how to think about programming, and understand what proper output is, to know how to ask the right questions.
I spent a lot of time in the late 90’s learning a couple of different languages through books; the first was a language called Lingo used by an application called Macromedia Director. I started using it after learning the basics in a continuing ed course at MICA and got good enough that my boss at the time (who was smart enough to know that the Web was the future, even if he was a lousy boss) hired me out to make an animated screensaver for a government agency. I read the Lingo book and learned enough to build a primitive randomizer to play different clips so that the screensaver showed something different each time it looped. When I was finished and my code worked, I was quietly stunned. A new world had opened up, the one my Dad had been telling me about (and which I resisted until college, when it became clear that this was the future) and I saw my place in it for the first time.
With that experience, I got my first web design gig. I learned some Perl first, and then PHP as I got further into producing my own sites. I was never completely fluent in either language—I couldn’t sit down and write a web application from scratch—but I could read and understand what things were doing, and I knew enough to fix things that were broken and add logic to change the behavior of the apps we worked on. And most importantly, I could talk to the programmers who could build things, which is a skill all on its own. I was very good at translating the concept to the people making the code.
Had I been a smarter man I would have focused solely on learning and mastering PHP, and I might have pursued a different career path. But my skills were more suited to UI/UX and I made a good living in that specialty for years until I burned out. Around that time I began to notice that the shop I worked for was leaning more heavily on templatized solutions: instead of estimating 80-100 hours for someone like me to generate two concepts, mood boards, and the designs to flesh out all of those requirements, they were finding templates they could modify to suit their needs and banking that extra billing as profit. What had once been a bespoke craft I’d trained myself to do was becoming commoditized, and I was lucky to get out when I did.
I don’t think AI is going to be able to take over art direction or brand creation anytime soon, and ChatGPT certainly can’t walk into a room and convince ten skeptical personalities to approve a concept or mediate a discussion; I’m thankful I’m not walking into programming or web design fresh out of school. And I’m extremely glad I’m not a writer by trade.
I sat down with my ChatGPT account last night and asked it to produce a couple different examples of PHP code to do simple tasks: create a form field to capture several inputs and write them to a text document; build a randomizer to display a different image on a page at reload, and write an AppleScript to resize an image. It wrote simple code that did exactly what I asked and worked flawlessly. I can see how asking it to build something with more functionality would be challenging, and require some iteration to learn how the AI needs to be asked, but it’s frightening how fast and easy the bot did its job. I’m going to practice my translation and see if I can make it do bigger better things.