690 lines
38 KiB
Plaintext
690 lines
38 KiB
Plaintext
[1]Skip to main content
|
||
[2]The New Yorker
|
||
|
||
• [3]Newsletter
|
||
|
||
To revisit this article, select My Account, then [4]View saved stories
|
||
|
||
Close Alert
|
||
[6]Sign In
|
||
[7]Search
|
||
|
||
• [8]The Latest
|
||
• [9]News
|
||
• [10]Books & Culture
|
||
• [11]Fiction & Poetry
|
||
• [12]Humor & Cartoons
|
||
• [13]Magazine
|
||
• [14]Puzzles & Games
|
||
• [15]Video
|
||
• [16]Podcasts
|
||
• [17]Goings On
|
||
• [18]Shop
|
||
|
||
Open Navigation Menu
|
||
|
||
Find anything you save across the site in your account [20]
|
||
|
||
Close Alert
|
||
[22]The New Yorker
|
||
[23]Personal History
|
||
|
||
A Coder Considers the Waning Days of the Craft
|
||
|
||
Coding has always felt to me like an endlessly deep and rich domain. Now I find
|
||
myself wanting to write a eulogy for it.
|
||
|
||
By [24]James Somers
|
||
|
||
November 13, 2023
|
||
|
||
• [25]
|
||
• [26]
|
||
• [27]
|
||
• [28]
|
||
• [29]
|
||
|
||
Play/Pause Button
|
||
Artificial intelligence still can’t beat a human when it comes to programming.
|
||
But it’s only a matter of time.Illustration by Dev Valladares
|
||
Save this story
|
||
Save this story
|
||
|
||
I have always taken it for granted that, just as my parents made sure that I
|
||
could read and write, I would make sure that my kids could program computers.
|
||
It is among the newer arts but also among the most essential, and ever more so
|
||
by the day, encompassing everything from filmmaking to physics. Fluency with
|
||
code would round out my children’s literacy—and keep them employable. But as I
|
||
write this my wife is pregnant with our first child, due in about three weeks.
|
||
I code professionally, but, by the time that child can type, coding as a
|
||
valuable skill might have faded from the world.
|
||
|
||
I first began to believe this on a Friday morning this past summer, while
|
||
working on a small hobby project. A few months back, my friend Ben and I had
|
||
resolved to create a Times-style crossword puzzle entirely by computer. In
|
||
2018, we’d made a Saturday puzzle with the help of software and were surprised
|
||
by how little we contributed—just applying our taste here and there. Now we
|
||
would attempt to build a crossword-making program that didn’t require a human
|
||
touch.
|
||
|
||
When we’ve taken on projects like this in the past, they’ve had both a hardware
|
||
component and a software component, with Ben’s strengths running toward the
|
||
former. We once made a neon sign that would glow when the subway was
|
||
approaching the stop near our apartments. Ben bent the glass and wired up the
|
||
transformer’s circuit board. I wrote code to process the transit data. Ben has
|
||
some professional coding experience of his own, but it was brief, shallow, and
|
||
now about twenty years out of date; the serious coding was left to me. For the
|
||
new crossword project, though, Ben had introduced a third party. He’d signed up
|
||
for a ChatGPT Plus subscription and was using GPT-4 as a coding assistant.
|
||
|
||
[33]More on A.I.
|
||
|
||
[34]Sign up for The New Yorker’s weekly Science & Technology newsletter.
|
||
|
||
Something strange started happening. Ben and I would talk about a bit of
|
||
software we wanted for the project. Then, a shockingly short time later, Ben
|
||
would deliver it himself. At one point, we wanted a command that would print a
|
||
hundred random lines from a dictionary file. I thought about the problem for a
|
||
few minutes, and, when thinking failed, tried Googling. I made some false
|
||
starts using what I could gather, and while I did my thing—programming—Ben told
|
||
GPT-4 what he wanted and got code that ran perfectly.
|
||
|
||
Fine: commands like those are notoriously fussy, and everybody looks them up
|
||
anyway. It’s not real programming. A few days later, Ben talked about how it
|
||
would be nice to have an iPhone app to rate words from the dictionary. But he
|
||
had no idea what a pain it is to make an iPhone app. I’d tried a few times and
|
||
never got beyond something that half worked. I found Apple’s programming
|
||
environment forbidding. You had to learn not just a new language but a new
|
||
program for editing and running code; you had to learn a zoo of “U.I.
|
||
components” and all the complicated ways of stitching them together; and,
|
||
finally, you had to figure out how to package the app. The mountain of new
|
||
things to learn never seemed worth it. The next morning, I woke up to an app in
|
||
my in-box that did exactly what Ben had said he wanted. It worked perfectly,
|
||
and even had a cute design. Ben said that he’d made it in a few hours. GPT-4
|
||
had done most of the heavy lifting.
|
||
|
||
By now, most people have had experiences with A.I. Not everyone has been
|
||
impressed. Ben recently said, “I didn’t start really respecting it until I
|
||
started having it write code for me.” I suspect that non-programmers who are
|
||
skeptical by nature, and who have seen ChatGPT turn out wooden prose or bogus
|
||
facts, are still underestimating what’s happening.
|
||
|
||
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. I keep thinking of Lee Sedol. Sedol was one of the world’s best Go players,
|
||
and a national hero in South Korea, but is now best known for losing, in 2016,
|
||
to a computer program called AlphaGo. Sedol had walked into the competition
|
||
believing that he would easily defeat the A.I. By the end of the days-long
|
||
match, he was proud of having eked out a single game. As it became clear that
|
||
he was going to lose, Sedol said, in a press conference, “I want to apologize
|
||
for being so powerless.” He retired three years later. Sedol seemed weighed
|
||
down by a question that has started to feel familiar, and urgent: What will
|
||
become of this thing I’ve given so much of my life to?
|
||
|
||
My first enchantment with computers came when I was about six years old, in
|
||
Montreal in the early nineties, playing Mortal Kombat with my oldest brother.
|
||
He told me about some “fatalities”—gruesome, witty ways of killing your
|
||
opponent. Neither of us knew how to inflict them. He dialled up an FTP server
|
||
(where files were stored) in an MS-DOS terminal and typed obscure commands.
|
||
Soon, he had printed out a page of codes—instructions for every fatality in the
|
||
game. We went back to the basement and exploded each other’s heads.
|
||
|
||
I thought that my brother was a hacker. Like many programmers, I dreamed of
|
||
breaking into and controlling remote systems. The point wasn’t to cause
|
||
mayhem—it was to find hidden places and learn hidden things. “My crime is that
|
||
of curiosity,” goes “The Hacker’s Manifesto,” written in 1986 by Loyd
|
||
Blankenship. My favorite scene from the 1995 movie “Hackers” is when Dade
|
||
Murphy, a newcomer, proves himself at an underground club. Someone starts
|
||
pulling a rainbow of computer books out of a backpack, and Dade recognizes each
|
||
one from the cover: the green book on international Unix environments; the red
|
||
one on N.S.A.-trusted networks; the one with the pink-shirted guy on I.B.M.
|
||
PCs. Dade puts his expertise to use when he turns on the sprinkler system at
|
||
school, and helps right the ballast of an oil tanker—all by tap-tapping away at
|
||
a keyboard. The lesson was that knowledge is power.
|
||
|
||
But how do you actually learn to hack? My family had settled in New Jersey by
|
||
the time I was in fifth grade, and when I was in high school I went to the
|
||
Borders bookstore in the Short Hills mall and bought “Beginning Visual C++,” by
|
||
Ivor Horton. It ran to twelve hundred pages—my first grimoire. Like many
|
||
tutorials, it was easy at first and then, suddenly, it wasn’t. Medieval
|
||
students called the moment at which casual learners fail the pons asinorum, or
|
||
“bridge of asses.” The term was inspired by Proposition 5 of Euclid’s Elements
|
||
I, the first truly difficult idea in the book. Those who crossed the bridge
|
||
would go on to master geometry; those who didn’t would remain dabblers. Section
|
||
4.3 of “Beginning Visual C++,” on “Dynamic Memory Allocation,” was my bridge of
|
||
asses. I did not cross.
|
||
|
||
But neither did I drop the subject. I remember the moment things began to turn.
|
||
I was on a long-haul flight, and I’d brought along a boxy black laptop and a
|
||
CD-ROM with the Borland C++ compiler. A compiler translates code you write into
|
||
code that the machine can run; I had been struggling for days to get this one
|
||
to work. By convention, every coder’s first program does nothing but generate
|
||
the words “Hello, world.” When I tried to run my version, I just got angry
|
||
error messages. Whenever I fixed one problem, another cropped up. I had read
|
||
the “Harry Potter” books and felt as if I were in possession of a broom but had
|
||
not yet learned the incantation to make it fly. Knowing what might be possible
|
||
if I did, I kept at it with single-minded devotion. What I learned was that
|
||
programming is not really about knowledge or skill but simply about patience,
|
||
or maybe obsession. Programmers are people who can endure an endless parade of
|
||
tedious obstacles. Imagine explaining to a simpleton how to assemble furniture
|
||
over the phone, with no pictures, in a language you barely speak. Imagine, too,
|
||
that the only response you ever get is that you’ve suggested an absurdity and
|
||
the whole thing has gone awry. All the sweeter, then, when you manage to get
|
||
something assembled. I have a distinct memory of lying on my stomach in the
|
||
airplane aisle, and then hitting Enter one last time. I sat up. The computer,
|
||
for once, had done what I’d told it to do. The words “Hello, world” appeared
|
||
above my cursor, now in the computer’s own voice. It seemed as if an
|
||
intelligence had woken up and introduced itself to me.
|
||
|
||
Most of us never became the kind of hackers depicted in “Hackers.” To “hack,”
|
||
in the parlance of a programmer, is just to tinker—to express ingenuity through
|
||
code. I never formally studied programming; I just kept messing around, making
|
||
computers do helpful or delightful little things. In my freshman year of
|
||
college, I knew that I’d be on the road during the third round of the 2006
|
||
Masters Tournament, when Tiger Woods was moving up the field, and I wanted to
|
||
know what was happening in real time. So I made a program that scraped the
|
||
leaderboard on pgatour.com and sent me a text message anytime he birdied or
|
||
bogeyed. Later, after reading “Ulysses” in an English class, I wrote a program
|
||
that pulled random sentences from the book, counted their syllables, and
|
||
assembled haikus—a more primitive regurgitation of language than you’d get from
|
||
a chatbot these days, but nonetheless capable, I thought, of real poetry:
|
||
|
||
I’ll flay him alive
|
||
Uncertainly he waited
|
||
Heavy of the past
|
||
|
||
I began taking coding seriously. I offered to do programming for a friend’s
|
||
startup. The world of computing, I came to learn, is vast but organized almost
|
||
geologically, as if deposited in layers. From the Web browser down to the
|
||
transistor, each sub-area or system is built atop some other, older sub-area or
|
||
system, the layers dense but legible. The more one digs, the more one develops
|
||
what the race-car driver Jackie Stewart called “mechanical sympathy,” a sense
|
||
for the machine’s strengths and limits, of what one could make it do.
|
||
|
||
At my friend’s company, I felt my mechanical sympathy developing. In my
|
||
sophomore year, I was watching “Jeopardy!” with a friend when he suggested that
|
||
I make a playable version of the show. I thought about it for a few hours
|
||
before deciding, with much disappointment, that it was beyond me. But when the
|
||
idea came up again, in my junior year, I could see a way through it. I now had
|
||
a better sense of what one could do with the machine. I spent the next fourteen
|
||
hours building the game. Within weeks, playing “Jimbo Jeopardy!” had become a
|
||
regular activity among my friends. The experience was profound. I could
|
||
understand why people poured their lives into craft: there is nothing quite
|
||
like watching someone enjoy a thing you’ve made.
|
||
|
||
In the midst of all this, I had gone full “Paper Chase” and begun ignoring my
|
||
grades. I worked voraciously, just not on my coursework. One night, I took over
|
||
a half-dozen machines in a basement computer lab to run a program in parallel.
|
||
I laid printouts full of numbers across the floor, thinking through a
|
||
pathfinding algorithm. The cost was that I experienced for real that recurring
|
||
nightmare in which you show up for a final exam knowing nothing of the
|
||
material. (Mine was in Real Analysis, in the math department.) In 2009, during
|
||
the most severe financial crisis in decades, I graduated with a 2.9 G.P.A.
|
||
|
||
And yet I got my first full-time job easily. I had work experience as a
|
||
programmer; nobody asked about my grades. For the young coder, these were boom
|
||
times. Companies were getting into bidding wars over top programmers.
|
||
Solicitations for experienced programmers were so aggressive that they
|
||
complained about “recruiter spam.” The popularity of university
|
||
computer-science programs was starting to explode. (My degree was in
|
||
economics.) Coding “boot camps” sprang up that could credibly claim to turn
|
||
beginners into high-salaried programmers in less than a year. At one of my
|
||
first job interviews, in my early twenties, the C.E.O. asked how much I thought
|
||
I deserved to get paid. I dared to name a number that faintly embarrassed me.
|
||
He drew up a contract on the spot, offering ten per cent more. The skills of a
|
||
“software engineer” were vaunted. At one company where I worked, someone got in
|
||
trouble for using HipChat, a predecessor to Slack, to ask one of my colleagues
|
||
a question. “Never HipChat an engineer directly,” he was told. We were too
|
||
important for that.
|
||
|
||
This was an era of near-zero interest rates and extraordinary tech-sector
|
||
growth. Certain norms were established. Companies like Google taught the
|
||
industry that coders were to have free espresso and catered hot food,
|
||
world-class health care and parental leave, on-site gyms and bike rooms, a
|
||
casual dress code, and “twenty-per-cent time,” meaning that they could devote
|
||
one day a week to working on whatever they pleased. Their skills were
|
||
considered so crucial and delicate that a kind of superstition developed around
|
||
the work. For instance, it was considered foolish to estimate how long a coding
|
||
task might take, since at any moment the programmer might turn over a rock and
|
||
discover a tangle of bugs. Deadlines were anathema. If the pressure to deliver
|
||
ever got too intense, a coder needed only to speak the word “burnout” to buy a
|
||
few months.
|
||
|
||
From the beginning, I had the sense that there was something wrongheaded in all
|
||
this. Was what we did really so precious? How long could the boom last? In my
|
||
teens, I had done a little Web design, and, at the time, that work had been in
|
||
demand and highly esteemed. You could earn thousands of dollars for a project
|
||
that took a weekend. But along came tools like Squarespace, which allowed
|
||
pizzeria owners and freelance artists to make their own Web sites just by
|
||
clicking around. For professional coders, a tranche of high-paying, relatively
|
||
low-effort work disappeared.
|
||
|
||
[35]“I should have known he has absolutely no morals—Ive seen how he loads a
|
||
dishwasher.”
|
||
“I should have known he has absolutely no morals—I’ve seen how he loads a
|
||
dishwasher.”
|
||
Cartoon by Hartley Lin
|
||
Copy link to cartoon
|
||
|
||
Link copied
|
||
|
||
Shop
|
||
|
||
The response from the programmer community to these developments was just,
|
||
Yeah, you have to keep levelling up your skills. Learn difficult, obscure
|
||
things. Software engineers, as a species, love automation. Inevitably, the best
|
||
of them build tools that make other kinds of work obsolete. This very instinct
|
||
explained why we were so well taken care of: code had immense leverage. One
|
||
piece of software could affect the work of millions of people. Naturally, this
|
||
sometimes displaced programmers themselves. We were to think of these advances
|
||
as a tide coming in, nipping at our bare feet. So long as we kept learning we
|
||
would stay dry. Sound advice—until there’s a tsunami.
|
||
|
||
When we were first allowed to use A.I. chatbots at work, for programming
|
||
assistance, I studiously avoided them. I expected that my colleagues would,
|
||
too. But soon I started seeing the telltale colors of an A.I. chat session—the
|
||
zebra pattern of call-and-response—on programmers’ screens as I walked to my
|
||
desk. A common refrain was that these tools made you more productive; in some
|
||
cases, they helped you solve problems ten times faster.
|
||
|
||
I wasn’t sure I wanted that. I enjoy the act of programming and I like to feel
|
||
useful. The tools I’m familiar with, like the text editor I use to format and
|
||
to browse code, serve both ends. They enhance my practice of the craft—and,
|
||
though they allow me to deliver work faster, I still feel that I deserve the
|
||
credit. But A.I., as it was being described, seemed different. It provided a
|
||
lot of help. I worried that it would rob me of both the joy of working on
|
||
puzzles and the satisfaction of being the one who solved them. I could be
|
||
infinitely productive, and all I’d have to show for it would be the products
|
||
themselves.
|
||
|
||
The actual work product of most programmers is rarely exciting. In fact, it
|
||
tends to be almost comically humdrum. A few months ago, I came home from the
|
||
office and told my wife about what a great day I’d had wrestling a particularly
|
||
fun problem. I was working on a program that generated a table, and someone had
|
||
wanted to add a header that spanned more than one column—something that the
|
||
custom layout engine we’d written didn’t support. The work was urgent: these
|
||
tables were being used in important documents, wanted by important people. So I
|
||
sequestered myself in a room for the better part of the afternoon. There were
|
||
lots of lovely sub-problems: How should I allow users of the layout engine to
|
||
convey that they want a column-spanning header? What should their code look
|
||
like? And there were fiddly details that, if ignored, would cause bugs. For
|
||
instance, what if one of the columns that the header was supposed to span got
|
||
dropped because it didn’t have any data? I knew it was a good day because I had
|
||
to pull out pen and pad—I was drawing out possible scenarios, checking and
|
||
double-checking my logic.
|
||
|
||
But taking a bird’s-eye view of what happened that day? A table got a new
|
||
header. It’s hard to imagine anything more mundane. For me, the pleasure was
|
||
entirely in the process, not the product. And what would become of the process
|
||
if it required nothing more than a three-minute ChatGPT session? Yes, our jobs
|
||
as programmers involve many things besides literally writing code, such as
|
||
coaching junior hires and designing systems at a high level. But coding has
|
||
always been the root of it. Throughout my career, I have been interviewed and
|
||
selected precisely for my ability to solve fiddly little programming puzzles.
|
||
Suddenly, this ability was less important.
|
||
|
||
I had gathered as much from Ben, who kept telling me about the spectacular
|
||
successes he’d been having with GPT-4. It turned out that it was not only good
|
||
at the fiddly stuff but also had the qualities of a senior engineer: from a
|
||
deep well of knowledge, it could suggest ways of approaching a problem. For one
|
||
project, Ben had wired a small speaker and a red L.E.D. light bulb into the
|
||
frame of a portrait of King Charles, the light standing in for the gem in his
|
||
crown; the idea was that when you entered a message on an accompanying Web site
|
||
the speaker would play a tune and the light would flash out the message in
|
||
Morse code. (This was a gift for an eccentric British expat.) Programming the
|
||
device to fetch new messages eluded Ben; it seemed to require specialized
|
||
knowledge not just of the microcontroller he was using but of Firebase, the
|
||
back-end server technology that stored the messages. Ben asked me for advice,
|
||
and I mumbled a few possibilities; in truth, I wasn’t sure that what he wanted
|
||
would be possible. Then he asked GPT-4. It told Ben that Firebase had a
|
||
capability that would make the project much simpler. Here it was—and here was
|
||
some code to use that would be compatible with the microcontroller.
|
||
|
||
Afraid to use GPT-4 myself—and feeling somewhat unclean about the prospect of
|
||
paying OpenAI twenty dollars a month for it—I nonetheless started probing its
|
||
capabilities, via Ben. We’d sit down to work on our crossword project, and I’d
|
||
say, “Why don’t you try prompting it this way?” He’d offer me the keyboard.
|
||
“No, you drive,” I’d say. Together, we developed a sense of what the A.I. could
|
||
do. Ben, who had more experience with it than I did, seemed able to get more
|
||
out of it in a stroke. As he later put it, his own neural network had begun to
|
||
align with GPT-4’s. I would have said that he had achieved mechanical sympathy.
|
||
Once, in a feat I found particularly astonishing, he had the A.I. build him a
|
||
Snake game, like the one on old Nokia phones. But then, after a brief exchange
|
||
with GPT-4, he got it to modify the game so that when you lost it would show
|
||
you how far you strayed from the most efficient route. It took the bot about
|
||
ten seconds to achieve this. It was a task that, frankly, I was not sure I
|
||
could do myself.
|
||
|
||
In chess, which for decades now has been dominated by A.I., a player’s only
|
||
hope is pairing up with a bot. Such half-human, half-A.I. teams, known as
|
||
centaurs, might still be able to beat the best humans and the best A.I. engines
|
||
working alone. Programming has not yet gone the way of chess. But the centaurs
|
||
have arrived. GPT-4 on its own is, for the moment, a worse programmer than I
|
||
am. Ben is much worse. But Ben plus GPT-4 is a dangerous thing.
|
||
|
||
It wasn’t long before I caved. I was making a little search tool at work and
|
||
wanted to highlight the parts of the user’s query that matched the results. But
|
||
I was splitting up the query by words in a way that made things much more
|
||
complicated. I found myself short on patience. I started thinking about GPT-4.
|
||
Perhaps instead of spending an afternoon programming I could spend some time
|
||
“prompting,” or having a conversation with an A.I.
|
||
|
||
In a 1978 essay titled “On the Foolishness of ‘Natural Language Programming,’ ”
|
||
the computer scientist Edsger W. Dijkstra argued that if you were to instruct
|
||
computers not in a specialized language like C++ or Python but in your native
|
||
tongue you’d be rejecting the very precision that made computers useful. Formal
|
||
programming languages, he wrote, are “an amazingly effective tool for ruling
|
||
out all sorts of nonsense that, when we use our native tongues, are almost
|
||
impossible to avoid.” Dijkstra’s argument became a truism in programming
|
||
circles. When the essay made the rounds on Reddit in 2014, a top commenter
|
||
wrote, “I’m not sure which of the following is scariest. Just how trivially
|
||
obvious this idea is” or the fact that “many still do not know it.”
|
||
|
||
When I first used GPT-4, I could see what Dijkstra was talking about. You can’t
|
||
just say to the A.I., “Solve my problem.” That day may come, but for now it is
|
||
more like an instrument you must learn to play. You have to specify what you
|
||
want carefully, as though talking to a beginner. In the search-highlighting
|
||
problem, I found myself asking GPT-4 to do too much at once, watching it fail,
|
||
and then starting over. Each time, my prompts became less ambitious. By the end
|
||
of the conversation, I wasn’t talking about search or highlighting; I had
|
||
broken the problem into specific, abstract, unambiguous sub-problems that,
|
||
together, would give me what I wanted.
|
||
|
||
Having found the A.I.’s level, I felt almost instantly that my working life had
|
||
been transformed. Everywhere I looked I could see GPT-4-size holes; I
|
||
understood, finally, why the screens around the office were always filled with
|
||
chat sessions—and how Ben had become so productive. I opened myself up to
|
||
trying it more often.
|
||
|
||
I returned to the crossword project. Our puzzle generator printed its output in
|
||
an ugly text format, with lines like "s""c""a""r""*""k""u""n""i""s""*"
|
||
"a""r""e""a". I wanted to turn output like that into a pretty Web page that
|
||
allowed me to explore the words in the grid, showing scoring information at a
|
||
glance. But I knew the task would be tricky: each letter had to be tagged with
|
||
the words it belonged to, both the across and the down. This was a detailed
|
||
problem, one that could easily consume the better part of an evening. With the
|
||
baby on the way, I was short on free evenings. So I began a conversation with
|
||
GPT-4. Some back-and-forth was required; at one point, I had to read a few
|
||
lines of code myself to understand what it was doing. But I did little of the
|
||
kind of thinking I once believed to be constitutive of coding. I didn’t think
|
||
about numbers, patterns, or loops; I didn’t use my mind to simulate the
|
||
activity of the computer. As another coder, Geoffrey Litt, wrote after a
|
||
similar experience, “I never engaged my detailed programmer brain.” So what did
|
||
I do?
|
||
|
||
Perhaps what pushed Lee Sedol to retire from the game of Go was the sense that
|
||
the game had been forever cheapened. When I got into programming, it was
|
||
because computers felt like a form of magic. The machine gave you powers but
|
||
required you to study its arcane secrets—to learn a spell language. This took a
|
||
particular cast of mind. I felt selected. I devoted myself to tedium, to
|
||
careful thinking, and to the accumulation of obscure knowledge. Then, one day,
|
||
it became possible to achieve many of the same ends without the thinking and
|
||
without the knowledge. Looked at in a certain light, this can make quite a lot
|
||
of one’s working life seem like a waste of time.
|
||
|
||
But whenever I think about Sedol I think about chess. After machines conquered
|
||
that game, some thirty years ago, the fear was that there would be no reason to
|
||
play it anymore. Yet chess has never been more popular—A.I. has enlivened the
|
||
game. A friend of mine picked it up recently. At all hours, he has access to an
|
||
A.I. coach that can feed him chess problems just at the edge of his ability and
|
||
can tell him, after he’s lost a game, exactly where he went wrong. Meanwhile,
|
||
at the highest levels, grandmasters study moves the computer proposes as if
|
||
reading tablets from the gods. Learning chess has never been easier; studying
|
||
its deepest secrets has never been more exciting.
|
||
|
||
Computing is not yet overcome. GPT-4 is impressive, but a layperson can’t wield
|
||
it the way a programmer can. I still feel secure in my profession. In fact, I
|
||
feel somewhat more secure than before. As software gets easier to make, it’ll
|
||
proliferate; programmers will be tasked with its design, its configuration, and
|
||
its maintenance. And though I’ve always found the fiddly parts of programming
|
||
the most calming, and the most essential, I’m not especially good at them. I’ve
|
||
failed many classic coding interview tests of the kind you find at Big Tech
|
||
companies. The thing I’m relatively good at is knowing what’s worth building,
|
||
what users like, how to communicate both technically and humanely. A friend of
|
||
mine has called this A.I. moment “the revenge of the so-so programmer.” As
|
||
coding per se begins to matter less, maybe softer skills will shine.
|
||
|
||
That still leaves open the matter of what to teach my unborn child. I suspect
|
||
that, as my child comes of age, we will think of “the programmer” the way we
|
||
now look back on “the computer,” when that phrase referred to a person who did
|
||
calculations by hand. Programming by typing C++ or Python yourself might
|
||
eventually seem as ridiculous as issuing instructions in binary onto a punch
|
||
card. Dijkstra would be appalled, but getting computers to do precisely what
|
||
you want might become a matter of asking politely.
|
||
|
||
So maybe the thing to teach isn’t a skill but a spirit. I sometimes think of
|
||
what I might have been doing had I been born in a different time. The coders of
|
||
the agrarian days probably futzed with waterwheels and crop varietals; in the
|
||
Newtonian era, they might have been obsessed with glass, and dyes, and
|
||
timekeeping. I was reading an oral history of neural networks recently, and it
|
||
struck me how many of the people interviewed—people born in and around the
|
||
nineteen-thirties—had played with radios when they were little. Maybe the next
|
||
cohort will spend their late nights in the guts of the A.I.s their parents once
|
||
regarded as black boxes. I shouldn’t worry that the era of coding is winding
|
||
down. Hacking is forever. ♦
|
||
|
||
Published in the print edition of the [38]November 20, 2023, issue, with the
|
||
headline “Begin End.”
|
||
|
||
More Science and Technology
|
||
|
||
• Can we [39]stop runaway A.I.?
|
||
|
||
• Saving the climate will depend on blue-collar workers. Can we train enough
|
||
of them [40]before time runs out?
|
||
|
||
• There are ways of controlling A.I.—but first we [41]need to stop
|
||
mythologizing it.
|
||
|
||
• A security camera [42]for the entire planet.
|
||
|
||
• What’s the point of [43]reading writing by humans?
|
||
|
||
• A heat shield for [44]the most important ice on Earth.
|
||
|
||
• The climate solutions [45]we can’t live without.
|
||
|
||
[46]Sign up for our daily newsletter to receive the best stories from The New
|
||
Yorker.
|
||
|
||
[47]James Somers is a writer and a programmer based in New York.
|
||
|
||
Weekly
|
||
|
||
Enjoy our flagship newsletter as a digest delivered once a week.
|
||
E-mail address
|
||
[48][ ]
|
||
Sign up
|
||
|
||
By signing up, you agree to our [50]User Agreement and [51]Privacy Policy &
|
||
Cookie Statement. This site is protected by reCAPTCHA and the Google[52]
|
||
Privacy Policy and[53] Terms of Service apply.
|
||
|
||
Read More
|
||
[54]
|
||
How a Notorious Gangster Was Exposed by His Own Sister
|
||
Letter from Amsterdam
|
||
[55]
|
||
How a Notorious Gangster Was Exposed by His Own Sister
|
||
[56]
|
||
How a Notorious Gangster Was Exposed by His Own Sister
|
||
Astrid Holleeder secretly recorded her brother’s murderous confessions. Will he
|
||
exact revenge?
|
||
|
||
By Patrick Radden Keefe
|
||
|
||
[57]
|
||
When Foster Parents Don’t Want to Give Back the Baby
|
||
Annals of Law
|
||
[58]
|
||
When Foster Parents Don’t Want to Give Back the Baby
|
||
[59]
|
||
When Foster Parents Don’t Want to Give Back the Baby
|
||
In many states, adoption lawyers are pushing a new legal strategy that forces
|
||
biological parents to compete for custody of their children.
|
||
|
||
By Eli Hager
|
||
|
||
[60]
|
||
Trial by Twitter
|
||
A Reporter at Large
|
||
[61]
|
||
Trial by Twitter
|
||
|
||
By Ariel Levy
|
||
|
||
[62]
|
||
Britney Spears’s Conservatorship Nightmare
|
||
American Chronicles
|
||
[63]
|
||
Britney Spears’s Conservatorship Nightmare
|
||
[64]
|
||
Britney Spears’s Conservatorship Nightmare
|
||
How the pop star’s father and a team of lawyers seized control of her life—and
|
||
have held on to it for thirteen years.
|
||
|
||
By Ronan Farrow
|
||
|
||
[65]The New Yorker
|
||
|
||
Sections
|
||
|
||
• [67]News
|
||
• [68]Books & Culture
|
||
• [69]Fiction & Poetry
|
||
• [70]Humor & Cartoons
|
||
• [71]Magazine
|
||
• [72]Crossword
|
||
• [73]Video
|
||
• [74]Podcasts
|
||
• [75]Archive
|
||
• [76]Goings On
|
||
|
||
More
|
||
|
||
• [78]Customer Care
|
||
• [79]Shop The New Yorker
|
||
• [80]Buy Covers and Cartoons
|
||
• [81]Condé Nast Store
|
||
• [82]Digital Access
|
||
• [83]Newsletters
|
||
• [84]Jigsaw Puzzle
|
||
• [85]RSS
|
||
|
||
• [86]About
|
||
• [87]Careers
|
||
• [88]Contact
|
||
• [89]F.A.Q.
|
||
• [90]Media Kit
|
||
• [91]Press
|
||
• [92]Accessibility Help
|
||
|
||
© 2024 Condé Nast. All rights reserved. Use of this site constitutes acceptance
|
||
of our [93]User Agreement and [94]Privacy Policy and Cookie Statement and [95]
|
||
Your California Privacy Rights. The New Yorker may earn a portion of sales from
|
||
products that are purchased through our site as part of our Affiliate
|
||
Partnerships with retailers. The material on this site may not be reproduced,
|
||
distributed, transmitted, cached or otherwise used, except with the prior
|
||
written permission of Condé Nast. [96]Ad Choices
|
||
|
||
• [97]
|
||
• [98]
|
||
• [99]
|
||
• [100]
|
||
• [101]
|
||
|
||
Do Not Sell My Personal Info
|
||
|
||
References:
|
||
|
||
[1] https://www.newyorker.com/magazine/2023/11/20/a-coder-considers-the-waning-days-of-the-craft?currentPage=all#main-content
|
||
[2] https://www.newyorker.com/
|
||
[3] https://www.newyorker.com/newsletters
|
||
[4] https://www.newyorker.com/account/saved
|
||
[6] https://www.newyorker.com/auth/initiate?redirectURL=%2Fmagazine%2F2023%2F11%2F20%2Fa-coder-considers-the-waning-days-of-the-craft&source=VERSO_NAVIGATION
|
||
[7] https://www.newyorker.com/search
|
||
[8] https://www.newyorker.com/latest
|
||
[9] https://www.newyorker.com/news
|
||
[10] https://www.newyorker.com/culture
|
||
[11] https://www.newyorker.com/fiction-and-poetry
|
||
[12] https://www.newyorker.com/humor
|
||
[13] https://www.newyorker.com/magazine
|
||
[14] https://www.newyorker.com/crossword-puzzles-and-games
|
||
[15] https://www.newyorker.com/video
|
||
[16] https://www.newyorker.com/podcasts
|
||
[17] https://www.newyorker.com/goings-on
|
||
[18] https://store.newyorker.com/
|
||
[20] https://www.newyorker.com/account/saved
|
||
[22] https://www.newyorker.com/
|
||
[23] https://www.newyorker.com/magazine/personal-history
|
||
[24] https://www.newyorker.com/contributors/james-somers
|
||
[25] https://www.facebook.com/dialog/feed?&display=popup&caption=A%20Coder%20Considers%20the%20Waning%20Days%20of%20the%20Craft&app_id=1147169538698836&link=https%3A%2F%2Fwww.newyorker.com%2Fmagazine%2F2023%2F11%2F20%2Fa-coder-considers-the-waning-days-of-the-craft%3Futm_source%3Dfacebook%26utm_medium%3Dsocial%26utm_campaign%3Donsite-share%26utm_brand%3Dthe-new-yorker%26utm_social-type%3Dearned
|
||
[26] https://twitter.com/intent/tweet/?url=https%3A%2F%2Fwww.newyorker.com%2Fmagazine%2F2023%2F11%2F20%2Fa-coder-considers-the-waning-days-of-the-craft%3Futm_source%3Dtwitter%26utm_medium%3Dsocial%26utm_campaign%3Donsite-share%26utm_brand%3Dthe-new-yorker%26utm_social-type%3Dearned&text=A%20Coder%20Considers%20the%20Waning%20Days%20of%20the%20Craft&via=NewYorker
|
||
[27] mailto:?subject=A%20Coder%20Considers%20the%20Waning%20Days%20of%20the%20Craft&body=https%3A%2F%2Fwww.newyorker.com%2Fmagazine%2F2023%2F11%2F20%2Fa-coder-considers-the-waning-days-of-the-craft%3Futm_source%3Donsite-share%26utm_medium%3Demail%26utm_campaign%3Donsite-share%26utm_brand%3Dthe-new-yorker
|
||
[28] https://www.newyorker.com/magazine/2023/11/20/a-coder-considers-the-waning-days-of-the-craft?currentPage=all#
|
||
[29] https://www.newyorker.com/magazine/2023/11/20/a-coder-considers-the-waning-days-of-the-craft?currentPage=all#
|
||
[33] https://www.newyorker.com/newsletter/science-technology
|
||
[34] https://www.newyorker.com/newsletter/science-technology
|
||
[35] https://www.newyorker.com/cartoon/a27287
|
||
[38] https://www.newyorker.com/magazine/2023/11/20
|
||
[39] https://www.newyorker.com/science/annals-of-artificial-intelligence/can-we-stop-the-singularity
|
||
[40] https://www.newyorker.com/news/dept-of-energy/the-great-electrician-shortage
|
||
[41] https://www.newyorker.com/science/annals-of-artificial-intelligence/there-is-no-ai
|
||
[42] https://www.newyorker.com/news/annals-of-climate-action/a-security-camera-for-the-planet
|
||
[43] https://www.newyorker.com/news/our-columnists/whats-the-point-of-reading-writing-by-humans
|
||
[44] https://www.newyorker.com/news/the-control-of-nature/a-heat-shield-for-the-most-important-ice-on-earth
|
||
[45] https://www.newyorker.com/news/annals-of-a-warming-planet/the-climate-solutions-we-cant-live-without
|
||
[46] https://www.newyorker.com/newsletter/daily?sourceCode=BottomStories
|
||
[47] https://www.newyorker.com/contributors/james-somers
|
||
[50] https://www.condenast.com/user-agreement
|
||
[51] https://www.condenast.com/privacy-policy
|
||
[52] https://policies.google.com/privacy
|
||
[53] https://policies.google.com/terms
|
||
[54] https://www.newyorker.com/magazine/2018/08/06/how-a-notorious-gangster-was-exposed-by-his-own-sister#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[55] https://www.newyorker.com/magazine/2018/08/06/how-a-notorious-gangster-was-exposed-by-his-own-sister#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[56] https://www.newyorker.com/magazine/2018/08/06/how-a-notorious-gangster-was-exposed-by-his-own-sister#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[57] https://www.newyorker.com/magazine/2023/10/23/foster-family-biological-parents-adoption-intervenors#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[58] https://www.newyorker.com/magazine/2023/10/23/foster-family-biological-parents-adoption-intervenors#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[59] https://www.newyorker.com/magazine/2023/10/23/foster-family-biological-parents-adoption-intervenors#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[60] https://www.newyorker.com/magazine/2013/08/05/trial-by-twitter#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[61] https://www.newyorker.com/magazine/2013/08/05/trial-by-twitter#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[62] https://www.newyorker.com/news/american-chronicles/britney-spears-conservatorship-nightmare#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[63] https://www.newyorker.com/news/american-chronicles/britney-spears-conservatorship-nightmare#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[64] https://www.newyorker.com/news/american-chronicles/britney-spears-conservatorship-nightmare#intcid=_the-new-yorker-bottom-recirc-version3_cbaf7871-3046-4dc4-b609-4b3c76e51880_user-activetime-evergreen
|
||
[65] https://www.newyorker.com/
|
||
[67] https://www.newyorker.com/news
|
||
[68] https://www.newyorker.com/culture
|
||
[69] https://www.newyorker.com/fiction-and-poetry
|
||
[70] https://www.newyorker.com/humor
|
||
[71] https://www.newyorker.com/magazine
|
||
[72] https://www.newyorker.com/crossword-puzzles-and-games
|
||
[73] https://video.newyorker.com/
|
||
[74] https://www.newyorker.com/podcast
|
||
[75] https://www.newyorker.com/archive
|
||
[76] https://www.newyorker.com/goings-on-about-town
|
||
[78] http://w1.buysub.com/servlet/CSGateway?cds_mag_code=NYR
|
||
[79] https://store.newyorker.com/
|
||
[80] https://condenaststore.com/art/new+yorker+covers
|
||
[81] https://condenaststore.com/conde-nast-brand/thenewyorker
|
||
[82] https://www.newyorker.com/digital-editions
|
||
[83] https://www.newyorker.com/newsletter
|
||
[84] https://www.newyorker.com/jigsaw
|
||
[85] https://www.newyorker.com/about/feeds
|
||
[86] https://www.newyorker.com/about/us
|
||
[87] https://www.newyorker.com/about/careers
|
||
[88] https://www.newyorker.com/about/contact
|
||
[89] https://www.newyorker.com/about/faq
|
||
[90] https://www.condenast.com/advertising
|
||
[91] https://www.newyorker.com/about/press
|
||
[92] https://www.newyorker.com/about/accessibility-help
|
||
[93] https://www.condenast.com/user-agreement/
|
||
[94] http://www.condenast.com/privacy-policy#privacypolicy
|
||
[95] http://www.condenast.com/privacy-policy#privacypolicy-california
|
||
[96] http://www.condenast.com/privacy-policy#privacypolicy-optout
|
||
[97] https://www.facebook.com/newyorker/
|
||
[98] https://twitter.com/NewYorker/
|
||
[99] https://www.snapchat.com/add/newyorkermag
|
||
[100] https://www.youtube.com/user/NewYorkerDotCom/
|
||
[101] https://instagram.com/newyorkermag/
|