This is a list of all my favorite articles, accompanied by some brief discussion. I'd like to maintain a list like this somewhere to update periodically, along with the little notes, and notify readers if I've added anything particularly good. Let me know if you are aware of any good solutions for this at email@example.com.
I. Patrick McKenzie's Career Advice
Patrick McKenzie, or patio11, has given me the greatest bang for my buck in terms of anything I've ever read about the realities of the software engineering industry. This article in particular is aimed at people new to software, but I suspect that some people never figure it out.
I. Most software is unsexy
The first point on most software in the world being thoroughly unsexy was extremely useful to me, as they don't teach you at university that most applications aren't YouTube. Most applications solve extremely boring problems, where boring means "this is not complicated at all and is basically a solved problem". The bit missing from McKenzie's writing here, that I'd like to add, is that most companies can't solve solved problem. I know that's wild, but if you took the average big organization, they would be unable to get a simple CRUD app working in any reasonable state. This is why I know a doctor whose hospital spent millions getting a new interface to their medical record system up and running, and the application consist of ten pages and 200 fields, but you simply can't access the tenth page without filling out the first nine, so the doctors click on every field one-at-a-time and enter a single character of whitespace before the patients come in so they can navigate freely.
If you can build something like that without fucking it up then you are doing great. I know that sounds stupid but it is true.
II. Be attached to Profit Centers
You will deal with grifters no matter where you go - there is a Brotherhood of Morons out there in society, and their dimwitted visages curse every standups across the world. However, you will earn way more money and have much less fake work if you're near the part of the business that actually generates revenue. At a big organization, this will be a small part of the business, but you should force your way in anyway.
III. Don't call yourself a programmer
Don't call yourself a programmer. I cannot repeat this one enough, do not call yourself a programmer. You have to see this from the perspective of a non-programming executive at the average place - their teams can't build CRUD apps. Every time programmers get involved, things go wrong. Don't be seen as a programmer. People think that programmers are just the weirdos who type the arcane runes into the computer, and the only reason a manager keeps them around is the ones who "understand people" are too busy kicking goals to learn the arcane runes. I would almost rather tell someone that I've been to jail than that I'm a programmer, because at least the former is interesting and not associated with tanking every project they've ever seen.
IV. Programming languages don't matter
Unless it's Rust, in which case re-write the whole company in Rust, babyyyyyyyy.
V. CVs are the exception for job offers
At least a few readers have sent me their CVs to glance over in the hopes that they'll find a better gig. There are two issues with this. The first one is that I'm just some fucking guy, so what the heck do I have to say about this. The second one is that CVs don't matter in almost all cases.
I have never received a job by just sending in my CV, including jobs where it is a legal requirement that this is the process that gets followed. The actual process is that I know someone senior at the company, we decide it would be a good fit, someone glances over my CV to make sure I was able to produce a single document without any typos, then we do the interviews.
Also, one page CVs are optimal because I've heard all sorts of conflicting opinions from hiring managers at top firms, and my conclusion is that you don't want to work for anyone with a strong opinion on CV length, so you might as well just do the shortest one so you can edit it for a new gig quickly.
VI. Just read the whole thing
It's so goddamn good.
II. Salary Negotiation
Oh, you thought we were done with McKenzie? You fool.
This one is too long to get into, but if you don't average at least $10-20K more than whatever the initial offer you get at an organization is, read this. Read it now. If you don't read it now, you will forget, and then you will be minus $10K (at least) every year for the rest of your life.
Heck, I suspect that I'm doing it wrong, because I always get the amount of money I ask for, which means I'm not asking for enough.
III. Things People Find Too Obvious To Have Told You Already
We're still not done, we will never be done, here's more McKenzie. This one is just a long list of facts about the tech industry, and reading it is like Matrix-flashing a few years of experience directly onto your brain.
If you are attempting to hire for an engineering position, greater than 50% of people who apply for the job and whose resume you select as "facially plausible" will be entirely unable to program, at all. The search term for learning more about this is FizzBuzz.
Go ahead, tell me that Sturgeon's Law isn't a real thing.
Technical literacy in the broader population can be approximated with the Thanksgiving test: what sort of questions do you get at Thanksgiving? That's the ambient level of literacy.
Serious people in positions of power eat Thanksgiving dinners, too. Guess what they ask at them.
IV. The Black Swan
Nassim Taleb's much-loved and much-reviled book.
I read this once when I was 18 and hated it, deciding the author was a pretentious dickhead. I read it again during a flight back home for the holidays, about two years later, and at this point had become a pretentious dickhead so I could finally enjoy it in the spirit it was intended.
No book has been more impactful on my life. We are bombarded, day in and day out, by just-so theories on why events have shaken out the way they have and why they're going to go according to plan. I have seen many people argue that Taleb is just repeating himself, and he is very frequently, but my belief is that the repetition is necessary for internalizing. I meet a lot of people who are familiar with this work in theory, but have never read it, and then continue to commit the same blunders over and over.
This also goes a long way towards inoculating you against executives.
I read this strange book by the late Keith Johnstone on improvised theatre around the time I was graduating. It is quite strange, and parts of it seemed utterly implausible to me (the parts on mask work). With a bit more life experience behind my belt, the parts on status are dead on, and the weird parts such as "mask work" are at least more plausible although I still find them strange and creepy.
VI. How to get promoted
Slava Akmechet's no-punches-pulled take on the realities of advancement at large corporations. This is a weird one because to me it is clearly written in total seriousness, but a few people think it's too cynical or a joke. I think it was linked to me as a joke.
Many readers incidentally directed me to this, though I had seen it before.
I. On actually doing your job
Company metrics have momentum and lag. Nearly all political behavior exploits these two properties. A metric in motion tends to remain in motion. Changing that requires good decisions, a lot of luck, and application of enormous force. And observing a metric is like observing light from a distant star— you're observing the work done in the past. So opportunists don't worry about any of that. The winning strategy is to ignore company metrics completely and move between projects every eighteen months so that nobody notices.
Wouldn't people notice anyway? Rank and file employees will, but not the management. In a fast growing company things change very quickly. There is a hurricane of activity. New projects and teams are constantly spun up, products launched, reorgs, valuations, office moves, new hires, funding rounds, customers lost and gained, offsites, PR victories and scandals— nobody can keep track of all of this. You can't remember what things looked like two weeks ago, let alone last quarter. Two years ago? Forget it! So long as you looked good at the time, nobody will remember what you did in your last role. And even if they do, people tend to attribute everything to the present. If you screwed up a project, switched roles, and it's only now apparent that the project is in trouble, the blame will naturally fall on its current leader, not on you.
So your job isn't to make good decisions to improve company metrics. It's to look good. That means you must understand basic tenets of human nature and learn to manipulate them.
II. On corporate rituals
Third, while you shouldn't take performative rituals at face value, you must still perform them— enthusiastically and with gusto. In countries like Japan, Russia, and parts of Eastern Europe, to successfully work with someone you must drink with them. Drinking is a trust building ritual and a mechanism to signal that you are part of the in-group. No drinking, no promotion. In corporate America the lion's share of this signaling is done through proselytizing management technologies. Going to meetings, talking about KPIs, OKRs, collaboration, Agile— all are shibboleth to signal you're part of the in-group, in the same way drinking is an in-group signal in other parts of the world. No shibboleth, no promotion.
VII. Zen And The Art Of Motorcycle Maintenance
Another book that I hated when I was younger, then looped all the way back around and decided was awesome. Seeing a pattern? I do my best to extrapolate and just assume that everything I think will be obviously wrong in five years... but I also can't just decide to be wiser so I've decided to lean into it.
After a while Sylvia sits down on the wooden picnic bench and straightens out her legs, lifting one at a time slowly without looking up. Long silences mean gloom for her, and I comment on it. She looks up and then looks down again.
"It was all those people in the cars coming the other way,'' she says. "The first one looked so sad. And then the next one looked exactly the same way, and then the next one and the next one, they were all the same.''
"They were just commuting to work.''
She perceives well but there was nothing unnatural about it. "Well, you know, work,'' I repeat. "Monday morning. Half asleep. Who goes to work Monday morning with a grin?''
"It's just that they looked so lost,'' she says. "Like they were all dead. Like a funeral procession.'' Then she puts both feet down and leaves them there.
I see what she is saying, but logically it doesn't go anywhere. You work to live and that's what they are doing. "I was watching swamps,'' I say.
After a while she looks up and says, "What did you see?''
"There was a whole flock of red-winged blackbirds. They rose up suddenly when we went by.''
"What I wanted to say,'' I finally get in, "is that I've a set of instructions at home which open up great realms for the improvement of technical writing. They begin, `Assembly of Japanese bicycle require great peace of mind.' ''
This produces more laughter, but Sylvia and Gennie and the sculptor give sharp looks of recognition.
"That's a good instruction,'' the sculptor says. Gennie nods too.
"That's kind of why I saved it,'' I say. "At first I laughed because of memories of bicycles I'd put together and, of course, the unintended slur on Japanese manufacture. But there's a lot of wisdom in that statement.'' . John looks at me apprehensively. I look at him with equal apprehension. We both laugh. He says, "The professor will now expound.''
"Peace of mind isn't at all superficial, really,'' I expound. "It's the whole thing. That which produces it is good maintenance; that which disturbs it is poor maintenance. What we call workability of the machine is just an objectification of this peace of mind. The ultimate test's always your own serenity. If you don't have this when you start and maintain it while you're working you're likely to build your personal problems right into the machine itself.''
They just look at me, thinking about this.
"It's an unconventional concept,'' I say, "but conventional reason bears it out. The material object of observation, the bicycle or rotisserie, can't be right or wrong. Molecules are molecules. They don't have any ethical codes to follow except those people give them. The test of the machine is the satisfaction it gives you. There isn't any other test. If the machine produces tranquillity it's right. If it disturbs you it's wrong until either the machine or your mind is changed. The test of the machine's always your own mind. There isn't any other test.''
DeWeese asks, "What if the machine is wrong and I feel peaceful about it?''
I reply, "That's self-contradictory. If you really don't care you aren't going to know it's wrong. The thought'll never occur to you. The act of pronouncing it wrong's a form of caring.''