When it comes to LLMs, I often compare the complexity of writing a world-class software system to the difficulty of writing a world-class novel. Any fifth grader can string together a five-paragraph essay. But it’s a long way from that to writing an astute portrayal of modern society with compelling prose and gripping characters, like Balzac did.
When you hear professional software engineers say they’re not worried about AI, I think this is a large part of what’s going on. Most production code requires you to understand the world around you — you need to understand your customers, the existing technical constraints and your operational budget (how often is the system allowed to crash? What’s the 95th percentile allowed latency? What features can we trade off to reach this?). You often need to understand the viewpoints of your coworkers and/or managers and be able to argue with them when they’re wrong. You need to understand which coworkers or customers to talk to and which ones to ignore (not something I see in the skill set of any LLM so far). In most companies, the more senior a software engineer is, the more this becomes part of their job (instead of day-to-day coding).
That said, I think 80k hours correctly notes that software engineering is a great early-stage career and a mediocre mid-to-late stage career. Nowhere else can you find a cushy, well-defined and fun job that easily pays $100-500k a year. But I think that ends up cutting against you 5-10 years in — many software engineers can get so far off of just coding and being a nerd that they never learn how to solve business problems (and companies are often built around the expectation that software engineers don’t want to learn about the business). That keeps them from moving into more impactful roles. It’s also not a job that lends itself to networking, which probably also affects long-term career prospects.
Since you’re a former business owner, it’s possible this won’t be a problem for you. In that case, working at a tech company is one of the best ways to learn how to code and how to design software systems, and it’s probably a great move for you. I’d just encourage you to keep in mind that coding, while fun, is most impactful as a means to an end than as an end in itself.
When it comes to refining AI generated code, do you imagine this being done within organizations by the same amount of programmers or that LLMs could be managed by fewer senior (or even lower) level engineers? This question is inspired by my observations in marketing, where the stock of full-time writers appears to be going down. I totally get that LLMs can’t create their own prompts, debug every line of code, or approve products, but do you think they’ll start allowing orgs to complete product development cycles with less engineers?
Great point that coding isn’t an end in itself. In addition to seeming fun/interesting, I’m looking to learn this skill for greater domain range, technical building ability, and professional autonomy. Knowing how to code could eventually help me launch a startup or support an EA-related org. And yeah, earning to give while I ramp makes this path even more attractive. Many great points and thanks for the encouragement!
When it comes to LLMs, I often compare the complexity of writing a world-class software system to the difficulty of writing a world-class novel. Any fifth grader can string together a five-paragraph essay. But it’s a long way from that to writing an astute portrayal of modern society with compelling prose and gripping characters, like Balzac did.
When you hear professional software engineers say they’re not worried about AI, I think this is a large part of what’s going on. Most production code requires you to understand the world around you — you need to understand your customers, the existing technical constraints and your operational budget (how often is the system allowed to crash? What’s the 95th percentile allowed latency? What features can we trade off to reach this?). You often need to understand the viewpoints of your coworkers and/or managers and be able to argue with them when they’re wrong. You need to understand which coworkers or customers to talk to and which ones to ignore (not something I see in the skill set of any LLM so far). In most companies, the more senior a software engineer is, the more this becomes part of their job (instead of day-to-day coding).
That said, I think 80k hours correctly notes that software engineering is a great early-stage career and a mediocre mid-to-late stage career. Nowhere else can you find a cushy, well-defined and fun job that easily pays $100-500k a year. But I think that ends up cutting against you 5-10 years in — many software engineers can get so far off of just coding and being a nerd that they never learn how to solve business problems (and companies are often built around the expectation that software engineers don’t want to learn about the business). That keeps them from moving into more impactful roles. It’s also not a job that lends itself to networking, which probably also affects long-term career prospects.
Since you’re a former business owner, it’s possible this won’t be a problem for you. In that case, working at a tech company is one of the best ways to learn how to code and how to design software systems, and it’s probably a great move for you. I’d just encourage you to keep in mind that coding, while fun, is most impactful as a means to an end than as an end in itself.
When it comes to refining AI generated code, do you imagine this being done within organizations by the same amount of programmers or that LLMs could be managed by fewer senior (or even lower) level engineers? This question is inspired by my observations in marketing, where the stock of full-time writers appears to be going down. I totally get that LLMs can’t create their own prompts, debug every line of code, or approve products, but do you think they’ll start allowing orgs to complete product development cycles with less engineers?
Great point that coding isn’t an end in itself. In addition to seeming fun/interesting, I’m looking to learn this skill for greater domain range, technical building ability, and professional autonomy. Knowing how to code could eventually help me launch a startup or support an EA-related org. And yeah, earning to give while I ramp makes this path even more attractive. Many great points and thanks for the encouragement!