How I ship projects at big tech companies
What I think about when I'm lead engineer on a project
Sean Goedecke's personal blog
Visit seangoedecke.com → RSS feedOn Hacker News Oct 2020 – Nov 2026
Career & Management 22AI & Machine Learning 17Software Engineering 16Tech Industry & Business 9Society, Policy & Culture 7Life, Learning & Writing 5
What I think about when I'm lead engineer on a project
In the 2010s, if you had technical gaps (say, you couldn’t write CSS), you had to either rely on a skilled colleague or just hope that the answer to your exact…
When designing software systems, do the simplest thing that could possibly work. It’s surprising how far you can take this piece of advice. I genuinely think…
I see a lot of bad system design advice. One classic is the LinkedIn-optimized “bet you never heard of queues” style of post, presumably aimed at people who are…
What I've learned from ten years working on projects like this
When I get together with my friends in the industry, I feel a little guilty about how much I love my job. This is a tough time to be a software engineer. The…
What’s the strongest model I can train on my MacBook Pro in five minutes? I’ll give the answer upfront: the best 5-minute model I could train was a ~1.8M-param…
There’s a kind of polite fiction at the heart of the software industry. It goes something like this: Estimating how long software projects will take is very…
I don’t think there’s compelling evidence that using AI makes you less intelligent overall. However, it seems pretty obvious that using AI to perform a task…
Many engineers should be doing less work. I don’t necessarily mean producing less code or fewer changes, but literally working fewer hours in the day. When they…
Most of what modern software engineers do involves APIs: public interfaces for communicating with a program, like this one from Twilio. I’ve spent a lot of time…
Every couple of years somebody notices that large tech companies sometimes produce surprisingly sloppy code. If you haven’t worked at a big company, it might be…
OpenAI just released its first ever open-source large language models, called gpt-oss-120b and gpt-oss-20b. You can talk to them here. Are they good models…
The big idea of James C. Scott’s Seeing Like A State can be expressed in three points: Modern organizations exert control by maximising “legibility”: by…
Many software engineers are fatalistic about company politics. They believe that it’s pointless to get involved, because: Technical decisions are often made for…
Technical taste is different from technical skill. You can be technically strong but have bad taste, or technically weak with good taste. Like taste in general…
How tech companies make money and why it's important
Why is DeepSeek-V3 supposedly fast and cheap to serve at scale, but too slow and expensive to run locally? Why are some AI models slow to respond but fast once…
What does it mean to get things done? In the abstract, you can complete a mathematical proof or a problem set, but the real world is much fuzzier. Suppose I…
A lot of my readers call me a cynic when I say things like “you should do things that make your manager happy” or “big tech companies get to decide what…
Only the engineers who work on a large software system can meaningfully participate in the design process. That’s because you cannot do good software design…
Ever since Golden Gate Claude I’ve been fascinated with “steering”: the idea that you can guide LLM outputs by directly manipulating the activations of the…
What I use them for and what I don't
Four archetypes in software engineering
Reading research papers and articles about chain-of-thought reasoning makes me frustrated. There are many interesting questions to ask about chain-of-thought…
Anthropic and OpenAI both recently announced “fast mode”: a way to interact with their best coding model at significantly higher speeds. These two versions of…
Using AI agents correctly is a process of reviewing code. If you’re good at reviewing code, you’ll be good at using tools like Claude Code, Codex, or the…
For most of the last decade, being a software engineer has been a lot of fun. Every company offered lots of perks, layoffs and firings were almost unheard of…
Every post I publish represents at least two things I’ve learned: the thing that prompted me to write the post, and the thing I learned in the course of writing…
Transformer-based large language models are relatively easy to understand. You break language down into a finite set of “tokens” (words or sub-word components…