How to Become a 10x Engineer and Stay Safe in the Age of AI Layoffs
We need to reformat the raw article body into clean markdown with paragraphs, headings where topic shifts, bullet/numbered lists for enumerations, inline code or fenced code blocks for code/commands/identifiers. Preserve every fact, name, number, quotation exactly. No intro/conclusion. No title heading. Output only reformatted article body.
We must identify sections: The article is long. We'll break into logical sections.
Let's parse content:
Paragraph 1: "There is a strange contradiction happening in software engineering right now. A lot of developers are worried that AI is going to make them obsolete. At the same time, the people building the most capable AI coding tools are demonstrating something that should probably make us rethink what being a software engineer actually means. I don't think the future is one where nobody understands software anymore. I think it is one where writing the software becomes dramatically cheaper. And if that happens, the thing that makes an engineer valuable has to move. That is what I mean by career safety. Career safety isn't about making yourself impossible to replace. It is about making your value portable."
Paragraph 2: "We've always resisted giving up the code Developers have a long history of being suspicious of abstractions that take work away from us. We went from machine code to assembly, from assembly to higher-level languages, from manually managing memory to garbage collection, from building everything ourselves to libraries and frameworks, and from text editors to IDEs. We even had entire categories of tools, such as CASE tools, designed to automate parts of software development. And every time, there was resistance. Because programmers don't just use code. We build our identities around it."
Then a quote: John Carmack captured this unusually well when he wrote: โCodingโ was never the source of value, and people shouldnโt get overly attached to it. - John Carmack He followed that with the more important point: Problem solving is the core skill. - John Carmack
We need to preserve quotes exactly. Use blockquote? Probably just keep as is with quotation marks and attribution.
Paragraph: "That is a difficult idea for developers to internalize because coding is tangible. You can point at the repository. You can point at the pull request. You can count the commits. You can say, "I wrote this." But the business doesn't ultimately pay you for the number of lines you wrote. It pays you for what those lines accomplish. The business never really bought the code"
Then: "A company doesn't wake up in the morning thinking: "We need 14,000 more lines of TypeScript." It thinks: "We need to reduce the cost of this process." "We need to launch this product." "We need to increase conversion." "We need to satisfy this regulatory requirement." "We need to reduce operational risk." "We need to make our customers happier." The code is the mechanism. The outcome is the value. That distinction matters enormously when the cost of producing code starts approaching zero. And I think this is where the current AI discussion often goes wrong. The argument becomes: "AI can't write perfect code." Maybe. "AI still makes mistakes." Absolutely. "I had to spend an hour fixing what the AI generated." I've done that too. But those observations don't answer the important question. How quickly is the capability improving? The code AI generated a year ago was often laughably bad. Today's systems are substantially better. And the direction of travel matters more than whether today's models can replace every engineer. You don't need AI to become perfect for the economics of software development to change. You only need the cost of producing implementation to keep falling. Linus Torvalds recently made essentially this pragmatic argument about AI in the Linux kernel: โAI is a tool, just like other tools we use. And itโs clearly a useful one.โ- Linus Torvalds He went further, saying that decisions in the kernel should be based on: โtechnical merit. Not fear of new tools.โ- Linus Torvalds That distinction is incredibly important. The question isn't whether AI is morally good or bad. The question is: Does the tool help us produce better technology? If the answer increasingly becomes yes, then refusing to use it isn't protecting the profession. It is simply refusing a tool. Understanding code isn't the same as typing it"
Then: "This is where I think we need to separate two things that have become conflated. Understanding software and manually producing software are not the same skill. A compiler already transforms the code we write into something else. Libraries allow us to avoid implementing primitives ourselves. Frameworks give us enormous amounts of functionality without us writing the underlying infrastructure. Garbage collectors manage memory we previously had to manage ourselves. IDEs autocomplete, refactor and navigate code for us. Nobody seriously argues that using these tools means we aren't software engineers. AI is another step in the same direction. The difference is that this step is much larger. Instead of automating one small part of implementation, AI can potentially automate substantial portions of the implementation itself. That doesn't make understanding less important. It makes understanding more important. If I ask an AI system to build a payment workflow, I need to understand payments. If I ask it to design an insurance pricing system, I need to understand insurance. If I ask it to modify a distributed system, I need to understand distributed systems. The machine can increasingly help with the implementation. It cannot magically give me the context that determines whether the implementation is the right thing to build. And that leads to what I think will become one of the biggest career advantages of the next decade. Domain expertise becomes a moat"
Then: "Imagine two engineers. The first is: Senior Full Stack TypeScript Engineer. The second is: London Specialty Insurance Product Engineer. The first might be excellent at React, Node.js, TypeScript, databases and cloud infrastructure. The second understands specialty insurance. They understand brokers. They understand underwriting. They understand policies. They understand claims. They understand regulatory constraints. They understand how the business actually makes money. They understand which workflows are painful. They understand which problems are worth solving. If AI makes software implementation dramatically cheaper, which of those profiles becomes more differentiated? Probably the second. Because technology knowledge is increasingly becoming something AI can augment. Deep knowledge of a particular business domain is much harder to manufacture on demand. This doesn't mean you should abandon technical expertise. Quite the opposite. It means you should combine technical expertise with domain expertise. If you're working in finance, learn finance. If you're working in healthcare, learn healthcare. If you're working in insurance, learn insurance. Read the books. Understand the regulations. Talk to customers. Understand the economics. Learn how the industry actually works. I increasingly think engineers should be reading as many books about their industry as they read about technology."
Then: "The engineer becomes a product person This also changes the relationship between engineering and product management. For a long time, organizations could afford a relatively clean separation. Product people decide what to build. Engineers decide how to build it. But what happens when the cost of implementation falls dramatically? The bottleneck moves. The scarce resource becomes knowing what should be built. That makes product judgment increasingly valuable for engineers. Can you understand a customer's problem? Can you translate it into a useful product? Can you understand the business case? Can you identify the constraints? Can you decide what not to build? Can you describe the desired outcome precisely enough that a machine can implement it? That last question is particularly important. Because the next generation of software engineering may look less like: "Give me a ticket and I'll write the code." And more like: "Give me a business problem and I'll turn it into a system of coordinated machines that can safely solve it.""
Then: "The compression of the middle There is another consequence of AI that is worth considering: it may not only reduce the amount of implementation work required, but also compress some of the intermediate organizational layers around engineering. As AI makes it easier to gather information, analyze requirements, synthesize feedback, produce specifications, and coordinate work, roles such as analysts, Scrum Masters, and some forms of project or product coordination may become leaner. This doesn't mean these functions disappear, but fewer people may be needed to translate information between customers, product teams, and engineers. That makes communication an increasingly important engineering skill. An engineer who can speak directly with users, understand their problems, gather and synthesize feedback, identify patterns across different customers, and translate those patterns into general-purpose solutions could become considerably more valuable. Instead of simply implementing a requirement handed down through several layers of an organization, that engineer can participate directly in discovering the requirement. This also changes what it means to be good at product management. Product thinking isn't simply about writing requirements or managing a backlog; it involves understanding people and their problems, communicating effectively, distinguishing individual requests from broader patterns, and deciding which problems are worth solving. In a leaner organization, the engineer who can bridge the gap between user problem โ product insight โ technical solution may have significantly more leverage than an engineer who only receives a specification and implements it. The interesting consequence is that AI may therefore make communication skills more important for engineers, not less. As the number of intermediaries decreases, the ability to communicate directly with the people experiencing the problem becomes increasingly valuable."
Then: "The next engineering skill is operating agents I don't think the most interesting future is one where an engineer has one AI assistant open in their IDE. I think it is one where an engineer can operate a fleet of agents. One agent investigates the existing architecture. Another implements a feature. Another writes tests. Another reviews the implementation. Another performs security analysis. Another evaluates performance. Another updates documentation. Another runs experiments. And potentially dozens or hundreds of these processes can operate in parallel. At that point, the scarce skill isn't typing. It's orchestration. You need to know how to decompose a problem. How to specify work. How to establish boundaries. How to give agents the right context. How to structure systems so that work can happen safely in parallel. How to verify the results. How to detect when an agent has gone off course. How to roll back changes. How to evaluate whether the system actually achieved the intended outcome. In other words, the engineer moves up another level of abstraction. From writing code to causing valuable software to be produced. And I think this is where Linus's pragmatism becomes especially relevant. His position isn't "let the machines do whatever they want." It's essentially the opposite. Use the tool if it is useful. Judge the result on technical merit. Don't confuse opposition to the tool with engineering quality. The standard doesn't disappear because AI produced the code. If anything, the standard has to become more explicit. Verification becomes more important than generation"
Then: "There is an uncomfortable implication here. If one engineer can produce ten times as much implementation with AI, we cannot simply review ten times as much code manually. The old process breaks. Today we often have: Human โ code โ human review Tomorrow we may have: Human โ specification โ many agents โ automated verification โ human judgment That requires a different engineering discipline. We need better architectures. Better tests. Better specifications. Better observability. Better evaluation. Better security controls. Better deployment boundaries. Better rollback mechanisms. Better ways of proving that the generated system does what we intended. This is why I don't think AI makes engineering less important. It makes engineering discipline more important. The amount of generated code may explode. Our ability to trust that code cannot depend on reading every line. We need systems that make correctness easier to verify."
Then: "So what actually makes a career safe? This is the question I care about most. Because if coding becomes increasingly commoditized, simply becoming a better coder may not be enough. The answer, I think, is to build career capital in layers: Technical depth You still need to understand how software works. You need architecture. You need systems thinking. You need to understand databases, networks, distributed systems, security, reliability and the fundamentals of computing. AI doesn't remove the need for this knowledge. It gives you more leverage if you have it. Domain expertise Become unusually knowledgeable about something that matters to a business. Don't just be "a TypeScript developer." Become the engineer who understands a particular industry, market or class of problems deeply. Product judgment Learn to identify valuable problems. Understand customers. Understand economics. Understand trade-offs. Understand why something should be built, not just how. Specification Learn to turn ambiguous goals into precise systems and constraints. This may become one of the defining engineering skills of the AI era. The better you can specify a problem, the more leverage you can get from machines. Verification Learn how to determine whether a system is actually correct. Testing. Evaluation. Observability. Security. Performance. Failure analysis. Rollback. These skills become more valuable as the amount of machine-generated output increases. Reputation Build proof that exists outside your current employer. Write. Build open source. Contribute. Speak. Teach. Publish. Create things people can see. Your employer can remove your job. They cannot remove the body of work you've built in public. That's what makes career capital portable. Become replaceable at the task level There is a strange career"
The article ends abruptly: "Become replaceable at the task level There is a strange career". Probably cut off. We must preserve exactly as given, no addition. So we keep that final fragment.
Now we need to format into markdown with headings where topic shifts.
Identify sections:
- Introduction / contradiction and career safety concept.
- History of resistance to abstractions + Carmack quote.
- Business value vs lines of code + AI discussion + Linus Torvalds quote.
- Understanding code vs typing it + domain expertise moat.
- Engineer becomes product person.
- Compression of middle / communication importance.
- Operating agents / orchestration.
- Verification vs generation.
- Building career capital in layers (technical depth, domain expertise, product judgment, specification, verification, reputation).
- Final fragment: "Become replaceable at the task level There is a strange career"
We need to ensure we preserve quotes exactly, including punctuation and attribution.
We need to use inline code or fenced code blocks for code, commands, identifiers. In the text there are some code-like items: "14,000 more lines of TypeScript", "TypeScript", "React, Node.js, TypeScript", "Linux kernel". Those are identifiers; we can wrap them in backticks. Also maybe "AI". But not necessary unless they appear as code. The instruction: "Use bullet or numbered lists for enumerations, and inline code or fenced code blocks where code, commands, or identifiers appear." So we should wrap identifiers like TypeScript, React, Node.js, Linux kernel in backticks. Also maybe "CASE tools". Also "AI" maybe not needed but could be considered identifier. We'll apply to programming languages, tools.
Also there are enumerations: lists like "We went from machine code to assembly, from assembly to higher-level languages, from manually managing memory to garbage collection, from building everything ourselves to libraries and frameworks, and from text editors to IDEs." That's a series; could be bullet list. Also list of business needs: "We need to reduce the cost of this process." etc. Could be bullet list. Also list of agent roles: "One agent investigates the existing architecture. Another implements a feature. Another writes tests. Another reviews the implementation. Another performs security analysis. Another evaluates performance. Another updates documentation. Another runs experiments." Could be bullet list.
Also list of skills under career capital: "Technical depth You still need to understand how software works. You need architecture. You need systems thinking. You need to understand databases, networks, distributed systems, security, reliability and the fundamentals of computing." Could be bullet list.
Also list under verification: "Testing. Evaluation. Observability. Security. Performance. Failure analysis. Rollback." Could be bullet list.
Also list under reputation: "Write. Build open source. Contribute. Speak. Teach. Publish. Create things people can see." Could be bullet list.
We need to preserve every fact, name, number, quotation exactly. So we cannot change wording except light polishing for flow and grammar. We can adjust punctuation? Light polishing allowed. We'll keep quotes exactly.
We need to break into short paragraphs separated by blank line.
We'll produce markdown with headings using ##.
Let's craft.
Section headings:
Career Safety in the Age of AI
Historical Resistance to Abstractions
Business Value Over Lines of Code
Understanding Code vs Typing It
Domain Expertise as a Moat
The Engineer as a Product Person
Communication and Organizational Compression
Operating Agents and Orchestration
Verification Becomes More Important Than Generation
Building Career Capital in Layers
Becoming Replaceable at the Task Level
But we must not repeat article title as heading. The title is "How to Become a 10x Engineer and Stay Safe in the Age of AI Layoffs". We must not output that as heading. So we can use other headings.
Now we need to embed the content.
Let's draft each section.
Section 1: Career Safety in the Age of AI
Paragraph: "There is a strange contradiction happening in software engineering right now. A lot of developers are worried that AI is going to make them obsolete. At the same time, the people building the most capable AI coding tools are demonstrating something that should probably make us rethink what being a software engineer actually means. I don't think the future is one where nobody understands software anymore. I think it is one where writing the software becomes dramatically cheaper. And if that happens, the thing that makes an engineer valuable has to move. That is what I mean by career safety. Career safety isn't about making yourself impossible to replace. It is about making your value portable."
Section 2: Historical Resistance to Abstractions
Paragraph: "We've always resisted giving up the code Developers have a long history of being suspicious of abstractions that take work away from us. We went from machine code to assembly, from assembly to higher-level languages, from manually managing memory to garbage collection, from building everything ourselves to libraries and frameworks, and from text editors to IDEs. We even had entire categories of tools, such as CASE tools, designed to automate parts of software development. And every time, there was resistance. Because programmers don't just use code. We build our identities around it."
Then include the Carmack quotes as separate paragraphs maybe blockquote? We'll keep as is with quotation marks and attribution.
Paragraph: "John Carmack captured this unusually well when he wrote: โCodingโ was never the source of value, and people shouldnโt get overly attached to it. - John Carmack He followed that with the more important point: Problem solving is the core skill. - John Carmack"
Section 3: Business Value Over Lines of Code
Paragraph: "That is a difficult idea for developers to internalize because coding is tangible. You can point at the repository. You can point at the pull request. You can count the commits. You can say, "I wrote this." But the business doesn't ultimately pay you for the number of lines you wrote. It pays you for what those lines accomplish. The business never really bought the code"
Then a bullet list of business needs:
- "We need to reduce the cost of this process."
- "We need to launch this product."
- "We need to increase conversion."
- "We need to satisfy this regulatory requirement."
- "We need to reduce operational risk."
- "We need to make our customers happier."
Paragraph continues: "The code is the mechanism. The outcome is the value. That distinction matters enormously when the cost of producing code starts approaching zero. And I think this is where the current AI discussion often goes wrong. The argument becomes: "AI can't write perfect code." Maybe. "AI still makes mistakes." Absolutely. "I had to spend an hour fixing what the AI generated." I've done that too. But those observations don't answer the important question. How quickly is the capability improving? The code AI generated a year ago was often laughably bad. Today's systems are substantially better. And the direction of travel matters more than whether today's models can replace every engineer. You don't need AI to become perfect for the economics of software development to change. You only need the cost of producing implementation to keep falling. Linus Torvalds recently made essentially this pragmatic argument about AI in the Linux kernel: โAI is a tool, just like other tools we use. And itโs clearly a useful one.โ- Linus Torvalds He went further, saying that decisions in the kernel should be based on: โtechnical merit. Not fear of new tools.โ- Linus Torvalds That distinction is incredibly important. The question isn't whether AI is morally good or bad. The question is: Does the tool help us produce better technology? If the answer increasingly becomes yes, then refusing to use it isn't protecting the profession. It is simply refusing a tool. Understanding code isn't the same as typing it"
Note: Need to preserve quotes exactly, including the em dash and spacing. We'll keep as given.
Section 4: Understanding Code vs Typing It
Paragraph: "This is where I think we need to separate two things that have become conflated. Understanding software and manually producing software are not the same skill. A compiler already transforms the code we write into something else. Libraries allow us to avoid implementing primitives ourselves. Frameworks give us enormous amounts of functionality without us writing the underlying infrastructure. Garbage collectors manage memory we previously had to manage ourselves. IDEs autocomplete, refactor and navigate code for us. Nobody seriously argues that using these tools means we aren't software engineers. AI is another step in the same direction. The difference is that this step is much larger. Instead of automating one small part of implementation, AI can potentially automate substantial portions of the implementation itself. That doesn't make understanding less important. It makes understanding more important. If I ask an AI system to build a payment workflow, I need to understand payments. If I ask it to design an insurance pricing system, I need to understand insurance. If I ask it to modify a distributed system, I need to understand distributed systems. The machine can increasingly help with the implementation. It cannot magically give me the context that determines whether the implementation is the right thing to build. And that leads to what I think will become one of the biggest career advantages of the next decade. Domain expertise becomes a moat"
Section 5: Domain Expertise as a Moat
Paragraph: "Imagine two engineers. The first is: Senior Full Stack TypeScript Engineer. The second is: London Specialty Insurance Product Engineer. The first might be excellent at React, Node.js, TypeScript, databases and cloud infrastructure. The second understands specialty insurance. They understand brokers. They understand underwriting. They understand policies. They understand claims. They understand regulatory constraints. They understand how the business actually makes money. They understand which workflows are painful. They understand which problems are worth solving. If AI makes software implementation dramatically cheaper, which of those profiles becomes more differentiated? Probably the second. Because technology knowledge is increasingly becoming something AI can augment. Deep knowledge of a particular business domain is much harder to manufacture on demand. This doesn't mean you should abandon technical expertise. Quite the opposite. It means you should combine technical expertise with domain expertise. If you're working in finance, learn finance. If you're working in healthcare, learn healthcare. If you're working in insurance, learn insurance. Read the books. Understand the regulations. Talk to customers. Understand the economics. Learn how the industry actually works. I increasingly think engineers should be reading as many books about their industry as they read about technology."
We need to wrap identifiers like TypeScript, React, Node.js, Linux kernel in backticks. Also maybe "CASE tools". We'll do that.
Section 6: The Engineer as a Product Person
Paragraph: "The engineer becomes a product person This also changes the relationship between engineering and product management. For a long time, organizations could afford a relatively clean separation. Product people decide what to build. Engineers decide how to build it. But what happens when the cost of implementation falls dramatically? The bottleneck moves. The scarce resource becomes knowing what should be built. That makes product judgment increasingly valuable for engineers. Can you understand a customer's problem? Can you translate it into a useful product? Can you understand the business case? Can you identify the constraints? Can you decide what not to build? Can you describe the desired outcome precisely enough that a machine can implement it? That last question is particularly important. Because the next generation of software engineering may look less like: "Give me a ticket and I'll write the code." And more like: "Give me a business problem and I'll turn it into a system of coordinated machines that can safely solve it.""
Section 7: Communication and Organizational Compression
Paragraph: "The compression of the middle There is another consequence of AI that is worth considering: it may not only reduce the amount of implementation work required, but also compress some of the intermediate organizational layers around engineering. As AI makes it easier to gather information, analyze requirements, synthesize feedback, produce specifications, and coordinate work, roles such as analysts, Scrum Masters, and some forms of project or product coordination may become leaner. This doesn't mean these functions disappear, but fewer people may be needed to translate information between customers, product teams, and engineers. That makes communication an increasingly important engineering skill. An engineer who can speak directly with users, understand their problems, gather and synthesize feedback, identify patterns across different customers, and translate those patterns into general-purpose solutions could become considerably more valuable. Instead of simply implementing a requirement handed down through several layers of an organization, that engineer can participate directly in discovering the requirement. This also changes what it means to be good at product management. Product thinking isn't simply about writing requirements or managing a backlog; it involves understanding people and their problems, communicating effectively, distinguishing individual requests from broader patterns, and deciding which problems are worth solving. In a leaner organization, the engineer who can bridge the gap between user problem โ product insight โ technical solution may have significantly more leverage than an engineer who only receives a specification and implements it. The interesting consequence is that AI may therefore make communication skills more important for engineers, not less. As the number of intermediaries decreases, the ability to communicate directly with the people experiencing the problem becomes increasingly valuable."
Section 8: Operating Agents and Orchestration
Paragraph: "The next engineering skill is operating agents I don't think the most interesting future is one where an engineer has one AI assistant open in their IDE. I think it is one where an engineer can operate a fleet of agents. One agent investigates the existing architecture. Another implements a feature. Another writes tests. Another reviews the implementation. Another performs security analysis. Another evaluates performance. Another updates documentation. Another runs experiments. And potentially dozens or hundreds of these processes can operate in parallel. At that point, the scarce skill isn't typing. It's orchestration. You need to know how to decompose a problem. How to specify work. How to establish boundaries. How to give a
Comments
No comments yet. Start the discussion.