A eulogy for the software engineer
In loving memory of
The Software Engineer
1968 – 2026
Order of Service
Officiated by Dave Kiss
In lieu of flowers, teach someone something.
The Gathering
Dearly beloved. We are gathered here today to bury the software engineer.
Some of you, like me, built your whole life on this job. Then, this past year, you watched a task finish in four minutes that used to take a whole workday, and now you’re wondering whether anything you know still counts. Some of you just got here last year, and you’re wondering whether you’ll ever get to be the expert in the room. And a few of you think a whole funeral is premature, and you came mostly to check whether there’s really anything in the casket.
No eulogy can be the right shape or size for everyone who showed up. I’m giving it anyway.
This industry has been grieving in private for two years with quote tweets, layoff email screenshots, and that drop in your stomach every time a new launch video comes out, when you start pondering the future of your own job before the demo’s even over. The people who love us have been supportive, but it’s hard to explain to them what it feels like to watch your whole industry transform overnight. We’ve all been attending our own version of this funeral. Today we’re holding it out loud.
I started teaching myself how to code almost two decades ago without a computer science degree. For me, it was Google, forums, Stack Overflow, try, fail, try again. I weaseled my way in through the unlocked backdoor, built software products, and sold two businesses.
None of that would have happened if this job required a degree, or a license, or anyone’s permission. Anybody who wanted to get in could get in, because the people already inside gave away everything they knew. So when people in those threads say that the door to being a software engineer is closing, I take that personally.
Today, we’ll bury the software engineer with three of the things they touched every day: a pair of headphones, a notebook, and a keyboard. And by the time you walk out, I want you to leave with three things that are still in your hands.
The Remembrance
I wrote this eulogy in a room with the sun streaming through the trees and a window lifted open about an inch, inviting in any gust of wind that chooses to flow my way. It’s a room with Faded Denim walls, tangled wires running everywhere, poorly wrangled. A candle flickers on my desk, next to a little light I still switch on from time to time when I mean it: code mode, don’t knock. And in the middle of the desk: a laptop, cracked open, glowing, waiting for me.
It wasn’t until I sat down to write this eulogy that I noticed what I’d done with this room.
I had rebuilt my childhood bedroom, same color and all. I think a lot of you did this too.
Every one of us has a version of this same story, possibly with slightly different props. The AOL trial CD that came in the mail, and the day you popped it in to see what it was all about. The hand-me-down eMachines with Space Cadet pinball and Encarta 95 preinstalled. The right-click, view source menu, an unlocked door to the whole web. The MySpace profile that flashed and flickered because you were fourteen and taste comes later. The progz, punterz, faderz. Late nights trying to center a frickin’ div. A sacred box of wires that followed you from high school to college to your first apartment to your child’s closet. The first time your folks told somebody your job was “something with computers.”
We didn’t choose this career path by accident. We chose it because we were the kids who took things apart to see how they worked, and put them back together, better, cheaper, faster, until they were ours. And we got lucky with the timing. For a brief window, technology was complex enough to be interesting and simple enough to be legible, and we grew up right inside it.
We stood on the shoulders of giants. It’s right, at a funeral, to name the ancestors. Ours were our teachers, contributors, pioneers, and mentors.
Grace Hopper, who believed a computer should speak something closer to English, and then made it so.
Tim Berners-Lee, who invented the web, and then convinced his employer to give it away without a patent or a royalty.
Linus Torvalds, who gave away an operating system, and then gave away the tool we keep our whole life’s work in.
Joel Spolsky and Jeff Atwood, who taught us to write about the work, and then built the place where we taught each other everything.
Ryan Dahl, who gave us Node, and then, years later, stood on a stage and listed everything he’d gotten wrong about it, and built it again.
And _why the lucky stiff, who wrote a Ruby textbook full of cartoon foxes, built a tool to teach kids to code, and then one day in 2009 deleted all of it and vanished. Within days the community had put every bit of it back up, because it was already in too many hands to disappear.
I’ll always love this profession because the door is always open. There’s no fee to use the compiler; the algorithms were printed in a library textbook. There’s no exam, no gatekeeper, no certification fee (AWS would get to that later).
Any kid with a modem could hold their own against a tenured résumé. Giving it all away and teaching each other were our unwritten laws.
My office might still look like my old bedroom, but what it’s waiting for is different now. The kind of task I take on, the way I do it, none of it is what it was two years ago. My firstborn got on a bus for kindergarten this fall, which felt completely impossible. My son spends his evenings on a green tractor on the back driveway like the world isn’t changing at all. But life moves. And the job I’d built my days on, that I’d built myself on, moved out from under me the same season.
Every one of you has experienced this hard-to-swallow feeling: did a person you spent twenty years becoming just stop being relevant?
That’s what’s in the casket. So, if we have to say goodbye, let’s say goodbye properly.
The Laying-In
The family has asked that the departed be buried with three belongings to be remembered by. They came off a desk that looks a lot like mine; a lot like a bedroom from 1999.
First, the pair of headphones. When these went over your ears, it meant one thing. Don’t bother me. I’m in the weeds, and I’m not coming out until it works. The logic in your head against the logic in the machine, one attempt at a time, until all the pieces fit. You’d go heads down and look up three hours later at something that worked, with no memory of what happened in the middle. We called it flow state and that feeling was one of the best parts of the job.
Now the code works before you’ve even figured out what the problem was. The logic is no longer yours to disappear into.
Into the casket.
Second, the notebook. Field Notes and a pencil, small and worn, the pencil pushed through the spiral. (I once sent a friend a stack of these for pennies because their checkout trusted a price I could change in the HTML. They’ve since fixed it.) Every system any of us ever shipped was born as a sketch. Simple boxes, badly drawn arrows, and one big, bold line under it all indicating one thing: this is what it needs to look like.
The sketch isn’t ours to draw anymore. You describe what you want, and the architecture comes back to you already drawn, before the pencil’s even out of the spiral.
Into the casket.
And last, the mechanical keyboard, heavy enough to take two hands. The tip tap of Cherry MX keys at one in the morning, when someone asks if you’re ever coming to bed. Whoever sat behind it was the source of truth for everything that shipped through it.
Now most of what ships under your name, you never even typed.
It won’t be forgotten.
Close the lid.
The Truth
I’d like to take a moment of silence for what’s in the casket. The flow state. The all-nighter, and the moment things finally started to work. The pride you took in a code block you signed off with “this is super rad,” because it was. Learning the hard way, because the hard way was the only way. You’re allowed to miss all of it. I do.
I keep hearing that the code was never the hard part, but you’re not going to hear that from me. Coding was hard. If it had been easy, none of us would be grieving.
We did this to ourselves. Everything that changed this job was built out of our commits, our answers, our reviews, and our docs. Every patient reply on a forum at midnight went in the training corpus. We wrote the program, reviewed the pull request, and merged it.
Turns out we were very good at our jobs.
But let’s look at what we actually gave away. Everything we made public: the fixes, patterns, and the answers we all agreed on.
What about what doesn’t show up? What about the struggle three hours before the fix ever surfaced; the wrong idea that you refused to ship; the reason you stayed up, the person you paired with when you were stuck; your grit, your conviction, your taste.
None of that can be scraped; all of it is still yours.
The New Shape
If you plug a guitar into a tube amp and turn it up to eleven, every note you play gets huge. So does every note you miss (ask me how I know). The amp has no opinion about your playing. It just gives you more of it.
That’s what happened to this job. A team with good habits now ships in an afternoon what used to take a month. A team with bad habits runs into dead ends faster than Wile E. Coyote. We turned the volume up, but we’re still the ones playing the notes.
A few weeks ago I merged three thousand lines of code into a command line tool that we give away at Mux, and I did not read them. The SDK underneath it changed upstream, and the next morning there were seventeen new commands sitting in a pull request with my name on it, and I hadn’t typed one of them.
But the real work happened months earlier, in the notebook. Before the CLI had a single command in it, we’d written down what done looks like, in a form that holds without anyone being in the room to enforce it. Nothing gets into that codebase on vibes, or on a human pretending to review code written by a machine. It either clears the line or it doesn’t. So when I sat down that morning, the sketch was already drawn. I had every one of those seventeen commands run against a live Mux account, and I read what came back. It held up, so I merged it.
That’s the job now. You go all the way in until you understand the problem well enough to know a right answer when you see one. You write down what done looks like before anything gets built. And you stand behind what ships under your name.
Wait.
Haven’t we described that person before?
Open the lid back up. Goes all the way in until it works: the headphones. Writes down what done looks like: the notebook. Stands behind everything that ships under their name: the keyboard.
The headphones. I said the logic wasn’t yours to disappear into anymore. What I didn’t say is that the flow state was always fleeting. The doorbell rings, or somebody hands you a crying baby. You get older, and the evening hack sessions get shorter. Earlier this year I wired my Helix guitar pedal to a Hue lightstrip, two protocols that very obviously do not talk to each other, so that when I stomp a switch, the sign behind our drummer changes color. That was a crazy thought I had one night falling asleep, and this time it didn’t have to die there.
We were the kids who took things apart. We still are. Plenty of days now feel like we’re air traffic controllers with twenty things in the air and none of them ours to disappear into. But inside the work there’s a whole category of experiments you never got to try. Ideas you’ve been carrying around for ten years that couldn’t justify a free evening just became possible. The flow state is worth more now than it ever was.
The notebook. I said the sketch wasn’t ours to draw anymore, but it is. What you’re sketching now is how the work gets done inside the system. Every task starts cold, with no memory of the last one, and new code gets modeled on whatever’s already lying around, so the code you’ve already shipped is page one of this notebook. Page two is a markdown file at the root of the repo, where you write down what this project is, the dos, the don’ts, and the whys and why nots. Any rules that matter too much to be a suggestion get built deterministically into the repo itself, so the wrong thing can’t ship even if your instructions are ignored.
Taste is what you have, but opinions are what you publish. The notebook lives in your repo now. Your repo is the sketch and the memory.
The keyboard. And I said most of what ships under your name, you no longer type. That may be true, but your name is still on it. You can delegate your typing, but someone’s still calling the shots. Read every line of code if you want. Read none of them. What matters is that you can stand up in a room full of brilliant people and describe your process, what you checked, and why it was enough, the way I just did. That’s the job: standing behind your work, like you always have.
So if you ask me, we put the wrong name on the headstone. Maybe it wasn’t the software engineer that died. Maybe it was the hard way being the only way. The lines of code you typed, the sketches, the tough puzzles solved alone at one in the morning. That’s what’s in the ground, and some of you loved that. I know I did.
But your skills didn’t go in with it. The new job is those same skills, turned up to eleven.
Nothing you built was wasted.
The Benediction
It’s tempting to reject all of this and pretend nothing is happening. It’s just as tempting to hand all of it over, stop thinking, and become a meat proxy. Both of those are quitting. What’s sitting on the lid is your other option.
Take everything a million of us ever made public and blend it together, and you get the accepted answer. It’s the average of all of us, and it’s a fine place to start. But I don’t think anyone reading this showed up to be average. You are the part that doesn’t blend.
Where did your taste come from? Some of it was handed to you by the senior who rewrote your pull request and told you why, or the phpBB forum moderator’s reply at midnight that mostly answered your question. Some of it you earned on your own from page four of a search result at one in the morning, wading through six answers to a question that wasn’t quite yours, but the fix was half of one answer mixed with a comment under another, and you were the one who saw it. And some had nothing to do with your job at all. You formed your taste from a missed flight in a country where you didn’t speak the language, from a restaurant that changed your mind about what food could be, from the heartache you’ve gone through, from the solo you blew on stage at the Grog Shop, and the one after it that you didn’t.
That’s your taste. It’s your perspective, your ethos. It’s what makes Aaron Francis Aaron Francis, and Chris Pennington Chris Pennington, and me me, and you you. It’s how you can hear a wrong note in code that still compiles, and it’s how you decide what to build and what to refuse. The average will make decisions that you might not have; it has no perspective of its own. Your taste cannot be scraped.
But it used to come bundled along with the hard way, and the hard way is optional now, so somebody has to hand it down on purpose.
That part is on you. If you stop handing it down, ten years from now this industry is full of people who can ship anything and can’t tell you which one is good. And the next average gets made out of them.
Some of you are angry that what you gave away got used against you, and you’re allowed to be. But it’s done. What are you going to do about it? Stop giving, stop answering, stop teaching, stop programming? That’s what closes that backdoor, the same one you walked in through. And it closes on exactly one person: the kid standing where you stood, painting their first office Faded Denim.
So, to each side of the aisle.
To the veterans. Teaching used to be one of our unwritten laws, but I think we should start to consider it written. Publish your work without strings attached. Share your decisions with others. Pick one person and teach them one thing, on purpose. Say their name to yourself, right now.
To those coming up in the prompting era: the fastest way to look junior is to act like you already know everything. You’re going to have to learn this new world in a much different way than we did, on purpose, because nobody’s making you. Ask questions, and when you think you’ve asked enough, ask a few more. And this week: pick a task, and sketch what done looks like yourself, before you ask for a sketch. Then you can decide where the help would actually help.
I want to be careful with this last part, because everything up to now has been a metaphor. The casket, the headstone. But this part isn’t.
Aaron Swartz was fourteen when he helped write the spec for RSS. He helped write Markdown. He helped build Reddit, and Creative Commons. And he believed, harder than anyone I know of, that the door stays open. In 2008 he wrote it down in a manifesto: sharing isn’t immoral. It’s a moral imperative. He believed it enough to plug a laptop into a wiring closet at MIT and download a few million academic papers he thought belonged to everyone. He was facing federal charges for it when he died, in 2013. He was twenty-six.
There’s no one who gave away more than Aaron, or lost more for it. That manifesto warned about knowledge “locked up by a handful of private corporations.” The kind of knowledge he was charged over is now behind a meter, sold back by the token. I won’t tell you he’d be fine with that. We don’t get to borrow his opinion.
What I can tell you is where what he gave away ended up. Markdown is the language this whole new job gets written in. Reddit is where twenty years of people talking to each other was sitting, in public, when it came time to learn from it. And Creative Commons is the license on every Stack Overflow answer you ever read.
A door you can close on the wrong people isn’t an open door. He knew that, and gave it away anyway, to everyone, including the ones who’d sell it back.
I’m one of the people buying it back. I pay a few hundred dollars a month to be a software engineer, and there’s a kid out there who can’t. What that kid has is a free tier, not unlike an AOL trial CD, paid for by somebody else and made to run out. People are giving away models right now, the same way Linus gave away an operating system, and I hope we back them the way we backed him, so that a subscription never gets to decide who becomes a software engineer.
Aaron wanted knowledge to belong to everyone. Today, more knowledge can reach us than at any point in his life. A kid with a laptop can get the answer to almost anything this profession ever figured out in four seconds. Nothing he gave away was wasted. Nothing you built was either.
There’s a kid like that right now, teaching themselves this job with whatever they can get their hands on, the same way you did. More than ever, because the only thing the door asks now is whether you can say what you want. They’ll get further than you did before they need a person, but eventually, they’ll need someone. Somebody’s going to have to teach them the rest.
You have grieved. The service has ended.
The software engineer is dead.
Long live the software engineer.