Software engineering had long seemed like a sure bet for a future-proof career. Then, vibe coding came along.
Since computer scientist and OpenAI cofounder Andrej Karpathy coined the term last month, the world of software development has rallied around the idea of using generative AI tools to automate vast portions of coding workloads.
In Karpathy’s telling, “vibe coding” means he can “just see stuff, say stuff, run stuff, and copy-paste stuff, and it mostly works.”
More people are now using AI for tasks that would previously require deep technical skills, such as building apps or creating a video game.
Mark Zuckerberg, for instance, said earlier this year that he expects Meta to have “AI that can effectively be a sort of midlevel engineer.”
Comments like this have come as job opportunities for software engineers — a historically well-paid job — have plummeted. On Indeed, openings in the US are down a third from five years ago.
It raises a big question: how can software engineers not just survive but thrive in the vibe coding era?
Business Insider spoke to software engineers who said vibe coding doesn’t have to mean total doom for career prospects — so long as they prioritize these three skills.
1. Embrace the vibes
Embracing and mastering vibe coding tools is a good place to start.
ChatGPT, Cursor, Replit, and Windsurf are just some of the tools being used to fast-track workloads.
Marc Tuscher, chief technology officer at AI robotics firm Sereact, told BI that vibe coding tools make him “much faster,” which is why he encourages his team of roughly 25 software engineers to use them.
Though Tuscher acknowledges these tools can make mistakes that need to be debugged, he says a software engineer working with AI tools will have an advantage over one that doesn’t. “The amount of speed you can get compared to coding yourself is crazy,” he said.
It’s part of the reason industry leaders have become more vocal about putting these tools to use. Sam Altman, the CEO of OpenAI, said in an interview with Stratechery’s Ben Thompson this month that for students, “the obvious tactical thing is just get really good at using AI tools.”
Tanay Kothari, CEO of Wispr Flow, a voice agent that can be used to input commands into vibe coding tools like Cursor, understands that there might be some reluctance among veteran developers to embrace such tools.
In his experience, however, engineers who think they’re “just really good” will start seeing vibe coding tools as an “unlock” once they understand the efficiency gains at hand. “People who use AI tools roughly get twice as much done,” he told BI.
2. Up your prompt game
Learning how to give instructions — known as prompts — to vibe coding tools in a smarter way can also give engineers an edge.
“The hottest new programming language is English,” Karpathy quipped in January 2023, just a few months after ChatGPT’s first public release.
Research papers, such as the original paper behind OpenAI’s GPT-3, suggest that the large language models powering today’s generative AI tools can, as Karpathy put it, be “‘programmed’ inside the prompt.”
In other words, a carefully constructed prompt can drastically alter the quality of output for an AI system.
It’s why Ash Edwards, a former Palantir engineer turned CEO of AI agent company Fern Labs, sees software engineers getting more value out of vibe coding tools by being more “prescriptive.”
“A real failure case is almost letting the code choose its own directions,” he told BI. “I think you can usually get much better results if you know what you want to do and you know roughly how you want to build it.”
It’s a view shared by Kothari: “There is a right set of questions to ask ChatGPT to get your work done.”
3. A clear-thinking mindset
When AI is doing more of the grunt work of software development, what should engineers focus their newfound extra time on?
Software experts who spoke to BI said the answer was simple: focus on thinking clearly.
When software engineers build programs and apps, they spend a lot of time thinking carefully about what exactly is being built and how it might be stitched together in a wider system. This all requires careful thinking before lines of code are even written.
One type of thinking that helps this process is reasoning from “first principles,” according to Wispr Flow’s Kothari, referring to breaking a complex problem into smaller pieces to find a suitable solution.
“That is a very hard, high-level problem that you need to be able to solve regardless of how good AI gets,” he said.
Kothari notes that this is a key attribute of what defines a “10x engineer” — an industry archetype of an engineer who is typically 10 times more productive and valuable than their counterparts. “10x things come from clarity of thought,” he added.
Thinking about systems at large is another helpful way to approach software engineering problems. Kothari notes that people can waste a lot of time not doing this, as it can lead to building “the wrong thing that nobody really wanted.”
Fern Labs’ Edwards agrees, noting that engineers are “always going to need to be able to think about systems” — despite the growing use of vibe coding tools — as they will fundamentally still be the ones needing to oversee a program.
“Having that software engineering mindset, understanding how to think about problems and break them down and think about them in abstraction — I think that’s always going to be useful and important, if not more so, as these things get more and more powerful,” he said.
Read the full article here