Sean Goedecke
Subscribe
Archives
Writing a tech blog people want to read
January 9, 2025
My blog has gotten a lot of traffic in the last few months. Here’s what I think I’ve been doing that’s working, and a few things that have…
What makes strong engineers strong?
January 8, 2025
As I’ve written about before, what defines a strong engineer is the ability to do tasks that weaker engineers can’t, even with near…
Is it cynical to do what your manager wants?
January 7, 2025
When I suggest doing what your management chain wants, people call me cynical. Is it cynical to deliberately work on things your company…
Ratchet effects determine engineer reputation at large companies
January 4, 2025
How do engineers become higher-status or lower-status at large tech companies? In other words, what determines who gets promoted and who…
Mistakes engineers make in large established codebases
January 1, 2025
Working in large established codebases is one of the hardest things to learn as a software engineer. You can’t practice it beforehand (no…
How I got promoted to staff engineer twice
December 27, 2024
At the beginning of 2021, Zendesk promoted me to staff software engineer. At the end of 2021 I switched jobs from Zendesk to GitHub. In…
What can strong engineers do that weak engineers can't?
December 26, 2024
Right now people are blowing up on Twitter about whether the USA needs to import top talent from other countries, and if that means that…
Why some engineers get trusted with high-impact work
December 21, 2024
It’s fun and rewarding to work on critical tasks. But there’s only so much important work to go around. Worse still, the chances to work on…
Glue work considered harmful
December 15, 2024
“Glue work” is an concept Tanya Reilly came up with in 2019. The idea is that there’s a large amount of unglamorous work that every team…
Grifters, believers, grinders, and coasters
December 1, 2024
Why do engineers get mad at each other so often? I think a lot of programmer arguments bottom out in a cultural clash between different…
I don't know how to build software and you don't either
November 19, 2024
Are microservices better than monoliths? Should teams set their own technical direction, or is it better to have that dictated by some…
How I ship projects at big tech companies
November 8, 2024
I have shipped a lot of different projects over the last ~10 years in tech. I often get tapped to lead new ones when it’s important to get…
Talking to ChatGPT costs 5ml of water, not 500ml
October 27, 2024
There’s a common claim on the internet that ChatGPT consumes half a litre of water for every 5-50 responses. Here are some randomly-chosen…
MCTS and LLMs: what's the big deal?
June 16, 2024
Everyone on the internet is recently very excited about large language models and Monte Carlo tree search. Going back months, the “Q*” leak…
From hours to seconds: AI tools to detect animal calls
April 24, 2024
If you’re currently spending time listening to long audio recordings of birdcalls or animal noises, it’s likely that the last four years of…
How LLMs work
November 25, 2023
Over the last few weeks I’ve been playing around with the excellent llama2.c repository, which is basically a simple one-file C…
Building LLM-driven agents
November 25, 2023
If you want a large language model like GPT-3 to perform a task for you, the simplest way is to just ask it. Writing out a single prompt…
Porting and hacking Llama2.c for fun and profit
November 25, 2023
Over the last few weeks I’ve been playing around with the excellent llama2.c repository, which is basically a simple one-file C…
What kind of work I want
September 5, 2021
This article is to help recruiters, hiring managers and myself have a better idea of the kind of places I’d like to work. The short version…
Learning incident response with problem sets
September 2, 2021
It’s hard to teach good incident response. A good understanding of how the system runs in production is essential, but how do you build that…
Blockchain explained simply
April 19, 2021
A blockchain is a distributed database. Bitcoin, Ethereum and Dogecoin are all different databases. A blockchain node is a computer with an…
Keep incidents boring
April 19, 2021
The internet is full of exciting incident war stories. Tough engineering problems, solved under pressure by sleep-deprived developers. In an…
Acing the design interview
December 31, 2020
If you haven’t designed an actual system before, design interviews can be tough. Knowing how to work with a particular web service or…
Acing the coding challenge
December 24, 2020
How do you write a successful coding challenge? Unlike some nightmare whiteboard interview scenarios, typically a coding challenge is not a…
Writing good technical explanations
December 24, 2020
Software engineering is mainly learning. There is a great demand for technical explanations, and many thousands of books, talks and blog…
Avoiding worry driven development
September 10, 2020
Sofware dysfunction is more often motivated by anxiety, fear, worry and embarassment than it is by a lack of technical skill. Engineers…
Blockchain for beginners
July 28, 2020
Introduction This is a guide for developers who kinda sorta know what blockchains are for (making distributed crypto-currencies like Bitcoin…
Building multiplayer games with socket.io and HTML5 Canvas
July 28, 2020
I’ve been building crappy hobby games on and off for my whole coding life. One of my very first apps was a Visual Basic game - I was in…
LinkedIn