When people find out I’m a Software Engineer they often ask me how LLMs are affecting my job. If writing code is getting replaced, aren’t I at risk?

Let’s say you’re involved in home construction. Traditionally that involves putting up walls, setting up the HVAC, doing the wiring, etc.

But a robot comes out that’s very good at that.

Are you out of a job? No.

Turns out building the walls was never really the hard part, it was making sure the structure of the home could meet expected lateral and gravity loads with minimal cost while providing a pleasant and airy interior.

And the HVAC is less about installing the unit and more about creating a ventilation strategy that balances perceived temperature (not at the thermostat!), pressure, and operating cost.

But they build a robot that’s very good at that too.

Turns out the hard part of homebuilding was coordinating all the components so you don’t put up the drywall and then the internet doesn’t work because you put the Ethernet cables too close to the electrical wiring.

The robot has an update, it can do that too now.

Now the difficulty is talking to customers, building trust, and helping them understand the trade-offs in front of them. Customers don’t know anything about homes, yet you must help them choose between a walk-in pantry or a dedicated laundry room on the bedroom floor, because they can’t afford both.

Somehow, they build a robot that’s good at this too.

Well the hard part is sourcing quality materials at a good price and making sure your robots show up on time with the tools and materials they need to do the job you’ve clearly specified.

New update.

The hard part is now striking deals with developers and creating an efficient production pipeline of homes to make sure their customers get their homes on time.

Update.

Market research to create a collection of pre-made home designs that satisfy 90% of customers while cutting material costs 30% due to massive bulk orders and speeding up inspections.

Update.

Building a coalition of local interest groups in order to rezone new land for development, getting the city to commit to building roads and power/water hookups.

Update.

Getting bigger margins by designing more liveable communities with parks, schools, trails, retail/office space, and public transit connections.

And so on.


In software, we’ve been laddering our way up the levels of abstraction like this for decades.

If you’ve studied a complex system for years, like the U.S. financial system or the global supply chain network, you might be able to understand just how many abstraction layers we’ve built up in software. But for a layman without this experience, it can be hard to imagine.

And every time we’ve solved a layer of the software problem and made it easier, the demand for more software increased.

Yes, we’re laddering a lot faster now with AI. For now, humans have been comfortably moving on to the next level of abstraction above AI.

Is there an end to the ladder? I don’t see one, but I know I can’t see very far. I don’t know.

I do know that at each level of abstraction we introduce new difficulties. People to make happy, complex trade-offs to balance, and ever longer term planning.

This is tough for both LLMs and humans. Not every engineer makes it to the next level of the ladder. And at each step the LLMs will find it harder to understand what the problem is and how to measure if it’s solved.

Problems become more wicked.

  • We stop having easy solutions like “made it twice as fast” and instead it’s “if we make it twice as fast it costs 1.4x more” where a dozen stakeholders have different opinions on what the best option is.
  • Solutions become irreversible and require large amounts of investment. What if we fundamentally rearchitected our system? Is that necessary to survive the three years, or would it cost $20m for little reward?

I’m not saying humans will always be one step ahead of the LLMs. I don’t know how this could go. But this is how I’m thinking about it.

As to how that affects software engineering careers, I don’t know.

Maybe:

  • The ladder tops out and LLMs can solve software problems cheaper than humans. Software engineering goes the way of the farriers.
  • Even if software demand grows, staffing could still shrink if productivity grows faster.
  • AI takes over all white collar work.
  • Some software engineers create new roles with less technical emphasis but with more fun, impact, and compensation, while others fall off the ladder.
  • LLMs peter out in a year and technical skills remain highly valued, everything stays the same.