Sean Goedecke
Subscribe
Archives
Getting things "done" in large tech companies
May 5, 2025
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…
The valley of engineering despair
April 29, 2025
I have delivered a lot of successful engineering projects. When I start on a project, I’m now very (perhaps unreasonably) confident that I…
Sycophancy is the first LLM "dark pattern"
April 27, 2025
People have been making fun of OpenAI models for being overly sycophantic for months now. I even wrote a post advising users to pretend that…
Debugging, emotional resilience, and mental models
April 26, 2025
Being good at debugging is more useful than being good at writing code - you only write a piece of code once, but you may end up debugging…
The OpenAI house style is exhausting
April 24, 2025
I was reading this Reddit post when I noticed a pattern: a few times now I’ve seen a negative Reddit comment that to me just screamed…
Senior engineers should make side bets
April 24, 2025
When you’re a junior, you should work on what you’re given. There are two reasons for this. First, your work needs to be supervised and…
Anarchy in the East India Company
April 24, 2025
I recently read (well, listened to the audiobook of) The Anarchy: The Relentless Rise of the East India Company by William Dalrymple. Before…
When you should lie to the language model
April 20, 2025
Here’s an unreasonably effective trick for working with AIs: always pretend that your work was produced by someone else. The problem is that…
Is using AI wrong? A review of six popular anti-AI arguments
April 19, 2025
Some people really, really don’t like AI. Broadly speaking, being anti-AI is a popular left-wing position: AI is cringe, it’s plagiarism, it…
Principles for coding securely with LLMs
April 14, 2025
Writing code with LLMs is fundamentally different from other ways of programming. LLMs are often non-deterministic and always unpredictable…
Designing software that could possibly work
April 13, 2025
Whenever anyone describes a piece of software to me, I think about how I would build it. Software engineers do this a lot, but many of them…
Why are model arena leaderboards dominated by slop?
April 13, 2025
When LMSYS (aka LMArena, aka Chatbot Arena) first blew up, I thought it was the best way possible of determining which LLM really was the…
Software engineering under the spotlight
April 11, 2025
Think of a tech company as a giant, dimly-lit factory. Work goes on throughout the factory as components shuffle back and forth, and…
Wicked features
April 11, 2025
Why is working at large tech companies so hard? It’s because a small subset of “wicked features” dominate everything else. If you’re…
How strong engineers break the rules and get away with it
April 4, 2025
At every large tech company, some engineers get rewarded for visibly breaking the rules. This can be really frustrating for a certain kind…
Dangerous advice for software engineers
April 4, 2025
I’m a big fan of “sharp tools”. These are tools that are powerful enough to be hugely helpful or harmful, depending on how they’re used…
In defense of ruthless managers
March 30, 2025
There are two kinds of engineering manager: empathetic and ruthless. I think ruthless managers are underrated for a few reasons. Empathetic…
How to work in tech when your job isn't safe
March 27, 2025
In the glory days of the 2010s, tech companies were very invested in their employees’ work-life balance. Those glory days are over…
The future of AI is Ruby on Rails
March 19, 2025
Large language models are very good at generating and editing code. Right now, it’s probably the “killer app” of AI: the companies actually…
Engineers should state the obvious
March 19, 2025
One surprising thing I’ve learned from writing this blog is that I should worry a lot less about saying things that seem obvious. A lot of…
The good times in tech are over
March 15, 2025
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…
Refactoring to understand and "vibe coding"
March 14, 2025
In the last months, the practice of getting a LLM to build your entire program for you (via Cursor, or Copilot, or just asking ChatGPT) has…
What's next after the AI bubble bursts?
March 7, 2025
In the mid-1800s, America went mad for rail. Over thirty thousand miles of rail were built in a five year period. This was all largely…
Model Context Protocol explained as simply as possible
March 7, 2025
Three months ago, Anthropic released “the Model Context Protocol”, or MCP. In the last few weeks, interest in it seems to have really picked…
Great software design looks underwhelming
March 6, 2025
Years ago I spent a lot of time reviewing coding challenges. The challenge itself was very straightforward - building a CLI tool that hit an…
Value over replacement in software engineering
February 28, 2025
There are two ways of assessing how much value you’re providing as an engineer. The first way is to total up all of the code you’ve shipped…
How I decide what to work on at large tech companies
February 28, 2025
One of the most important career skills in tech is learning to recognize what work actually matters. Many engineers go through their careers…
Knowing where your engineer salary comes from
February 28, 2025
With the recent flurry of US federal firings, many people are pointing and laughing at the Trump-voting federal employees who are just now…
Paths through the space of all possible solutions
February 25, 2025
Some things you can’t do because they’re impossible. For instance, if you’re designing a distributed system, you can’t violate the CAP…
Advice for prompting reasoning models
February 22, 2025
I’ve written about how prompting regular LLMs is not as important as people think. Reasoning models are different. When you’re using…
How I know I'm working with a strong engineer
February 22, 2025
There are many ways to judge engineers (lines of code written, how smart they sound, choice of IDE, what projects they’ve worked on). I…
Weak engineering managers
February 21, 2025
In a previous post I made the point that having a weak manager - a manager without political clout - is really bad news if you’re an…
Using LLMs effectively isn't about prompting
February 20, 2025
When people talk about using language models effectively, they mainly talk about prompting: sharing great prompts, lists of tips for…
Thinking like a LLM
February 14, 2025
Large language models have gotten much better at thinking in the past few years. Billions of dollars have been spent to study how they think…
To avoid being replaced by LLMs, do what they can't
February 14, 2025
It’s a strange time to be a software engineer. Large language models are very good at writing code and rapidly getting better. Multiple…
Engineers who won’t commit
February 9, 2025
Some engineers think it’s a virtue to remain non-committal in technical discussions. Should our team build a new feature in an event-driven…
Good engineers are right, a lot
February 5, 2025
Amazon infamously has a leadership principle where they say “good leaders are right, a lot”. It’s unclear to me how useful it is about…
How I use LLMs as a staff engineer
February 3, 2025
Software engineers are deeply split on the subject of large language models. Many believe they’re the most transformative technology to ever…
Why does AI slop feel so bad to read?
January 31, 2025
I don’t like reading obviously AI-generated content on Twitter. There’s a derogatory term for it: AI “slop”, which means something like “AI…
Are DeepSeek's new models really that fast and cheap?
January 30, 2025
Everyone’s saying that DeepSeek’s latest models represent a significant improvement over the work from American AI labs. If they’re not…
Why AI labs offer so many different models
January 27, 2025
Major AI labs these days (i.e. early 2025) offer a wide variety of models. Some are faster and cheaper, some are smarter, and now some are…
What did DeepSeek figure out about reasoning with DeepSeek-R1?
January 25, 2025
The Chinese AI lab DeepSeek recently released their new reasoning model R1, which is supposedly (a) better than the current best reasoning…
Playing politics is how senior engineers protect their team
January 25, 2025
When I write about doing politically valuable work in big tech companies, I often get comments accusing me of trying to get ahead at the…
Working fast and slow
January 24, 2025
Some engineers work very consistently, putting in the same hours every day and getting out the same amount of work. I don’t. Some days I…
Why are big tech companies so slow?
January 23, 2025
Big tech companies spend a lot of time and money building things that a single, motivated engineer could build in a weekend. This fact…
Protecting your time from predators in large tech companies
January 18, 2025
If you’re a competent software engineer at a large tech company, your time is in very high demand. Lots of people will want you to do things…
Thinking clearly about software
January 17, 2025
You can go a long way as a software engineer without ever managing to think clearly. The feedback loop of writing and running code is so…
Giving pushback to leadership
January 15, 2025
Saying no to leadership is sometimes necessary when you’re at the helm of a project. Whether they’re proposing a timeline that can’t be…
Crushing JIRA tickets is a party trick, not a path to impact
January 13, 2025
Don’t be a JIRA ticket zombie! I think a common experience among ambitious juniors - certainly I did this once - is to get frustrated at the…
What it's like working for American companies as an Australian
January 9, 2025
For the last ten years I’ve worked for American tech companies as an Australian based in Australia. First I worked in a satellite office for…
Older archives
LinkedIn