â€Ļ has too many hobbies.

Why tech companies encourage their software engineers to use LLMs

It's not news that many tech companies are encouraging or even requiring use of LLM coding tools like Claude Code. While reading Sean Goedecke's post about bad code at big companies, it occurred to me that tech companies are happy to have their software engineers use LLMs for many of the same reasons they're okay with their engineers producing bad code.

A key takeaway for me was that most tech companies are engaged in "impure software engineering" and don't value "good code" the same way a software engineer who goes to software craftsmanship meetups might. This is not an accident; they consciously choose to prioritize other values over the conditions that allow engineers to produce "good code."

Most tech companies are engaged in "impure software engineering:" building systems that simply need to meet some requirements, often on a tight deadline. It doesn't have to be perfect, and it certainly doesn't have to be beautifully-implemented. It needs to work, and it needs to work on time. Meanwhile, engineers are shifted from one project to another quickly and not allowed to develop deep expertise in any one area.

LLM coding tools provide a quick way to practice "impure" software engineering in this environment. The resulting system needs to work, quickly; LLMs can get you there faster, especially with engineers unfamiliar with the codebase du jour. The resulting codebase might not be pretty, but to the company, that doesn't matter.

Now, I am not saying that it's not possible to produce good code with an LLM. I do, at work, multiple times a week! It's very possible to produce "good code" with an LLM, faster than you can hand-write it. It's just not the default — it requires paying attention to what the LLM is doing, developing and exercising knowledge about the codebase, back-and-forth dialogue with the machine, and careful review of the results.

Companies encouraging LLM use know that using LLMs like I do probably isn't the default, but again: if the end result of their software engineers adopting LLMs is an increased ability to execute on whatever this month's goal is, that's worth the tradeoff.

Tech companies may also encourage LLM usage because it helps level-up their junior engineers. Kent Beck wrote about this in The Bet On Juniors Just Got Better, which I highly recommend. Popular belief is that Codex, Claude Code, etc. are killing off the need for junior engineers; Beck makes a compelling case that they actually help these developers become more productive, faster.

In a similar vein, LLMs can help explore, answer questions about, and get you oriented in an unfamiliar codebase, much faster than before. This is one of my favorite use cases for a tool like Claude Code, and in fact it's my go-to suggestion for someone who is new to, or skeptical about LLM coding tools. Regardless of seniority, having Claude Code available while you dive into an unfamiliar codebase is going to be helpful.

So, why are tech companies encouraging LLM adoption?

  • They're prioritizing shipping over craftsmanship
  • They believe their engineers will level up and get oriented faster

If your company is pushing you to use LLMs, it may be helpful for you to consider why they're doing it and what it says about your company's priorities. You should probably also consider what you can do to make sure you're delivering in line with those priorities.