When ChatGPT made its debut in November, many were astounded by its skill at producing rap lyrics, cover letters, and even high-school essays. However, Adam Hughes, a programmer, was drawn to the AI’s widely-publicized talent for coding. He created an account and tasked ChatGPT with developing a custom version of tic-tac-toe, with strange rules to prevent the bot from plagiarizing existing code. Afterward, he tested its coding knowledge with questions he typically uses when interviewing job applicants.

Upon testing ChatGPT’s coding ability, Hughes was astounded by the bot’s proficiency in producing top-notch code. This unexpected discovery made him ponder about his future in a career he was passionate about and that had offered him both financial stability and a sense of identity. Hughes never fathomed that his job would be taken over by a machine until he encountered ChatGPT. This realization left him with an existential crisis, as the knowledge he had honed over seven years suddenly appeared obsolete in the face of AI technology.

Now, before we delve into the bleak outlook, let’s take a moment to consider the reasons for optimism. Maybe, as the industry’s brighter projections suggest, there will be enough demand for coding to employ both humans and AI. Unlike farming, coding isn’t limited by the amount of food people can consume. “There’s no limit to the amount of software that humanity wants or needs,” says Zachary Tatlock, a computer science professor at the University of Washington. “For the past 50 years, we’ve been vastly underproducing. We haven’t met the demand for software.” AI may help humans write code more quickly, but we’ll still need human coders because we require as much software as they can create, as soon as possible. In the most optimistic scenario, all the productivity gains from AI will stimulate the demand for software, making future coders even more in demand than they are now.

Optimists also argue that as AI takes over the bulk of coding, human coders will adapt by focusing on what AI can’t do. Consider what happened to bank tellers after ATMs became prevalent. Surprisingly, the number of bank tellers increased between 1980 and 2010, even though you might expect ATMs to have destroyed the profession. One analysis found that bank tellers became less like checkout clerks and more like salespeople, building relationships with customers and selling them additional services like credit cards and loans. Similarly, Tatlock envisions a future for software engineers that involves less writing of code and more verifying of all the inexpensive and potentially hazardous code that machines will generate. “You probably don’t need to formally verify a widget on your website,” Tatlock says, “but you probably do want to formally verify code that goes into your driving assistant in your car or manages your insulin pump.” If today’s programmers are writers, then their future counterparts will be editors and fact-checkers.

Perhaps, in the long run, human coders will survive in some new, yet-to-be-determined role. But even in the best-case scenario, the optimists concede that the transition will be painful. “It’s inevitable that some people’s lives will be disrupted by this,” Tatlock says. “This happens with every technological change.” Some coders will undoubtedly be displaced, unable to adapt to the new way of doing things. And those who make the transition to the AI-driven future will find themselves performing tasks that are vastly different from what they do today.