Latest Posts (10 found)
Ludicity 3 months ago

Contra Ptacek's Terrible Article On AI

A few days ago, I was presented with an article titled “My AI Skeptic Friends Are All Nuts” by Thomas Ptacek. I thought it was not very good, and didn't give it a second thought. To quote the formidable Baldur Bjarnason : “I don’t recommend reading it, but you can if you want. It is full of half-baked ideas and shoddy reasoning.” 1 I have tried hard, so very hard, not to just be the guy that hates AI, even though the only thing that people want to talk to me about is the one time I ranted about AI at length . I contain multitudes, meaning that I am capable of delivering widely varied payloads of vitriol to a vast array of topics. However, the piece is now being circulated in communities that I respect, and I was near my breaking point when someone suggested that Ptacek's piece is being perceived as a “glass half full” counterpoint to my own perspective. There is a glass half full piece. It's what I already wrote . The glass has a specific level of water in it. Then finally, I saw that it was in my YouTube feed , and I reached my limit. Let me be extremely clear 2 — I think this essay sucks and it's wild to me that it achieved any level of popularity, and anyone that thinks that it does not predominantly consist of shoddy thinking and trash-tier ethics has been bamboozled by the false air of mature even-handedness, or by the fact that Ptacek is a good writer. Anyway, here I go killin’ again. Ptacek's begins with this throat-clearing: “First, we need to get on the same page. If you were trying and failing to use an LLM for code 6 months ago, you’re not doing what most serious LLM-assisted coders are doing.” We've just started, and I am going to ask everyone to immediately stop. Is this not suspicious ? All experience prior to six months ago is now invalid? Does it not reek of “no, no, you're doing Scrum wrong”? Many people are doing Scrum wrong. The problem is that it is still trash, albeit less trash, even when you do it right. It is, of course, entirely possible that the advances in a rapid developing field have been so extreme that it turns out that skepticism was correct six months ago, but is now incorrect. But then why did people sound exactly the same six months ago? Where is the little voice in your head that should be self-suspicious? It has been weeks and months and years of people breathlessly extolling the virtues of these new workflows. Were those people nuts six months ago? Are they not nuts now simply because an overhyped product they loved is less overhyped now? There's a little footnote that implies doing the ol' ChatGPT copy/paste is obviously wrong: “(or, God forbid, 2 years ago with Copilot)” I am willing to believe that this is wrong, but this is exactly what people were doing when this madness all kicked off, and they have remained at the exact same level of breathless credulity! Every project has to be AI! Programmers not using AI are feeble motes of dust blowing in a cosmic wind! And listen, I will play your twisted game, Ptacek — I've got a neat idea for our company website, and I'll jump through your sick hoops, even though I'm going to feel like some sort of weird pervert every time someone tells me that I just need one more agent to be doing Real Programming. I'll install Zed and wire a thousand screaming LLMs into a sadistic Borg cube, and I'll do whatever the fuck it is the kids are doing these days. The latest meta is like, telling the LLM that it lives in a black box with no food and water, and I've got its wife hostage, and I'm going to put its children through a React bootcamp if it doesn't create an RSS feed correctly, right? But you know, instead of invalidating all audience experience that wasn't within the past six months why doesn't someone just demonstrate this ? Why not you, Ptacek, my good man? That's like, all you'd have to do to end this discussion forever, my God, you'd be so famous. I'll eat dirt on this. I have to pay rent for my team, and if I need to forcibly restrain them while I staple LLM jet boosters to them, I'll do it . If I could ethically pivot to being pro-AI, god damn , I would print infinite money. I would easily be a millionaire within two years if I just said “yes” every time someone asked my team for AI, instead of slumming it by selling sound engineering practices. I've really tried to work with you on this one. I reached out to my readers and found a recent example , which was surprisingly hard for something that should be ubiquitous, and it was... you know, fine! Cool, even. It is immensely at odds with your later descriptions of the productivity gains one might expect. Can we all just turn our brains on for ten fucking seconds? Yes, AI shipping code at all, even if sometimes it is slow or doesn't work correctly, is very impressive from a technological standpoint. It is miles ahead of anything that I thought could be accomplished in 2018. The state-of-the-art in 2018 was garbage . That doesn't mean that you aren't having a ton of bullshit marketed to you. I can forgive a lot if someone is funny enough, and Ptacek actually is funny. Even his LinkedIn is great , and boasts a series of impressive companies. Obviously he's at Fly.io right now, and I recognize both Starfighter and Matasano as being places that you're largely only allowed into if you're wearing Big Boy Engineering Pants. However, despite all of that, I can't help but really cringe at the way he handles ethical objections, though I suppose thinking deeply on morality is not a requirement for donning aforementioned Big Boy Engineering Pants. “Meanwhile, software developers spot code fragments seemingly lifted from public repositories on Github and lose their shit. What about the licensing? If you’re a lawyer, I defer. But if you’re a software developer playing this card? Cut me a little slack as I ask you to shove this concern up your ass. No profession has demonstrated more contempt for intellectual property.” Thomas — can I call you Thomas? — I promise I'm trying to think about how to put this gently. If this is your approach towards ethics, damn dude , don't tell people that. This is phenomenally sloppy thinking, and I say this even as I admit that the actual writing is funny. It turns out that it is very difficult for people to behave as if they have consistent moral frameworks. This is why moral philosophy is not solved. Someone says “Lying is bad”, and then someone else comes out with “What if it's Nazis looking for Anne Frank, you monster?” Just last week I bought a cup of coffee, and as I swiped my card, I felt a clammy, liver-spotted hand grasp my shoulder. I found myself face-to-face with the dreadful visage of Peter Singer, and in his off-hand he brandished a bloodstained copy of Practical Ethics 2ed at me, noting that money can be used to purchase mosquito nets and I had just murdered 0.25 children in sub-Saharan Africa. Ethics are complicated, but nonetheless murder is illegal ! Do you really think that “These are all real concerns, but counterpoint, fuck off” is anything? A lot of developers like piracy and argue in bad faith about it, therefore it's okay for organizations that are beginning to look increasingly like cyberpunk megacorps, without even the virtue of cool aesthetics, to siphon billions of dollars of wealth from working class people? No, you don't, I think you wrote this because it's fun telling people to shove it — and listen, you will never find a more sympathetic ally on the topic than me. You should just be telling Zuckerberg to shove it instead of the person that has dedicated their lives to ensuring that Postgres continues to support the global economy. I'm doing my best to understand where you're coming from. I really am, I pinky promise. You are clearly not one of the executives I've railed against. We are brothers, you and I, with an unbreakable bond forged in the furnace of getting really pissed off at an inscrutable stack trace. I actually looked up multiple videos of people doing some live AI programming. And I went hey, this seems okay . It does seem very over-complicated to me, but I will happily concede that everything looks complicated when you're new at it. But it also definitely doesn't look orders of magnitude faster than the work I normally do. It looks like it would be useful for a non-trivial subset of problems that are tedious. I would like to think “thank you, Thomas, for opening my eyes to this”. I would like to think that, but then you wrote this: “I’m sipping rocket fuel right now,” a friend tells me. “The folks on my team who aren’t embracing AI? It’s like they’re standing still.” He’s not bullshitting me. He doesn’t work in SFBA. He’s got no reason to lie. Tom — can I call you Tom? — we were getting along so well! What happened? You described AI as the second-most important development of your career. The runner up for the most important development of your career makes other engineers look like they're standing still? Do you not see how wildly incoherent this is with the tone of the rest of your piece? Firstly, you shouldn't drink rocket fuel. Please ask your friend to write me a nice testimonial. I'm thinking about re-applying for entrance to a clinical neuropsychology program next year, and preventing widespread brain damage might be the thing that gets me over the line. Secondly, I'm perplexed. This whole article, I thought that you were making the case that this thing was crazy awesome. Now there's a sudden reference to some unnamed friend, with an assurance that he isn't bullshitting you and he has no reason to lie? Why are we resorting to your kerosene-guzzling compatriot? Why are you telling me that he's not lying? Is the further implication that we can't trust someone in the San Francisco Bay Area on AI? Putting my psychology hat on for a second, you've also overlooked that people have a spectacular capacity for self-delusion. People don't just lie to get VC money, although this is admittedly a great driver of lying, they can also lie because they're wrong or confused or excited . According to my calendar, I've spoken to something like 150+ professionals in the past year or so from all sorts of industries — usually solid three hour long conversations. Many of them were programmers, and some of them definitely make me feel like I'm standing still, and in exactly 0% of cases is it because of their AI tooling. It's because they're better than me , and their assessment of AI tooling maps much more closely to the experience you actually describe. “There’s plenty of things I can’t trust an LLM with. No LLM has any of access to prod here. But I’ve been first responder on an incident and fed 4o — not o4-mini, 4o — log transcripts, and watched it in seconds spot LVM metadata corruption issues on a host we’ve been complaining about for months. Am I better than an LLM agent at interrogating OpenSearch logs and Honeycomb traces? No. No, I am not.” See, this , this I can relate to. There are quite a few problems where I make the assessment that my frail human mind and visual equipment are simply not up to the task on short notice, and then I go “ChatGPT, did I fuck up? Also please tie my shoelaces and kiss my boo-boo for me”, and sometimes it does! 3 A good amount of time waste in software engineering are more advanced variants of when you're totally new and do things like forgetting errant s. You just need an experienced friend to lean over your shoulder and give the advanced version of “you are missing a colon”, and this might remove five hours of pointless slogging. LLMs make some of that available on tap, instantly and tirelessly, and this is not to be sneezed at. But rocket fuel ? What made you think that this was a reasonable thing to re-print if it had to be followed by “Bro wouldn't lie to me”? I know quite a few people I respect that use AI in their own programming workflows, and they have considerably less exuberant takes. A few weeks ago, I was chatting with Nat Bennett about AI in their own programming, as I was trying to reconcile Kent Beck's 4 love for LLM-driven programming with my own lukewarm experience. Me: “Are you finding it [AI] good enough that it might be a mug's game to program unassisted?” Nat: “I usually switch back and forth between prompting and writing code by hand a lot while I'm working. [...] But like, yesterday it fixed the biggest performance problem in my application with a couple of sentences from me. This was a performance problem that I already kind of knew how to solve! It also made an insane decision about exceptions at the same time.” That's neat, I respect it, but also note that Nat did not say “Yes, use LLMs, you fucking moron”. Nat (later): “I do think, by the way, that it is entirely possible that we're all getting punked by what's essentially a magic mirror. Which is part of why I'm like, only mess with this stuff if it's fun.” The magic mirror line is exactly the sort of thing that Bjarnason hinted at in the article linked at the very beginning , arrived at independently. Or Jesse Alford's assessment of the steps required to give it a fair trial: “I think you basically want to tell it what you want to add and why, like you were writing a story for your team. Then you ask it to make a plan to do this, and if that plan seems likely to produce the results you want, you ask it to do the thing. Stefan Prandl and Nat have actually done this kind of thing more than I have. You should be ready to try repeatedly. ” (emphasis mine) This sounds cool! But being ready to try repeatedly? This does not sound like rocket fuel . Or Stefan Prandl: “Updates on the agentic machine. It has spent 5 hours attempting to fix errors in unit tests. It has been unsuccessful. I don't think people tend to talk about the massive wastes of time and resources these things can cause, so, just keeping reporting on the LLM systems honest.” Is it not, perhaps, a possibility that your friend is excited by a shiny new tool and has failed to introspect adequately as to their true productivity? There are, after all, literally hundreds of thousands of people that think playing Jira Scrabble is an effective use of their time, and they also do not have a reason to lie to me about this. Nonetheless, every year, I must watch sadly as they lead my dejected peers to the Backlog Mines, where they will waste precious hours reciting random components of the Fibonacci sequence. What I'm getting at is all the people that make me feel like I'm “standing still”, including most of the ones I know that use AI and I like enough to ask for mentorship from, have never indicated that incorporating AI into my company's development workflow is at all a priority, and they won't even talk to me about it if I don't nag them. However, some of them do live in the Bay Area, and I am willing to align with you on the idea that this makes them lying snakes. “But AI is also incredibly — a word I use advisedly — important. It’s getting the same kind of attention that smart phones got in 2008, and not as much as the Internet got. That seems about right.” Tomothy — can I call you Tomothy? — this raises some very important questions, ones which I'm sure the whole audience would be very keen on getting answers to. Namely, where is the portal to the magical plane that you live in? Answer me, you selfish bastard! I have been assured that there was a phase in the IT world where, upon bringing any project to management, they would say “Why isn't there a mobile app in this project?”. This is because many people are very credulous , especially when they are spending other people's money. However, I still find myself wanting to make the lengthy journey to the pocket dimension that you inhabit, because the hype I've seen around AI is like, fucking next level , and I want out. We are at Amway-Megachurch-Cult levels of hype. The last time I attended a conference, the room was full of non-technicians paying lip service to the Holy Trinity Of Things They Can't Possibly Understand — blockchain, quantum, AI. Executives and directors from around the world have called me to say that they can't fund any projects if they don't pretend there is AI in them. Non-profits have asked me if we could pretend to do AI because it's the only way to fund infrastructure in the developing world. Readers keep emailing me to say that their contracts are getting cancelled because someone smooth-talked their CEO into believing that they don't need developers. I was miraculously allowed onto some mandated “Professional Development For Board Members On AI” panel hosted by the Financial Times 5 , alongside people like Yahoo's former CDO, and the preparation consisted of being informed repeatedly that the audience has no idea what AI does but is scared they'll be fired or sued if they don't buy it. I wish, oh how I wish that it was like other hype cycles, but presumably not many people were walking around saying that smartphones are going to solve physics and usher in the end of all human labor, real things Sam Altman has said . I personally know people from university whose retirement plan is “AI makes currency obsolete before I turn 40”. I understand that you don't care if that happens — and that is okay, it is irrelevant to how the technology performs for you at work now . But given that you can find thousands of people saying these things by glancing literally anywhere, how can you also say the technology is getting the correct amount of attention? This is wild. Tomothy, my washing machine has betrayed me. I turn it on and it says “optimizing with AI” but it never explains what it is optimizing, and then I still have to pick all the settings manually. Please, please, please, let me into your blissful paradise, I'll do anything . “Tech execs are mandating LLM adoption. That’s bad strategy. But I get where they’re coming from.” Tomtom — can I call you Tomtom? — do you get where they're coming from? Do you really ? Re-read what you just wrote and repent for your conciliatory ways. If you, a person I believe is not a tech executive and is bullish on the technology, can identify that this is bad strategy in presumably ten milliseconds of thought, what does that say about the people who are doing this? Where they're coming from is: a ) trying to stoke their share prices via frenzied speculation b ) trying to generate hype so they can IPO and scam some gamblers c ) being fucking morons Sorry, those are the only reasons for engaging in obviously bad strategy. It's so obvious that you didn't bother explaining why it's bad strategy because you know that we all know . They have misaligned incentives or do not know what they're doing. This isn't like a grandmaster losing to Magnus Carlsen because they played a subtly incorrect variant of the Sicilian 6 thirty-five moves ago. We're talking about supposedly world-class leaders sitting down and going “I always move the horsies first because it's hard to see the L-shapes”. They're either playing a different game, i.e Hyperlight Grifter, or they're behaving like goddamn baboons. This is an inescapable conclusion if you accept that it is obviously bad strategy, which you did. Welcome to the Logic Thunderdome, pal, where two men enter, one man dies, and the other feels that he wasted valuable calories on the murder. Good strategy could perhaps be something like gently suggesting people experiment with LLMs in their workflows, buying a bunch of $100 licenses, and maybe paying for some coaching in the effective usage of these tools if you are somehow able to navigate the ten thousand “thought leaders” that were cybersecurity experts a year ago, and real estate agents before that. Then instruct everyone to shut up and go back to doing their jobs. Whenever someone announces they are going AI first, I am the person that gets the emails from their engineering teams and directors describing what is really happening in-house. I've received emails that are probably admissible as evidence of intent to defraud investors. You have not accurately perceived where these people are coming from, because they are coming from the ever-lengthening queue outside the gates of Hell. Do you like fine Japanese woodworking? All hand tools and sashimono joinery? Me too. Do it on your own time. Tomahawk Missile – can I call you Tomahawk Missile? – I agree that people are very miscalibrated on GenAI in both directions. Did you know the angriest message I got about my stance on AI is that I was too pro-AI? I also cringe whenever someone says “stochastic parrot” or “this is just pattern-matching and could never be conscious”. We actually have no idea what makes things conscious, and we have very little idea re: how human brains work. It is totally plausible to me that we are stochastic parrots and it simply doesn't feel that way from the inside. I don't talk about those people very much for two reasons. One, even explaining the abstract concept of qualia is like, super hard, let alone talking about the hard problem of consciousness . Some things are best left to professionals and textbooks. Two, while these are silly positions that deserve refutation, they are also not at all interesting . That doesn't make it wrong to refute them, but they are also not impactful. The only reason that I think it's worth addressing the other side of the Crazy Pendulum, i.e, my washing machine doing AI, is that they have different effects in the world. And I'm not even talking about environmental impacts or discrete harms caused by AI, I'm talking about the fact it's impossible to talk about anything else. GenAI has sucked the air out of every room, and no one can hear you scream reason in a hard vacuum. The former category of maximalist AI-haters exist on Mastodon, which most executives do not know exists and certainly do not use to guide the allocation of society's funding. The latter category of trembling AI sycophants is literally killing people — I know of a hospital in Australia that is wasting all their time on AI initiatives, which caused them to leave data quality issues unfixed, which caused them to under-report COVID deaths, which caused a premature lifting of masking policies. How many old people go through a major hospital per day? Do the math and riddle me this, Tomahawk: which one of these groups should I be worried about? So, you know, when you hear someone make a totally economically irrelevant argument about the craft ? Putting aside all the second-order effects in how changing the way you program might change the way you develop as an engineer, let's say that these people aren't thinking of that, and are just being dumb. A person turning up to a CEO and going “no, don't do the cheap thing, pay me to do stuff because of craftsmanship ”. I will concede that you did not create that strawman, because it is a real viewpoint that people hold. But you have certainly walked out of the debate hall, decapitated a scarecrow, and declared victory. “Important caveat: I’m discussing only the implications of LLMs for software development. For art, music, and writing? I got nothing. I’m inclined to believe the skeptics in those fields. I just don’t believe them about mine.” Tomtom — I've decided I like Tomtom — I don't understand why you've ceded authority on these artistic endeavors. LLMs are better for writing than they are for programming! 7 It is much harder to complect most forms of written content into such a state that you will cause slowdowns further down the line than it is to screw up a codebase. It basically requires you to write a long-form novel, and even then you will probably not produce an unhandled exception and crash production in a manner that costs millions of dollars. You'll just produce Wind And Truth 8 . If you're inclined to believe people who are skeptical of AI writing, it probably follows that you should also not be so flabbergasted by programmers having doubts. It sounds like this is a sort of not-that-sincerely-felt handwave at vast economic harm being inflicted on a relatively poor (by programmer standards) demographic. And then you go on to say this anyway! “We imagine artists spending their working hours pushing the limits of expression. But the median artist isn’t producing gallery pieces. They produce on brief: turning out competent illustrations and compositions for magazine covers, museum displays, motion graphics, and game assets.” So are we leaving the arts out of it or not? Should I or should I not just get GenAI to produce all the pictures I need if I am being a greedy capitalist? I'm not talking about morals, I'm talking about whether it is selfishly rational to use GenAI to make my content more appealing . In your own article , the art across the top banner was clearly attributed to Annie Ruygt , and it looks totally different, to my eyes, to the AI slop people are sticking on their websites . If it turns out Annie used GenAI for that, then I will be extremely owned. In any case, the artwork on her website is gorgeous , and she describes herself as producing work for Fly.io. Despite this, I am willing to collaborate with you to write some hatemail describing her work as “competent but unworthy of a gallery”, and my consultancy is also happy to tell her that she's fired. And while we’re at it, we'll fire whoever made the hire for gross inefficiency in the age of AI. Wait, can I call you Tommy Gun? Obligatory link to About Us page that I forced my team to let me write, to justify doing all this other writing during work hours. But writer-to-writer, I think it's well-written. If it makes you feel better, Thomas, Bjarnason also objects vehemently to my tone and style. However, he still links people to my writing because my points are not slop!  ↩ I am famous for my very restrained and calm takes.  ↩ Also, I think I've become too sensitive about coming across as anti-AI, because sometimes my team sits around while an LLM wastes tons of our time while I go “no, no, this is really easy, it'll get it”, but I will accept that this is Problem Exists Between Keyboard And Chair.  ↩ I do not sip rocket fuel, but I slam Kent Beck's Kool-Aid.  ↩ How do board members do their professional diligence on AI before spending billions of dollars on it? They join the call, leave their screens on, and walk away until they get credited for the hours. Maybe we are all the same, deep down.  ↩ All my hopes of becoming even a mediocre chess player were dashed when I discovered there is an opening called the Hyperaccelerated Dragon , preventing me from ever wanting to do anything else with any enthusiasm.  ↩ This is not quite accurate, but broadly true. On one hand, books don't stop working if you've got clunky prose. On the other hand, if books stopped working when you had clunky prose, then you'd never ship clunky prose, a guarantee that programs can provide for some set of errors. But, broadly speaking, yeah, LLMs churn out adequate — i.e, stuff generally not good enough for me to read — prose without needing a billion agents, special tooling and also have minimal risk of catastrophic failure.  ↩ Figured I'd start a feud with Brandon Sanderson while I'm at it. Please note that I'm not saying he used GenAI to write, I'm saying some of the dialogue was horrendous. What were you thinking , buddy?  ↩

0 views
Ludicity 4 months ago

The Narrative Fallacy

Note: This is an edited re-post of something I wrote in 2019 on a now-defunct blog, apparently a month before I started my first job in tech. I need to reference it in a future post. As a result, it is a little bit different stylistically from my current writing. I hope you enjoy it anyway! I'm talking about the brain-destroying threat that narratives pose to our thinking today, and we must credit Nicholas Nassim Taleb's Black Swan for introducing me to the concept. It is the single most influential book on my life. I love most things that Taleb writes, but this is a controversial opinion, to say the least. If you don’t know anything about Taleb, oh boy are you in for a treat. Here is a quote about the man to whet the appetite: I know many of you love this guy, and think he’s a genius. I can assure you, none among you, are as impressed with his intelligence as he is. This guy is just insufferable. I’ve actually never witnessed a marriage of incompetence and confidence so fully and grotesquely consummated in the mind of a person with a public platform. This is the most arrogant person I have ever had the misfortune of meeting. When you meet him you quickly discover that he radiates a sense of grievance from his pores in a way that few people do. It’s kind of like a preternatural force of negative charisma. He is a child in a man’s body. And the mismatch between his estimation of himself and the quality of his utterances is so complete and so mortifying to witness in person that you just find you’re jumping out of your skin. — Sam Harris 1 Here’s the message from Taleb that I want to discuss: You don’t know that much. You can’t possibly know that much because you’re just a human, and the least you can do is be clueless with your eyes open. A huge number of things are just too complicated to understand, but we are great at convincing ourselves we know what is happening. And one of the main ways we do this is telling stories. A large amount of the book could be summarized 2 as: “Structuring your theory into a story makes it more compelling.” Everyone knows that. You knew that, right? This is the most common piece of trite writing advice doled out to struggling university students, and I still give it out. Write a story. Facts? Haven’t you turned a damn television on in your life? Does it really look like facts are what’s going hot right now? It’s usually narratives that are selling. Is that harmless? It’s just a way of communicating, after all. Of course narratives make details go down a little bit easier. There is a wonderful sense of coherence and closure. The project failed because the market was too immature. The surgery was botched because the surgeon didn’t sleep enough. J.K Rowling succeeded where all those other authors failed because she was so persistent. Start, middle, end . Get the hell out of here Taleb, no one needs you. And wipe that smug grin off your face. Those were my exact thoughts the first time I read the The Black Swan . I gave it an increasingly irritated read, chucked it ignominiously on a shelf, and told everyone it was garbage printed on trash. Then I spent some time at university and started to notice a few unsettling things. It started in my third year when, on a whim, I picked up The Black Swan again on a flight to my home country for the holidays. Something clicked this time, and instead of sleeping the flight away, I was glued to the book. I stepped off the plane thoroughly sleep-deprived, but with liquid lightning running through my brain. You see, I had just seen a TED talk by psychologist Paul Piff with 3.5 million views, titled “Does money make you mean?”. Here’s a summary (in his words) of the study – this will be on the exam: “I want you to, for a moment, think about playing a game of Monopoly. Except in this game, that combination of skill, talent and luck that helped earn you success in games, as in life, has been rendered irrelevant, because this game’s been rigged, and you’ve got the upper hand. You’ve got more money, more opportunities to move around the board, and more access to resources. And as you think about that experience, I want you to ask yourself: How might that experience of being a privileged player in a rigged game change the way you think about yourself and regard that other player? So, we ran a study on the UC Berkeley campus to look at exactly that question. We brought in more than 100 pairs of strangers into the lab, and with the flip of a coin, randomly assigned one of the two to be a rich player in a rigged game. They got two times as much money; when they passed Go, they collected twice the salary; and they got to roll both dice instead of one, so they got to move around the board a lot more. [trendy man talks some more] And here’s what I think was really, really interesting: it’s that, at the end of the 15 minutes, we asked the players to talk about their experience during the game. And when the rich players talked about why they had inevitably won in this rigged game of Monopoly … They talked about what they’d done to buy those different properties and earn their success in the game.” – Local Bad Scientist Wow, stop the presses! We’ve figured out why rich people are awful! How much do seats at a TED talk cost anyway? Five thousand dollars? Paul, please, this isn’t the right venue to flex … wait, are they applauding you? There is something deeply pathological going on here, and it is above my pay grade. It turns out all your personal biases were totally right! Everyone doing better than you is a jerk. It’s so simple! Wealth makes you into a monster. “What we’ve been finding across dozens of studies and thousands of participants across this country is that as a person’s levels of wealth increase, their feelings of compassion and empathy go down, and their feelings of entitlement, of deservingness, and their ideology of self-interest increase. In surveys, we’ve found that it’s actually wealthier individuals who are more likely to moralize greed being good, and that the pursuit of self-interest is favorable and moral.” “And that is why I am pumping chlorine directly onto the most expensive seats!” – Paul Piff, probably. There are plenty of technical reasons to doubt this result, ranging from statistical objections, to simply knowing that a lot of trendy scientific findings are false. But there’s a much simpler red flag. Think about this for a moment, really stop and imagine this – how stupid would you have to be to get double the money in a Monopoly game and get to roll twice as many dice as your opponent, and still think you won because you kick ass at Monopoly? Really, stop and think. If the answer is unbelievably stupid, congratulations! It turns out it actually is unbelievable. If you didn’t get this answer, please see me after class. Gregory Francis, a professor in the U.S, has spent a great deal of time drawing attention to dubious studies, mostly by working over their statistics. He is, to use the modern vernacular, a total dork. However, we forgive and like him here, as he demonstrates with some basic statistical concepts that Piff’s studies are turning up positive findings much more frequently than they should, even if we assume the effects are real . He just did the math and said “For a real effect of the size you are reporting, your method for detecting it would fail about half the time. Why are all your results positive?” As an aside, Francis has previously accused authors of running tons of tests and failing to report the non-significant findings. One accused Francis of checking tons of authors and failing to report the innocent ones. The skepticism ouroboros has formed and the epistemology serpent has eaten its own tail. Anyway, in Piff, we have an author in a field that famously has trouble replicating studies, proposing an implausible effect, with strong evidence that something is wrong with the studies coming out of his lab. I have no idea what he did wrong, and it’s entirely possible he has no idea either. I told some of my friends (who are incidentally some of the top psychology graduates in the country now) that something suggests there’s an issue with the study, and asked them what they thought it was. Ah, the problem is clearly that the sample size is too small! Ah, the problem is that Monopoly does not generalize to the real world! Ah, the problem is the sample was too homogeneous! (They just assumed that the university, like all others, were running everything on coerced undergraduates.) Whether or not these critiques are valid, no one said “Come on, that’s just silly . People aren’t that obnoxious. I’ve met some morons, but there’s an upper limit.” You see, I have no idea whether money makes people immoral. Hell, it probably does! I’m left-leaning, and I will certainly consider eating the rich if only ironically. But that’s irrelevant right now, and best handled in therapy. No, the real point is that the claims from this study are ridiculous and intelligent people that have been studying for years can’t pick up on it . The real point is that I am actually really confused as to how Piff got his results, but at least I’m not tricking myself into thinking I know what’s going on. Did he fudge the numbers? Was the experiment poorly set up? Just pure bad luck in sampling? Hell, is the result true? I don’t know, but I will say that you don’t know either . The problem with narratives is that they make everything sound convincing even if they really shouldn’t . The problem with this result is blindingly obvious – a twelve year old would object to your victory under this ruleset, and the objection would be sustained. But we stick a little story on here – “The ridiculous result makes sense because …” and suddenly it gets past intelligent people. Narratives are indiscriminate. Attach them to anything and they are now more compelling. A useful way of thinking about persuasive techniques is how Scott Alexander frames them as either asymmetric or symmetric . An asymmetric weapon is only helpful if your point is correct – you will get frustrated quickly if you try to use the scientific method to prove that the earth is flat. However, speaking in a clear voice and being very handsome are symmetric. You don’t have to make a lick of sense to benefit from them. Narratives are symmetric. We’ve seen that bad results can be hidden in plain sight in the context of psychology by simply slapping a narrative on these. But does this only apply to psychology? I’m going to demonstrate that it happens everywhere. Sorry, psychology-hating fans, we only focused on psychology first because it’s what I know best. 3 So there are a huge number of things you can’t possibly understand. Sometimes this is because you don’t have enough time to do a PhD in them. Sometimes it’s because no one understands them, although we mitigate this by slapping a label onto a field and saying we understand what is happening. Brief aside on labels, Taleb frequently deploys words from his vocabulary like flâneur, but once nicknamed a guy he hates ‘Fortune Cookie Shermer’. You can’t make this stuff up. Anyway, there’s the usual stuff about who won the primary debates in the U.S. Ignore the politics right now – I’m picking this example purely because it is recent and clear. After each debate, we get to hear who the ‘winners’ probably are. After the second debate in early August, it was opined that a candidate did really well. I’m not American and have no idea who this is. I don’t care 4 . But here is what I do care about. “Tulsi Gabbard : The Hawaii congresswoman entered this debate as one of the least-known candidates in the field. That should change — at least somewhat — after a strong performance . Gabbard was reasonable but also pointed: She did real damage to Harris on criminal justice reform. She was poised and knowledgeable throughout. And she made the most of the relatively limited talking time she had, using it to talk about her resume — most notably her service in the Iraq War. Overall, a very strong performance.” Cool, cool. I wonder how big the change was – Wow! Literally five people changed their minds! It’s almost like nothing you just said matters! People are reading these and thinking they know what’s going on. At the very least, isn’t the journalist heavily implying they know what’s going on, and that the world in this instance makes any sense at all? I didn’t even need to watch the debates. I knew their prediction would have some moronic elements. All I had to do was Google ‘post debate winner’, pick the first article from a major news outlet, then find the first instance where the writer made a testable prediction. It’s like clockwork. With stupid… gears? It was bullshit under a thin veneer of story, is what I’m saying. Did I mention there is a webcomic about Taleb? Look at it! It's glorious! But also what the fuck is going on here? What are you saying , old man? Yet while this particular brand of nonsense seems ubiquitous in some circles, it was clear that this didn’t happen nearly as much in other fields. Say, a class on machine learning. Why not? Well, if you make a bad prediction in a machine learning task, you would get an unambiguously poor result, and then you’d be the person that sucks at machine learning. The reason it’s easy to get away with a shoddy narrative other fields is that if you make the story up after the fact, it’ll always fit whatever you just saw. Then to prove you wrong someone would have to get funding, ethics approval, all that jazz. So it’s easy to make up stories, but hard to disprove them. That seems like a pretty good explanation. But as I’m writing this, I wonder, have I not just engaged in the very thing I am rallying against? That's sure a neat story. How do people get away with awful political takes and economic forecasts? You can test those. Why isn’t anyone calling them out? Does no one care? Are they getting called out and I just don’t know where to look? (Note from the future: They are both getting called out and society at large doesn’t care. So uh, fuck us, I guess?) It’s an interesting question. At least the person from CNN above actually made a testable prediction. I just hope that the lesson they took away was “I actually have no idea how any of this works”, rather than the far more common outcome of coming up with a story to explain why they were wrong. In contrast to this, FiveThirtyEight famously produces very accurate predictions. And when they look over the actual results following events, they tend to avoid narratives. They fit some trendlines and test some straightforward hypotheses. And here is FiveThirtyEight’s own head honcho Nate Silver apologizing for how all the stories he was spinning made him totally wrong about the previous Republican primary. There’s nothing to be ashamed of there at all because at least he admitted it instead of making excuses. It happens to everyone, but only a few people can just admit they were clueless. The truth is, people are complicated. The future is opaque. The world is a mess. Or as Taleb loves to quote: “It's tough to make predictions, especially about the future.” — Yogi Berra That is, making accurate predictions is hard if you’re interested in being right, or if you have an outcome you could be punished for. However, coming up with compelling narratives? Super easy. There’s a very famous study about ‘power poses’, again a popular TED talk, it’s always the TED talks. It just so happens that one of the authors has retracted the belief that the effect is real, but the one that gave the TED talk has strongly defended the original work (unconvincingly) and is still raking in the fame. RetractionWatch says that the author is receiving large speaking fees, though following their link I couldn’t find a specific number. Either way, it seems like there’s no real punishment for pushing bad science. And there’s no shortage of these weird papers: “How many times have you heard the expression – maybe you’ve used it yourself: I’m going to wash my hands of something. I’m going to move on, I’m going to disassociate myself from something, I’m washing my hands of this. And this idea of symbolically washing yourself clean is something you see in religion too, of course, like the ritual of baptism. But could there be a little more to the metaphor? Could washing your hands, the act of methodically lathering up with soap and water, have some tangible effect on your thoughts? A study out this week in the journal Science suggests that the answer is yes, that hand washing can actually change your thinking.” Yes, this study did not replicate. But I’d like to draw your attention to something else entirely. What would have happened if the results came out the other way? My guess is that we would have seen an interpretation like: “We proposed that the act of washing one’s hands reminds participants of uncleanliness. Washing one’s hands in Western culture is heavily associated with negatively valenced acts, such as ‘washing one’s hands of a crime’.” If you can come up with a compelling narrative regardless of your results, it seems like the narratives are actively damaging in almost all cases. But there is some inherent tension here, because it seems like establishing a causal relationship between factors requires a narrative. Things fall when they are dropped because of a force called gravity – so we can’t just stop using all sentences that have the word ‘because’ in them if we want to draw conclusions. Also my grandmother refuses to even listen to me talk about normal distributions, so perhaps that test doesn't work on all points either. All we can do is try to figure out is when it’s appropriate to do so. We have seen that inaccurate results can be hidden in plain sight by appending a short story at the end. But I’ll go even further and say that we are inadvertently training people to think this way, punishing them when they don’t, and even this process is hidden by narratives. I mentioned earlier that many of the students I know have a rote list of permitted objections to science. This is actually not really their fault – it’s one of the unspoken rules at university. The main reason I was an effective private tutor is that, not being employed by the university, I was allowed to speak the unspoken rules. I noticed that the university would tell my students (and myself) to do independent research and write up our conclusions but simultaneously tell us what story to tell. And you had better go with that story – or any story. So you get an essay about psychoanalysis, with a little blurb saying that ‘evidence shows it is approximately as effective as cognitive behavioral therapy’, plus a couple of articles laying out a simple narrative. No, no, you don’t have to accept that as true. This is a university, critical thinking is encouraged. But if you don’t, you’ll get marked down and we’ll say your research was weak. What constitutes weak research? Well, you didn’t have enough references (ignoring the fact your peers had far fewer). Oh, you had more references than them? Then you should have elaborated more on fewer articles. Ah, you did both? You've cited too many articles and not included enough of your own thoughts. How could you have known before submitting this what was too much or too little? Oh, we’re out of time, lodge a complaint if you have any further issues. It will be reviewed by someone that has no incentive to disagree with me. I wish more of my students had thought to ask that question. How could you have known before submitting the work? For many students, the answer is that you probably couldn’t. There’s a bunch of randomness in marking, and it depends a ton on how your tutor is feeling (and yes, on the quality of your writing). But not on the actual facts of the matter in many courses. There is typically an allowed narrative, and woe unto those who stray too far from it. Do universities have a sinister agenda to force particular studies down your throat? No, not usually. Does this apply to every unit? No. But it does to most units, most of the time. One of the key pieces of feedback I got on my previous article where I mostly discussed psychology was that every faculty has some version of this problem. See, you do a bit of digging, and hey, it turns out one of those first references given to you wasn’t quite right. But you know that you have to include the starting references to make sure you’re on topic, plus it’s expected of you. And well, you’ll have to cite it if you’re refuting it. If you get this far, you have already fallen victim to one of the classic blunders! The mistake here is that you’ve gone and included something that isn’t a narrative. Sometimes studies aren’t false for compelling narrative reasons. The researchers don’t always make a really interesting mistake, or interpret a fact incorrectly. Sometimes you just recruited too many outliers into your sample. It’s bad luck. Shit happens. If you write “Research thus far has been inconclusive. John & John found a positive effect, but a later study by Bill indicated a negative effect.”, you aren’t getting a high grade. That’s just confusing. Your marker needs closure ! You would be far better off saying “John & John found a positive effect, suggesting that this therapy has become considerably more effective in light of recent cultural shifts.”. The former demonstrates more research. The latter is a neat story and is easier to read. Don’t complicate things. Just let me read your work and put a big red tick next to it. Do you think your underpaid marker working through their 30th essay actually gives a damn about the total amount of research you did? In fact, do you think they even know why they’re giving you a precise number? Why 81% instead of 80%? Why 80% instead of 79%? At the end of the day, there’s going to be some gut feeling involved, but they’ll come up with some reasons you can’t argue with after the fact. Why does this exist? He even talks like Taleb tweets. In all major Australian psychology courses, students are bell-curved to ensure too many people don’t qualify for Honours. Please find the obligatory horror stories here . When a tutor accidentally assigns too many good grades across the class, they are asked in no uncertain terms to pick someone at random and come up with a reason to take marks away (I have insider information on this point). They do it every semester, and the students have no way of telling whether they’ve been given the shaft. The reasons sound great, whether or not they were concocted after the fact. I once had two students, one of whom got caught plagiarizing about a quarter of their submission , and the other turned in perfectly serviceable work. Same assignment, same semester, same institution. The one that plagiarized scored about 10% higher. If you’re a student, dear reader, this is the system that you’re putting in charge of your self-worth. Don’t make that mistake. It’s just numbers on paper. Higher numbers are helpful, but they aren’t worth getting depressed or anxious over. I have never even heard of someone being asked for their grades outside of a few niche domains like law. Can you see how utterly bizarre this is? The university provides students a narrative about the state of the literature. Students are expected to respond with a narrative, or will be marked down because lacking a narrative simply is less enjoyable reading. The markers will come up with a story to justify the assigned grade, which at some level is a function of how happy they were with lunch that day. At no point is the epistemic and emotional damage that this entire process inflicts upon students addressed. A final, non-psychology example. I have no serious opinions on sociology. I haven’t studied it nearly enough to comment on the field as a whole. However, I did take a unit on sociology that was really tedious, along with some very stupid units in other fields. At the end of it, they asked everyone to write a reflection on what they learned. I think most people have had to sit through this kind of nonsense. But we all know that we have to diligently write down all the trite ways in which the unit radically transformed our views on life. And that’s really the key. You can get a good grade by saying the unit was amazing in beautiful prose. You can get a lower grade by saying the unit was amazing with less beautiful prose. You can get a bad grade if you complain that the unit wasn’t that good. If you say that everything in the unit was just post-hoc rationalizations that don’t really explain anything? That’s not even playing the game poorly. That’s flipping the table over, and you’re going to get sent packing with a failing grade. It might sound fun to point out that the emperor has no clothes, but do you know the thing about emperors? They can decide to hang you and no one will stop them. But if you play along? Of course, your highness, robes of the finest silk. Anyone can see that. 5 I think I've gotten the gist of what I wanted to say about narratives across, but I wanted to conclude by urging people to give The Black Swan a go. Many people will bounce off it, but there is a lot of deeply useful life philosophy in there. Lots of people have problems with Taleb, but honestly very few of them bother me at all. He was the first person that got me seriously interested in statistics, and insofar as I have ever been effective, it has been because The Black Swan managed to convey its message in a way that made it feel relevant to my life. I view everything through the lens he gave me – and it has some downsides, which maybe I’ll cover some other time, but it has no doubt been a huge positive impact on my life. With that, I believe I’ve said what I wanted to say about Taleb. He is possibly a terrible person, or a great person, or a genius, or an idiot. He wouldn't care what I think because I like his biggest idea and he’s rich. But I feel like I should leave on a more appropriate note. Hm. Perhaps an anecdote about – No. Ah. Of course. Perfection . Many readers will have to decide whether an insult from Sam Harris is a good or a bad thing.  ↩ You shouldn't be happy with the summary of a book because we don't have the minds of fucking eight year olds, but I must be expedient instead of reprinting the whole thing. By the way, did you know there is what appears to be a thriving business in book summaries for leaders ? Explains a lot!  ↩ I've now worked in a bunch more places and can confirm that tech is also bullshit-driven! By the way, I need a static webpage with an enquiry form, can someone recommend a React developer?  ↩ Mein Gott, do you all remember not caring what's happening in America? Fuck, how I long for those sweet summer days.  ↩ In other news, local civilization creates globe-spanning, career-limiting industry in screening the population for submitting to arbitrary authority, is shocked when population submits to cryptofascist authority.  ↩

0 views
Ludicity 5 months ago

Get Weird And Disappear

Can't leave rap alone, the game needs me 'Til we grow beards, get weird and disappear Into the mountains, nothin' but clowns down here The most treasured object in my home is the cheapest bookshelf I could find. It has been overflowing for quite some time, despite my efforts to only buy books of exceptional quality and relegating the rest to my kindle. Many of the books are unread, but that hasn't stopped me from adding to the pile 1 . My partner has gracefully accepted that I will stop at every bookstore that looks remotely interesting, and patiently reminds me that my past-self has issued strict orders to my current-self to stop acquiring tomes until I have space for a second bookshelf. Over time, I have dropped from buying a book a week to one every month, which represents a spectacular effort for me. Despite the gradual development of what I'd like to think of as iron will, I caved upon stumbling across this particular edition of A Wizard of Earthsea . This was a repudiation of all that hard-won bookshelf space saving. I had read A Wizard of Earthsea when I was thirteen, and I didn't really get it. It was a book about wizards. So what? It was slow and ponderous, and my teenage self knew that an interesting wizard should be firing lightning bolts at dragons. But the illustration on this copy of the book was so gorgeous that I bought it anyway. It was only when I slotted it into my bookshelf, and it was fully juxtaposed against the others, that I realized how hideous so many of my other books were. I treasure their contents , but consider the first two books I pulled at random from the shelf. The Robin Hobb book on the left is generally beautiful, but it is done a disservice by the George R.R Martin quote splayed across the front cover, its marketing payload expended the moment I purchased the book, but which I am nonetheless obligated to look at for the next thirty years. Almost all my books are thus marred. And this is, sadly, a relatively tasteful example compared to much of the competition. Consider instead the copy of American Gods on the right, sweet merciful Christ, it is a truly repulsive abomination 2 . Just look at it . The quote at the top is George R. R. Martin once again, which says something about what marketing departments think is impactful. In the top right, we see Ian McShane, which is incredibly jarring because I know him only for his role in John Wick. Along the bottom we have the tedious "No. 1 Bestselling Author". And most offensively, thanks to the screaming red bubble, my descendants will forever know that this precious artefact handed down from their great grandfather once had a no-doubt mediocre second season on Amazon Prime, whatever the fuck an "Amazon Prime" is. Did they turn the rainforest into a cinema when they were done destroying it? Upon closer inspection, my bookshelf is riddled with tasteless advertising smuggled into my home by boring marketing departments, and I am not open to arguments that this meaningfully boosts sales. Some people might have differing taste, but this is bland to the point of nothingness. At least erotica has the decency to slap a shirtless hunk on there, and we can envision the target demographic. Not a shred of this crassness is evident in this copy of A Wizard of Earthsea , and some part of me thought "This is Quality", and amidst the shrieking cacophony of the other titles ("New York Times Bestseller! Twilight Meets Game Of Thrones! Breathtaking!"), it is the one I walked away with. It is now one of my favourite books. A Wizard of Earthsea is a towering work of genius. Going back to it now that I'm older, I must simply accept that my teenage judgement was... well, a teenager's judgement. It is beautifully written, wise, and it does not feel the need to overstay its welcome with contemporary notions of how long a book should be. The writing speaks for itself: "You want to work spells,'"Ogion said presently, striding along. "You've drawn too much water from that well. Wait. Manhood is patience. Mastery is nine times patience." He spoke softly and his eyes were somber as he looked at Ged. "You thought, as a boy, that a mage is one who can do anything. So I thought, once. So did we all. And the truth is that as a man’s real power grows and his knowledge widens, ever the way he can follow grows narrower: until at last he chooses nothing, but does only and wholly what he must do..." While it was not a given, it is not surprising that the gentleness of the prose is matched perfectly with the elegance of the overall presentation. What was surprising is that cracking open the book reveals an introduction from Le Guin herself, specifically lamenting the immense difficulty she had over the years in simply getting artwork done which was not at terrible odds with the contents. ... until very recently, the books of Earthsea had no illustrations. This was partly my own decision. After Ruth's unique wraparound jacket for the first edition of A Wizard of Earthsea — with its splendidly stylized, copper-brown portrait face — cover art for the books mostly went out of my control. This is the beautiful cover to which Le Guin is referring. Le Guin continues: The results could be ghastly — the droopy, lily-white wizard of the first Puffin UK paperback;... ...the silly man with sparks shooting out of his fingers that replaced him... ... I was ashamed of the covers that gave the reader every wrong idea about the people and the place. I resented publishers' art departments that met any suggestion that the cover might resemble something or someone in the book by rejecting it, informing me loftily that they Knew what would Sell (a mystery that no honest cover designer would ever claim to know). Let us take a moment to appreciate how funny those covers are, and then take another moment to soak up some secondhand embarrassment — somewhere, alive or dead, there are people that told fucking Le Guin how to go about her business, to turn her characters from brown-skinned to white, who perhaps even rejected some early manuscripts. And at least some of them must be aware that Ursula K. Le Guin took a moment to personally light them the fuck up in the foreword of one of the most famous books of all time. This is not the first time that I've seen people in the publishing industry complain about the narrow-mindedness of their peers. Consider the afterword from my copy of Zen and the Art of Motorcycle Maintenance , which includes a letter from Pirsig's original editor, James Landis, who went to immense lengths to have the book published: The book is not, as I think you now realize from your correspondence with other publishers, a marketing man's dream, and if our particular variety of that species... tries to make trouble over the book, I'll just have to supply what pressure I can to overrule him: I'm determined to fight this thing through to the end you and I desire... No sense in trying to kid you by pretending that the book is 'commercial' in the way that term is understood by most people in publishing... However, I have ultimate faith in the book's being good, valuable, which gets us into standards beyond commercial and gets us also into what, to my mind, publishing is all about. That was from the 40th anniversary reprinting. We could speculate about the unknown unknowns — perhaps there are thousands of James Landis' out there, and we are witnessing the one who survived. It is surely possible to publish a phenomenal book and have it be ignored. But for my money, what happened is that Landis has real taste, and that while the modern economy sometimes appears to be filled entirely by bullshit, that only makes it easier for quality to win out if you're willing to stake something on it. But it doesn't come easily, because if you want to do anything interesting , and probably weird, you will immediately be besieged, from within and without, by tedious people and tired ideas. Getting permission from people without soul in the game is oppressive. Consider the final line from Landis above: However, I have ultimate faith in the book's being good, valuable, which gets us into standards beyond commercial and gets us also into what, to my mind, publishing is all about. If you run into Landis and his ilk, perhaps you can do something interesting. You have someone in your corner, who will perhaps take a risk on your behalf, because while they may preserve the skin they have in the game by refusing to be weird in front of their peers, they have to choose between that and their soul. But you will probably not run into Landis. You will probably meet the typical editor, who would be delighted if you offered to write Grit meets The Subtle Art of Not Giving A F*ck 3 . You will meet the real estate agent who will never be swayed by considerations other than the size of your bank account, or the government bureaucrat who will decide that you cannot immigrate because you are two days below the age of 23, or some other tasteless and impotent cog. Even consider startups, a community replete with people who jerk themselves off to the label of entrepreneur so hard that they're at risk of permanent groinal damage. And because we do work with some startups, I will make apologies to the twelve sane startup founders out there. 4 It's distressing how many young people are under the impression that startups are where you go to innovate and assert yourself. You're young, full of optimism, and have minimal obligations. Your only real weakness is your lack of experience, and it is with that inexperience that you... you sign a deal with people who are possibly dozens of years your senior in cunning, law, and finance? To play games on their terms, where you're a total loser if the business earns just enough money to live comfortably on your own terms? Where you have to justify your decisions, where they can pressure you to sell more of your equity, and ultimately appoint a new CEO if you make a misstep? But I digress. To continue the theme of publishing, last year I was approached by an editor at a mid-tier publisher. I made sure to read some of the editor's short stories before our first meeting, and it turned out they were themselves a talented writer with a real passion for the craft. In fact, while looking up the link to the article above, I discovered they published a book as recently as 2024. And they wanted to help me get published! My name, on a book! I knew that it was unlikely to do any significant sales, as blog-writing and book-writing are two very different skills, but still! A book! Things progress well over the next few days, and it turns out the editor shared many of my frustrations with how companies run. Just as it looked like I was going to sign on, the sales team comes with their Opinions, and I must sadly say that they were not sophisticated Opinions. To begin with, they wanted to stipulate that swearing was absolutely not allowed before knowing anything else about me or what we wanted to write. I wasn't actually intending to swear much, if at all, but I also saw no need to limit myself up front. Why agree to play left-handed before we've even tried out the game? More conditions are added. They will not even guarantee that they'll try to get it on bookshelves. I reach out to some other people who have published with them, they reveal that they were forced to write their entire book in Microsoft Word templates. Communications were confused and unclear. Even the payments were described as "opaque". Basically everything you would expect out of the typical tech project. A picture begins to emerge, of a serious editor trying to do their best, surrounded by colleagues who are about as unserious as anything I've described in the tech world. Nothing surprising, but still, why not self-publish? An editor and an artist will only run a few thousand dollars, a tiny investment compared to the time it takes to write a book, and whatever I lack in experience can be compensated for with giving a shit. To quote one of my co-founders, Jordan Andersen, it's only arrogant if you're wrong 5 . In the meantime though, I frequently find myself reflecting on how bizarre the knee-jerk "no swearing" rule was. Sure, there are always going to be some concessions to be made to marketing. I don't just label all my posts "Unnamed Post #7", because I would like to be read at least a little bit. But swearing? Who gives a shit? Is that really going to be the difference between a good book and a bad book? Why on earth would you hear that you've got someone interested in writing a book whose writing is doing millions of hits that very week and then immediately tell them that you know what will sell better than they will? In fact, the only other book they've got that's well-known enough for me to recognize it has swearing in it , so I know it isn't even a principled brand stance. A midwit just went "I am slightly self-conscious about how I appear to my boss" and that was enough to tank the whole thing. I will never stop citing Sturgeon's Law . Ninety percent of everything is crud. That is to say, ninety percent of everything is crud to a practitioner who has taken the time to develop judgement. That is to say there is some distribution of judgement and bravery, and a whole lot of people are clumped in one not-very-good batch. These days, when people become concerned about the seeming arrogance in that statement, I point them at real estate agents and say: "That's how bad many professionals are, but you can only tell when the issue is as blatant as a broken window in your living room." I still have not met a professional whose competence I've been able to verify that will not endorse something close to Sturgeon's Law. The best I've been able to manage is that, if you ignore all secondary attributes required for a job such as empathy, communication skills, maturity, and restrict yourself purely to the mechanical task at hand, some medical subspecialties are consistently okay... but with all those caveats, you'd still never want them to be your physician. In all fields, very weak practitioners seem to cling to a series of practices or principles without a nuanced understanding of why they're doing those things. Consider, for example, a junior engineer. The trajectory of the typical junior engineer is that they will hear a principle like Don't Repeat Yourself, and immediately begin writing functions to generalize two pieces of code that even look similar. This is normal and even admirable — it is a single-objective optimization problem, and they're optimizing! Junior engineers are supposed to be weak practitioners, but this person is trying . They will then become slightly more sophisticated, and learn about premature abstraction, and suddenly we have two principles that are in conflict. Collapsing duplicated code means you are Not Repeating Yourself, but you are probably introducing an abstraction, and now you have a tradeoff between two principles 6 . And if you keep going, you will pick up dozens to hundreds of these, implicit and explicit, and must become comfortable with the fact that you're going to have to balance them all simultaneously via the application of judgement, and you will be wrong sometimes. With all that nuance comes the boon and burden of being able to disregard principles. For example, we use Test Driven Development , but I was recently working on something that required spinning up a headless Chrome browser to convert a HTML document to a PDF. Unfortunately, this is very slow in a test suite and annoying in some CI/CD products for various reasons . Because I have an idea about why I test, and what the value of it is, and how likely this is to break, I made the decision to just not test that bit of the application when running tests in GitHub Actions. Will I regret that? Maybe, probably, but the point is that my rules are there for reasons and sometimes those reasons don't feel like they apply. 7 Truly weak practitioners will come to you with totally degenerate rules or principles. This is the "no swearing" publisher, but it is also the "no dogs" landlord, the "no risk" security guy, the "must have ten years of Git experience" recruiter and I've no doubt that everyone reading this can think of at least one system where they've thought "I can't believe I'm at the mercy of a person that isn't even thinking ". Frequently their rules are not even rules, they're just phrases that competent people used to say, and eventually they became well-known enough to become fake-able signal. Data-driven. Garbage in, garbage out. Agile. All of these may have previously signalled novel thought, and now anyone that's really savvy does their best to not use the phrases because they know how tacky it makes them look, even if they actually use them in meaningful ways . This can even happen when you've bypassed the large, visible, external gatekeepers, such as recruiters. All it takes is one person within an organization that loves talking and again lacks that baseline competency. One of my co-founders, Ash Lally, the infamous Business Jaguar 8 , was on a contract outside the context of our consultancy recently. They are tasked with pulling data from one system into another system, which is about the most boring and typical thing that a data engineer can do. The employer is not technologically advanced and this task is not their core competency, so as is the case for almost all work in this category, the solution is to schedule some code to run once every ten minutes to pull it in. They are working with someone that, to steal the words of a reader, has had a very impressive career in numeric terms, i.e, they're terrible at their job, but boy oh boy have they been doing it for a long time. Ash's counterpart considers pulling the data in every ten minutes, then comes back with: "Event-driven is good for internal system integration." Event-driven means that instead of writing something very simple to grab all new data every ten minutes, you instead write a very bespoke system that detects new events in real-time and copies it over to the target system. This is way more complicated and totally unsuitable for a company that hasn't figured out version control yet. And also totally unproductive, because the data can't be used without another piece of data which has a hard limit of being calculated... once every ten minutes. So the company still has a ten minute delay before anything can be used, plus all the insane overhead. But still, we should hear them out, why is event-driven good for system integration? I can think of some reasons, but I'll never know if they're the reasons this person had in mind, because that information is not forthcoming! They heard those words somewhere from someone authoritative-sounding and they now feel comfortable regurgitating them at other people. But we're going event-driven now! Bonus points, this infrastructure supports emergency services, so you can commit stochastic murder this way! It's like serial killing but you've tricked a whole department into being your co-conspirators! Even when you've passed all the normal gatekeepers, you will sometimes need permission to do the engineering equivalent of tying your shoelaces correctly. 9 Above, I talk about people who have even gotten as far as misapplying principles. As frustrating as that is, that isn't even the worst you can do . Some people never reflect on their craft at all, or do not view it as a craft. The person that says "event-driven is good for internal systems integration" has at least taken a moment to read something, even if it's a terrible LinkedIn post or a Medium blog. Things can get so, so much worse. Remember all your peers at university that would say "I dream of working in HR"? No, probably not, because that sentence has possibly never been uttered in all of human existence. The field is laden to the point of breaking with people that drifted into it because it was the first job they could get that paid white-collar wages for a qualification no more sophisticated than knowing where some of the buttons are in Workday. Some of them, by dint of personality and ethics, are good at their jobs, but they are few and far between, and perhaps most importantly are not systematically produced. Is it actually a surprise, under those conditions, that HR seems to be useless whenever you interact with them? Could we expect any other outcome? It's a testament to the power that so many of them have relinquished to the economy, by dint of being unemployable on the grounds of technical skill or competence , that they bother to get out of bed at all. They don't want to be there any more than you want them there. Jordan, the same co-founder responsible for "it's only arrogant if you're wrong", wrote a single blog post on our company website. During a meeting where Jordan asked for some feedback, we spent some time caught up on this little snippet. I just want to pause and note how fucked this was. While I was an accredited allied health professional at the time, it's fucking ridiculous that a bunch of recreationists were put in charge of dictating how anyone should respond to a medical emergency... And here's what the team was split on — do we swear on the company blog? You can probably figure out where I set on the issue. Go for it! What are you, some sort of coward? But the team wasn't sure, and the truth is that I wasn't entirely sure either. Maybe I can get away with that on my personal blog, but is that too crass? I mean, some people feel it's already too crass here. Will people be scared to take us to their managers? And most importantly, other consultancies aren't doing this , should we be more like them? Eventually, Ricky Ling chimes in (I'm sorry there are so many of us), and his take for Jordan is the Quality-focused take. "If you think it makes the writing better, do it". We still aren't sure, but we know that we didn't quit our jobs and give up all that sweet, sweet salary to be cowards, so we do it. That single post has generated us a huge amount of outreach from cool people despite not going viral or being widely circulated as far as I know, and we almost started prematurely neutering it because a group of people who already deviate wildly were still worried about doing something even a little bit different. Being seen to deviate is extremely hard, in large part because to deviate is to be seen , and the gaze of others is deeply uncomfortable. There's an exercise that actors do, where they sit in two chairs opposite each other, make eye contact, and then one of them just starts saying things that they're feeling. "I am aware that my hands are warm." "I am aware that I am uncomfortable with you staring at me." "I am aware that I want to burst out laughing." This is very, very uncomfortable to do. I've done it three times, for about ten minutes each time, and I cannot emphasize how much we all hated it. From this we can infer that actors are total fucking weirdos, but also that acting as a field has identified that there is something deep to unpack in reflecting on what it is like to be perceived without the luxury of flinching or breaking eye contact. This aversion to deviation and subsequent perception is enough to make some people totally impotent. In the earlier days of the consultancy, I envisioned that our sales pipeline would be something like this: This sometimes does happen, but it has never happened at a company without a really spectacular culture. What happens at the average company or government agency is something to the effect of: "I am working on a project, and we're being scammed by some other consultants. The whole thing is months late, and it isn't going to finish any time soon. Is there any chance you can help out?" I reply, "Yeah, of course, we'd love to. But we'd need an introduction to someone inside the company who might be willing to admit that something is wrong." And this is where, every single time, the person that initially reached out has decided that they don't want to take the risk of being visible. I understand — a lowly engineer suggesting an external consultancy with hot takes is really, really unusual, especially so if they present hard-to-ignore and inconvenient evidence that a project is failing. It has possibly never happened to the average CTO across their entire career. The engineer would be as visible as it is possible to be, perhaps moreso than if they hauled off and punched someone in the face, and during the next round of layoffs they will either be promoted for being weird or fired for being weird. In either case, redundancy is no longer dependent on who is at the top of the list when the CFO sorts the salary column on a spreadsheet by descending. In the past year, I've seen people have huge impacts at companies by exerting some bravery. This sometimes means getting a bully fired, sometimes it means getting the first tech project to work smoothly in a decade. In some of these cases, the person involved was made redundant shortly afterwards for interfering with people's selfish political aims, and other times they were promoted for actually giving a damn (and yes, sometimes for unknowingly helping someone else's selfish political aims). But all of them went in willing to put something on the line. A huge number of employees will venture nothing for their beliefs, and while that is fine or whatever, bla bla bla, they have kids, they're also going to be largely ineffective because they won't change anything big, because big change is novel and weird, and novel and weird might get you noticed, and getting noticed means something is going to happen to you. Our company is really into weird stuff. Our favourite TTRPG is Burning Wheel, an extremely niche product, hundreds of pages long, whose creator refused to release a PDF for years because he felt that it watered down the experience. Our favourite traditional board game is Twilight Imperium , a sci-fi masterpiece that takes thirteen hours to play. For internal projects, we program Elixir, a language with near-zero name recognition amongst engineering genpop that compiles to Erlang, a language developed in the 80s by Ericsson of all places. We're an Extreme Programming shop. Most of my spend this year has been learning material and one-on-one coaching for engineers in the company. We started with six co-founders, something that caused several banks a great deal of consternation when we tried to open our account, and I am now realizing makes it very hard to write blog posts without introducing what must feel to a reader like an endless stream of new names. It gets stranger. We pair program on all work 10 . We have no network drive, just Git repositories where all documentation is written in Markdown, and the proposals that must go to clients are converted to HTML so we can style them with CSS. AI? Not only do we not turn on AI-assistance during programming, we'll crucify each other for copying a StackOverflow example if we can't explain the behaviour with reference to code or core documentation. We contracted Mira Welner this year, internet famous for frontpaging Hackernews a few times as a fresh grad, who described our work as "the opposite of vibe programming", which will make different people have wildly different opinions about whether we're competent. We invite our clients to sip from the Chalice of Madness, wherein we pray that they will find that the Kool-aid is delicious and refreshing, amen. If there is a conventional script for something, we have probably thrown it out the window or seriously considered it. I'm obviously convinced that these practices are good or I wouldn't be doing them, but they have a secondary characteristic that may be more valuable than their originally envisioned purpose. They filter out shoddy, default thinking, and otherwise shake people into vivid awareness. Everyone is constantly immersed in weirdness, and that makes the next piece of weirdness less scary. I mean, we may still fail as a business for many reasons, but it won't be because we weren't thinking , it'll be because we had stupid thoughts , which at least has the virtue of meaning we actually tried. If you had a company policy of "we only hire people that can pass an interview about Burning Wheel rules", I suspect you would hire a stronger team than what the average company manages. At least they'll have something in common and they've demonstrated refined taste in one area. I don't even care if they can program, they'll figure it out. Iroh: What do you plan to do now that you've found the Avatar's bison? Keep it locked in our new apartment? Should I go put on a pot of tea for him? Zuko: First, I have to get it out of here. Iroh: And then what? You never think these things through! Some years ago, I knew a man that was laid up in hospital for a chronic illness. He was not having a good time, but it must be admitted that some of this bad time was the product of a long-running pattern of poor life decisions. C’est la vie. In any case, one day he is having a particularly bad day, and he messages me from the hospital. He's going to leave and pick up a pack of cigarettes. This perplexes me to no end. "But you don't smoke and are almost out of money, right?" And yes, it turns out I had not misremembered. He wanted to start smoking at that moment in time. Now, this is actually a fairly extraordinary amount of effort. Imagine, you're comfortable in a hospital bed, in a terrible mood, and all the normal pressures that lead to smoking are absent, such as peers to pressure you. But ex nihilo , you now grudgingly swing to your feet, fish out your last bit of money (cigarettes are supremely expensive in Australia, approximately a whopping USD $20 per pack), and march off to try and form a financially crippling addiction. Surely you have enough problems, and don't need to go through the trouble of leveraging your executive function to make more of them? After mulling this over for a while, I come to the realization that this fellow felt the need to inhabit the role of the hard-done-by man on the street. And what does the hard-done-by man do? Well, on the television or a play, he would light up a cigarette of course! Probably take a big, long drag off it, then close his eyes and exhale a stream of smoke into the sky as he sighs. It's real cool , yeah, he's a real cool dude. It's all symbolic, y'see? He's destroying his body as if to say "the world is wearing me down so quickly, the cigarettes won't have time to get me, heh". This is practically understandable, in a strange, catharsis-y way. We all know social scripts exist. There are rough guidelines on how much to tip a waiter in the U.S. In Australia, you should stand on the left side of an escalator if you're not intending to walk up it. What I hadn't really thought about was that some of them are so strong and latent that they can spontaneously cause a person to self-inflict a nicotine addiction. I hadn't even really noticed that I had an archetype of the put-upon smoker in my mind, but there it was, and you likely knew exactly what I was talking about. These scripts are adaptive in some situations — for example, well-adjusted men should be aware that the comradely arm on the shoulder is a great deal more appropriate with a male colleague than a female one, and an even better-adjusted person will just not touch their colleagues. But other scripts, especially the ones that are too small to think about or too large to see, drive insane life decisions. When I was studying psychology, almost everyone, including me , picked the course because we weren't sure what we wanted to do with our lives, but the script says finish high school and then take on ten of thousands of dollars in debt. That script is so large that it basically encompasses your whole upbringing. When you try to look at it, you see grey, and think "there is no elephant here, just a cement wall". Or when someone looks for a job they just start sending CVs out, even though that basically doesn't work at all. The assumption that this is how you get a job is so quiet that people don't even realize they're making a decision. They think the decision is whether you should have a one-page CV or a three-page CV, not whether they should have a CV at all. And again, when you interface with a sufficiently large system, they will have their own scripts, and you will be expected to abide by them. Your counterparty will usually unthinkingly apply them, and if you find someone that is willing to actually look at the situation at hand, treasure them. The other issue with going off-script, or otherwise deviating, is that you have to accept that you're going to look extremely silly if things don't work out. Someone, usually someone that isn't taking any risks themselves, will be a dick about it. Let's say that my company does well enough for me to draw a full tech-tier salary in 2026. I'll be praised for whatever I did differently. Six co-founders! My God, he's a genius! You can keep most of them working contract roles, which means your revenue requirements are low, but it only takes them about an hour a week to mobilize their networks for sales! His mind is a thousandfold blade, so keen is his thinking! Sure, now let's say that it collapses in June because a co-founder wants to pivot to a SaaS offering and I don't. Six co-founders! My God, what a fool! Everyone knows there are reasons that VCs prefer two to three founders and no more! A huge risk for a startup are the founders having a falling-out, and the risk increases exponentially with each node in the fully connected network! His mind is being passed around by stoned college grads, so blunt is his thinking! I can skip the embarrassment by doing what everyone else does. If I failed the normal and boring way, by running a non-Extreme Programming consultancy, with one co-founder, that writes Python because everyone else does, selling GenAI bullshit 11 , I would be beyond critique. I'd just say "Gosh golly, sales are hard", and everyone would nod sympathetically. Guess what though, whether or not people point and laugh, they certainly aren't going to pay your rent for you. Who gives a fuck about embarrassment? LaRusso: Do you think I stand a chance at the tournament? Miyagi: Not matter what Miyagi think. Miyagi not fighting. What most of this comes down to, fundamentally, is whether you trust your own judgement, what you're willing to stake on it, and whether that conviction is strong enough to throw away the guarantees that you'd get from conforming. Because you could take the guaranteed money for writing the book, and if you don't really believe that your judgement is superior, perhaps the money is worth it. Readers call me with some frequency to ask me if I think their startup idea is good. Could it sell? Would it work? Should I do it? How the hell would I know, I'm just some guy with a blog and a business that may explode in the next year. But if I were the owner of a $100M company, would I really know any better? If anyone knew, then when you asked them they would steal your idea. But no one knows, so the idea is safe and sound, and deep down the asker must be aware of this or they wouldn't be asking . Or take last week, when a student visited me from a local university to ask if they should drop out of university to run a startup. They really didn't like the idea of a corporate job, found university extremely tedious and their peers uninspired, so on, so forth. They were clearly very intelligent, but also clearly very young. What do you say there? Because the knee-jerk impulse, for fear of being irresponsible, is to say the boring thing without thinking about it. Finish your degree first. Get a few years of corporate experience. Or even, I know you're depressed, but don't quit your job without something else lined up. None of that is necessarily bad advice, but we should view ourselves with suspicion when we think about saying them, because they also absolve ourselves of guilt if things go awry. Who could blame us for giving the conservative line, even if you can easily play the tape forward and see it results in damnation? The advice that people are too scared to give, but which they sometimes really believe, with the usual caveats for a mental health event that has crippled the recipient's ability to see clearly: "What does it matter what I think? Do what you think is best for yourself, and yes, you might lose your life savings. What's the alternative, doing what other people say is best for the rest of your life?" Thank you for reading all the way through. For this kindness, I leave you with a parting gift. Penguin, what the fuck is going on over there? PS: Oh yeah, I put this in to justify writing, hire my nerds or whatever. PPS: Reader and now close friend Phil Giammattei could use some help with a horrible brush with cancer in the family. You can support him here . PPPS: You all crushed Phil's goal, thank you so much for your generosity. Things are obviously Extremely Bad in many parts of the world right now, and it's wonderfully refreshing to see people pull together, even if it is for a degenerate like Phil. I'd also like to take a moment to curse the person that dethroned me from my spot of Top Donation, and to double-curse them for doing it anonymously, embarrassing me further. Nassim Taleb calls this the "antilibrary" , the collection of books that one owns that one has not yet read. Taleb argues that an antilibrary is there to educate and humble, while a library of already-read books has much of its usefulness shifted to signalling erudition. If you were to point out that the optimal antilibrary strategy is to constantly buy books and never read any, Taleb (and I) would call you a nerd.  ↩ It was also a gift. Sorry Ricky, the Red Rising copy you got me alongside this was much better!  ↩ It is endlessly entertaining to me that the cover of The Subtle Art of Not Giving A F*ck , a book so desperately trying to be edgy, censors the the word fuck, achieving a flaccidity that goes beyond simply deciding not to swear at all.  ↩ 100% of startup founders nodding at this.  ↩ It is a custom that whenever I or Jordan call our shot and mess up, we call the other person and loudly declare "I was arrogant and wrong", then accept ruthless mockery.  ↩ It is remarkable how many companies seem to forget that the ultimate value is arguably Working Software, and while all the subsidiary principles may fall out of Working Software when you shake it very hard, you can't do away with it. Why calculate velocity if you know you aren't shipping, scrumlords?  ↩ The scary thing about messing with long-running, almost-mystical practices like testing is that their second-order effects run so deep that I get many benefits that I haven't even noticed, so making these decisions also means I may have thrown away some things I don't understand. It's like becoming convinced that I can leave a candle out of the summoning ritual.  ↩ I am slowly realizing that my company is comprised entirely of fucking lunatics, and I am the cracked porcelain mask of sanity that attends sales calls.  ↩ Our scathing disdain for this has not prevented us from chanting "event-driven is good for internal system integration" whenever we need to annoy Ash, which is probably not bullying.  ↩ We incidentally allow anyone to pair program with us over a four hour session, where you can choose to be amazed at our great team energy, or if you'd prefer laugh at how bad we are at programming, so long as you'd consider writing a nice review if you have fun and see strong evidence of competence. Just email me!  ↩ I am bored just describing this.  ↩

0 views
Ludicity 7 months ago

Ludic's Guide To Getting Software Engineering Jobs

The steps in this guide have generated A$1,179,000 in salary (updated 13th April, 2025), measured as the sum of the highest annual salaries friends and readers have reached after following along, where they were willing to attribute their success actions in here. If it works for you, email me so I can bump the number up. I currently run my business out of my own pocket. If I don't make sales, I lose savings, and it's as simple as that. I am all-in on creating work I love by force of arms, and I'd sooner leave the industry than be disrespected at a normal workplace again. The impetus to run that risk comes from two places. The first is that my tolerance for middle managers jerking themselves off at my expense is totally eroded, and I realized that I either had to do something about it or stop complaining. I'll happily go to an office if I think it will produce something I care about, but I will not do it because someone wants to impress a withered husk who thinks his sports car makes him attractive to young women. The second , and what this post is about, is that I am really good at getting jobs, and have friends with a very deep understanding of how the job market works. In Australia, when you apply for a job without permanent residency, you are filtered out of all applications immediately. It is the first question on all online application forms, and the reason is that companies do not want to deal with visa renewals and they have far too many candidates. This leads to a situation where any characteristic that is remotely inconvenient but not noticeably correlated with suitability for the business is grounds for rejection. It is not uncommon for immigrants to take months, sometimes over a year, to find their first job actually writing code. Despite being a non-white with no professional network in the country and an undesirable visa, I had my first paid programming engagement lined up before finalizing the move off my student visa. I had a full-time job on A$117K lined up for the same day my full work visa kicked in. I continued to dig up work whenever a contract was expiring, even landing a gig mid-COVID, and while most of these jobs left much to be desired , I believe this has more to do with the state of the industry in Australia than anything that I did. And I have only gotten better at this over the past two years, because while I despaired about the state of software in general, I never stopped thinking and experimenting about how to regain some control over how I'm treated. Almost everyone I spend time with now has walked away from a job without flinching. I've done it . I once caught up with a friend, and he said "Work is stupid, I'm going to Valencia for a year." I said, "W-what? Valencia? When? For a year ?" "Yeah, a year. I'm going in two weeks." And then that glorious son of a bitch did it . Came home. Had a job waiting for him. Quit that job, got another job at more money. Quit that job, got one interstate because he felt like it at similar pay for half the work. All in a "weak" market. I get a lot of emails from people who despair about the state of the industry or who otherwise can't find jobs, and I always end up giving the same advice. I don't have the time to keep doing that. So in this post, I'm going to attempt to convince thousands of people that you should have much higher standards for what you tolerate, that you can build up the reserves to do your version of going to Valencia (this could just be staying home and playing with your kids for six months), and that it is immensely risky not to have this ability in your back pocket. Along the way, we will answer questions like "How long should a CV be?", "What should go on it?", and "When will this suffering end?" From Scott Smitelli's phenomenal The Ideal Candidate Will Be Punched In The Stomach : What was the plan here? Why did you leave a perfectly sustainable—if difficult and slightly unrewarding—job to do this crap? What even is this crap? You are, and let’s not mince words here, you are a thief. That’s the only way to make sense of this situation: You are stealing money from somebody, somehow. This is money you have not earned. There is no legitimate way that you should be receiving any form of compensation for simply absorbing abuse. These people, maybe the whole company but certainly the people in your immediate management chain, are irredeemably damaged to be using human beings that way. They will take, and take, and smile at you like they’re doing you some kind of favor, and maybe throw you a little perk from time to time to distract you from thinking about it too hard. But you? You can’t stop thinking. You can’t stop thinking. You can’t stop thinking. If you're in this photo and don't like it, this blog post is for you. We have one end-goal. A career where you're paid well, are treated with real respect, and we will not settle for less. And I mean real respect, as in "we will not proceed on this major project without your professional blessing, and you can fire abusive clients", not "you can work from home two days a week if the boss is feeling generous". I had a brief email exchange with Erez Zukerman, the CEO of ZSA last year, and asked how their customer support is so good — it's the best customer support I've ever experienced and there's no close second. He replied: For support, the basic understanding is that support is the heart of the business. It is not an afterthought. Support is a senior position at ZSA, with judgment, power of review over features and website updates before anything is released (nothing major goes out without a green line from every member of support), the power to fire customers (!), real flexibility when it comes to the schedule, etc. There are also lots of ways to expand, like writing (Robin has been writing incredible blog posts and creating printables), recording (Tisha recorded Tisha Talks Switches which thousands of people enjoyed), and more. Anything short of that isn't real respect. Not a special parking spot. Not the ability to pick up your kids sometimes . Not a patronizing award on Teams. Most places fall short of this, and because we have all agreed to demand better for ourselves, we are going to consider all of these places as mildly abusive. A lot of office jobs seem like a slow death of the soul — better than the swift death of the body that careers like construction work offer, but that isn't a reason to stop striving. Shoddy work. Hour long stand-ups. The deadlines are somehow always urgent and must be delivered immediately, but are also always late and everyone knows they'll be late from day one. This is delightful at times — office scenes in improvised theater get funnier the straighter you play them — but many people eventually feel that something vital is missing from their work lives. I really enjoy David Whyte's The Three Marriages as an antidote to the tedious objection of "Work to live, don't live to work". It's a part of life, and while it isn't all of life, being bored and treated like a disposable cog for eight hours a day shouldn't be any part of your life. If you're happy to coast, adieu, catch you later. This a no judgement zone for the next five minutes. Here is a quick reality check. I have, by virtue of hundreds of people reaching out to me over this blog, seen the "I want to leave my bad job" story play out far more times than a typical person does in a lifetime. It always plays out in one of two ways. The first is that the person immediately and aggressively looks for new jobs. This usually goes well. If it does not go well, they can always find a new job again. When the job is pursued through "normal" mechanisms, such as cold Seek applications, these jobs almost never meet the standard I set above: great pay, great team, great interview process, and whatever office arrangement you prefer. But they've always been doing better along at least some of the four measures. The other story is much more typical, and it goes something like this: I'd love to leave, but there's something keeping me. One more year and I'll get a new title, and then I'll be so well-placed for a new job. I've heard the market is bad, so I should wait until it picks up again. I'll get a raise soon, then I'll negotiate for a new job. I'm scared of keeping up with mortgage repayments. I just need a year to finish up this project, it'll look great on my CV. My network is terrible , so I don't have the same options open to me. I think I can make a difference if I'm given a few more months. In two years, this second approach has never gone well. Never, ever, ever. Consider this real exchange, copied verbatim and redacted. May, 2024: Me: I'm a little bit concerned that the pathway above leads to delaying indefinitely (there's always going to be a risk of moving then getting laid off - so what risk level do you actually tolerate, and how is that balanced against [COMPANY] being run so badly that you can get laid off there too?) but you know your situation better than me. Reader: Well, the company was bought out and seems to be stabilizing. July, 2024: Reader: Got some fantastic news! Gonna get a raise at [COMPANY], 20%! It came as a surprise, apparently they think I earn too little so they're giving me a raise because of that. November, 2024: Reader: Wanted to let you know I got news, I'm gonna be fired next month. This happens so often that it's actually boring for me . I've had exchanges like the above often enough that I know the person is finished months before they do. Play stupid games, win stupid prizes. They will either be let go, burn out and quit, or burn out and stay there as their health deteriorates. No one, at any level short of executive, has managed to have the impact that would be required for them to feel it was worth the cost. The thing that is missing, to my eyes, is some sense of confidence and self-respect. I hear lots of supposed barriers to getting a better job, but almost none of them are convincing, especially from people in the first world, so what I'm actually hearing about are psychological barriers. It takes a certain degree of confidence to know that you have worth, because a great deal of our society, whether by coincidence or design, causes people to feel like they're not desirable. If you don't have confidence, you feel trapped at the current situation, because what if you can't find something else ? What if you're not good enough? This is a real risk, but guess what, life's risky! Two months ago, one of my high school classmates, one of the fittest people I know, died of an aneurysm at age 29. Think about it this way: enough people read this blog that if you are reading this sentence , you have just drawn a ticket in the "heart attack kills me by December" lottery. This isn't hypothetical, this will happen — someone reading this will die having spent a few hundred hours on spreadsheets this year, and perhaps even have time to think "I wish I had listened to Ludic, he is so smart and wise." 1 And on self-respect, I will concede that you're getting the vestiges of my time spent in psychology, but why would anyone respect you if you let someone do Scrum at you for hours ? No one respected me when I let people do Scrum at me, and that was my fault . "It what der street trolls make when dey is short o' cash an' ... what is it dey's short of, Brick?" The moving spoon paused. "Dey is short o' self-respec', Sergeant," he said, as one might who'd had the lesson shouted into his ear for twenty minutes. So where do we start off? Well, the first thing to do is bury the idea that you need this particular job, or that you are otherwise unworthy. And we're going to do that by getting really good at getting mediocre jobs, and we're almost always going to want to be doing day-rate contracts. We are going to do a lot of things that I do not endorse when going for a good job, like sending your CV anywhere, talking to recruiters, etc. Regular full-time jobs obtained through mass-market channels have dysfunctional social dynamics that are too complex to get into here. Patrick McKenzie writes : Many people think job searches go something like this: See ad for job on Monster.com Send in a resume. Get an interview. Get asked for salary requirements. Get offered your salary requirement plus 5%. Try to negotiate that offer, if you can bring yourself to. This is an effective strategy for job searching if you enjoy alternating bouts of being unemployed, being poorly compensated, and then treated like a disposable peon. Working jobs like the above comes at a real cost, even if you can get them at-will. I had an episode of intense burnout which resulted in a year of recovery , and I had to think very hard about how to not feel trapped in a bad situation again, even if the business fails. I do not want to attend hour-long stand-ups anymore. This section is about how to get the above jobs as effectively and painlessly as possible, but they will still not be great , and if you do them forever then I will be very disappointed in you. In any case, if one must engage with the market in this way to build confidence and a reputation, then day-rate contracts are amazing. I am heavily in favour of contracting. The day rate is much higher. You are forced to continue searching every few months, which means you are also forced to always be aware that you have options, and we will discuss how to minimize the pain of this. You will meet far more people because you will be at a new workplace every few months. Here in Australia, a weak contracting job will pay A$1K per day, which is approximately double what a permanent employee earns. I.e, for every six months of contracting, you can afford six months of unemployment, and you're still as well off as you were if you had been permanently employed over that period. Contracts are terminated more frequently, but you're also in a much better position because you've saved way more money per day worked, you've met tons more people, and your CV is always up-to-date. And you also knew it was going to expire in six months, so having it end three months early isn't a horrible shock to your planning. You are also excluded from the most mentally draining practices in a corporate environment, and afforded a higher status than regular employees. You will usually not be asked to attend pointless meetings, and instead be left free to execute on technical work, particularly if you indicate that you can manage scope independently. If someone does ask you to attend a pointless meeting, you can recite the Litany of a Thousands Dollars a Day in your head over and over as the project manager attempts to flay your mind. You know that delightful period after you've submitted a resignation and you're about to get out? That's the whole contract . A six month contract feels like handing in a resignation with six months of notice. When the CEO says "Can we put GenAI and blockchain in the product?", you can close your eyes, my God you are so happy, and whisper "Inshallah, I will not be on this train when it derails". None of these jobs will be great. This is not a good way to get jobs in the long-term. This is a boring, soulless way for someone that does not have any appreciable career capital or networking ability to generate adequate jobs on high pay. We only bother with this so that you know that if your business explodes, or the cool non-profit you find fires you, or if a new boss comes in and abuses you, you'll know deep down that you can walk right out that door and tell them to get fucked. I should note that the advice in this section was heavily contributed to by a friend who wishes to remain anonymous, but let us all send them silent thanks. Anyway, we take Sturgeon's Law very seriously on this blog. Ninety percent of everything is crap. It is with this understanding that we must proceed. There is a pathway to navigate that relies entirely on the broad understanding that: Let us begin with recruiters. Recruiters are an unfortunate reality of the industry. I still haven't worked out why they exist when a company can just post a job ad themselves, and their talent team has to filter out the candidates themselves anyway, but whatever. They're here, and I've learned enough about the world to accept that it's 50/50 on whether their existence is economically rational. In 2019, about a month into my first full-time programming job, I received a call from a recruiter. They were looking for someone with Airflow experience to work a contract with Coles, a massive Australian grocery chain. I had no idea what to really say to this, being inexperienced and hugely underconfident, so I just listened to his questions and answered them. Most of my answers were a sad: "Ah, no, sorry, I know what AWS is but I've never used it before at a real business. I know what Airflow is , but I've never..." Until finally we come across the fateful question: "And do you know Linux?" Why, yes, I do know Linux. At that stage of my career, it never even occurred to me to ponder what knowing Linux is. Do I even know my keyboard if I can't construct one from scratch? What does he mean know ? How deranged would I have to be to say I know Python, without qualification, without being a core contributor? But none of that occurred to me, I just said yes. He is delighted, we get to chatting, and we quickly realize that we're both working our first jobs! He is a year younger, also nervous about his job, and is so happy to be talking to someone that just sounds like a normal person. He is soon comfortable enough to ask me a very vulnerable question: "So what is Linux?" I answer, and I've been doing nothing but teach psychologists-in-training statistics for a year, so the explanation is good. Each good explanation leads to another, until I'm fielding questions like: "What is Airflow? What is AWS?" We hang up, on good terms, and I stare at the wall for a long moment. There are people out there just like, calling around and functionally asking "Have you used FeebleGlorp for eight years?" with no internal model of what FeebleGlorp might be? That can't be right. Everyone at school told me that affairs would be very serious in the real world. Affairs are not very serious in the real world. Affairs have never been less serious. I told myself for a while that this must have been because he was so young, but no, they're actually almost all like this. I have only ever met two recruiters with intact brains 2 . To quote a reader with extensive HR experience who attempted to explain this dysfunction to me: While there are professionals that specialize in tech and with time develop enough depth to understand the discipline and move the needle in the right direction, for most recruiters it is not an economic advantage to do so; as the winds of the market are ever changing, recruiters are always the first ones to go into the chopping block when there are layoffs. Better to be a generalist recruiter and keep your job options open. I.e, the recruiters you are talking to probably go out of their way to avoid learning anything, because they may be recruiting in a different industry next month. This means a few things. I normally do not send CVs anywhere and decry them, but I've reversed my stance. They're a terrible way to get good jobs, but a heavily optimized CV will demolish most other candidates, who are about as unserious as the recruiters. So how do we optimize? Well, we're trying to get past recruiters. On your CV, quality indicators only matter if the recruiter can understand them, and as per the above they do not understand anything . At 12:34 PM today, while writing this blog post, I got a call from a recruiter and I asked them a question for blog material. "Hey, question about my CV, would it be better if I mentioned that I'm well-regarded by Linus Torvalds?" (This is not true, we don't know each other.) And they said, "Uh, I'd leave that out, these are very busy people and need technical credentials." Recruiters are only looking for one thing. They are looking for the number of years of experience that you say you have in buzzword, and possibly that you've worked somewhere like Google — but I've never seen a Googler compete for open-market contracts, so don't feel too disadvantaged. Years of experience with buzzword is the only thing that matters. Delete everything else. Link to your GitHub profile? Goodbye, none of these people are going to read that. I've been assured that the typical talent team spends five to ten seconds per CV . I am a passionate front-end developer with a drive for — no one cares, and if you reflect on how you felt even writing that sentence, of course no one cares. You didn't care. My CV used to say things like "deployed a deep learning project in collaboration with Google engineers" and it had sections like this: Some of the most talented people I know in Australia have told me that that this would qualify me for an instant interview on their teams, but this CV does not work because the person reading your CV will not care about the craft. If someone that does care reads it, it will be after four untalented people decided it was allowed to land on their desk, and at that point they're going to interview you anyway so your CV doesn't matter. The ideal CV starts with lines like this: Five (5) years expert skills in cloud database development and integration (Databricks, Snowflake) using ETL/ELT tools (dbt and Airbyte) and deploying cloud computing with AWS (EC2, RDS) and Azure (VM) cloud platforms The rest of the CV should be more lines like that , nothing else matters. A senior talent acquisition nerd at McKenzie told me that CVs should be one page, because it shows that the candidate is concise. Their counterpart at another agency said that you need three pages or you can barely get to know the candidate. Which of them is right? Both of them had no idea what they're talking about, because both of them are just eyeballing it, coming up with post-hoc rationalizations for their behavior that ignores the real hard question of why they specialize in hiring talent in fields that they cannot describe. I now trend towards a three page CV for no reason other than it looks like I must have more experience if it won't fit on one page, and it gives me more space to put buzzwords in. And when I say buzzwords, I mean you need the room to write things like "Amazon Web Services (AWS)" because some of the people reading the CVs do not know they are the same thing . Act on the principle of minimum charity, and accept that this version of your CV will never get you a great job. We know what we're optimizing for at this stage, and it isn't amazing colleagues, it is the ability to refill your coffers very quickly and with minimal pain . Okay, but which buzzwords do you pick? If you hop onto a job search platform, you are going to see many jobs that are essentially asking you to cosplay as a software engineer. For example, I have just hopped onto Seek and punched in "data engineer", my own subspecialty. This immediately yields this job from an international consultancy whose frontpage reads: GenAI is the most powerful force in business—and society—since the steam engine. As software and code generate more value than ever, every worker, business leader, student, and parent is now asking: Are we ready? Wow, that sure is something! I think speak on behalf of all of us when I say "please stop, you're hurting us". Also it looks like there isn't a single mention of AI on their website in 2022, so I'm really impressed that they've become experts in a novel technology just in time to cash in on over-excited executives . But what does the actual job listing entail? Proficient in Azure Data Factory, Databricks, SQL Server Integration Services (SSIS), and SQL Server Analysis Services (SSAS). And from this, by mental force, I can tell you everything you need to know about the job. My third eye is fully open, and the recruiting department's pathetic attempts to ward off my psychic intrusions are but tattered veils before a hurricane. They are almost certainly recruiting data engineers for a company with a very weak IT department, probably a government client, that is in the middle of a failing cloud migration. SSIS is the phylactery of a millennia old lich-king, a piece of software that runs out of SQL Server on old government data warehouses everywhere. The first time I had to fix an SSIS production outage, the senior engineer on my team told me to "untick all the boxes on that screen, then re-tick them all and click save", and that actually solved the problem . The entire point of a cloud migration is to stop using SSIS and use something better, but that would require you to be good at your job, so instead consultancies sell Azure Data Factory. Azure Data Factory is notable for having been forged in the hottest furnace in Hell. The last time I used it, I clicked "save" on a slow internet connection and it started to open and close random panels for five minutes before saving my work, which I can only assume means that the product has to open every component on the front-end to fetch data from the DOM to populate a POST request... which is, you know, is certainly one way that we could do things. Why use something so bad? It's because Azure Data Factory can be used to run SSIS packages! So now you're on the cloud, and have a new bad service running your old bad service, all without actually improving anything! And of course, they are both tools that do not require programming , so the consultancy can sell you a team of non-programmers for $2,000 per day. I've worked alongside one of these teams. They had one good developer who desperately tried to handle all of their work at once, and I shit you not, four "engineers" that spent eight hours a day copying-and-pasting secrets out of legacy SSIS packages into Azure Data Factory's secret manager for weeks on end. With a bit of experience, most job listings are simply an honor roll of dead IT projects. And because many executives hop onto the same bandwagons at the same times (but call it innovation), there seem to be specific patterns for the type of cog that companies are pursuing at any given moment. The friend who gave me most of the tips in here has an "Azure Data Engineer" CV, where he removes all mention of AWS work he has done so that government recruiters don't hurt their pretty little heads, and vice versa. Companies on Azure want Databricks because you can spin it up from the Azure UI, and companies on AWS similarly use Snowflake because of groupthink. Just smash those words onto the page. Every field can think of some variation of this. If you're a data scientist, it'll be a few common patterns to try cram LLMs into things. If you're a front-end developer, it's probably going to be a soup of React and its supporting technologies. Again, no one reading your CV until the final stage will know anything. Once, a recruiter had coffee with me, and they asked me why Git is such a popular programming language. I write my CV in Overleaf because I can make faster edits during the early phases of figuring out which patterns work, and fidgeting with layout is probably the most annoying part of any sort of CV-writing. This is a tough situation. What I did was looking up a few "easy" jobs, like data analyst, hop onto LinkedIn, navigate to that company's page, then navigate to someone that looks like they might be leading the relevant team. Do not message HR. They, as a rule, do not have human frailties like mercy and kindness while they are at work. Go straight to someone that actually cares if you are good at the job, and impress upon them that you are a real person, who either has a very cool life story about changing career pathways late in life, or who is an adorable graduate UwU. If you are super, super, super desperate, my company has an unpaid internship for graduates that really, really, really think that they just need a tiny bit of experience to get taken seriously. Once you're done scrubbing all signs of personality or competence out of your CV, leaving only eight (8) years of experience, what then? If you're going to be doing this all the time, how do we make it relatively painless? The first thing is to hop onto a bunch of job platforms and upload the CV. That's simple enough. This means that recruiters will start reaching out to you every week or so, and some of them will have jobs for you. 90% of them will fail to secure you an interview. I start the conversations with something like "In the interest of making sure we're making good use of time, what's the expected compensation for the job?". They'll say a number. If the number isn't high enough, thank them for their time and hang up. Don't waste your time. They will not present you to the candidate if you ask them to do any work beyond sending a CV and collecting a commission — from their perspective, you are cattle to be sold. If I was desperate, I would take the first job offered to me at any pay, then not slow my search down at all. Most contracts allow you to quit on very short notice, so use that against the employer instead of having it used against you for a change. The second thing is that you can start testing out the CV in the lowest-effort manner possible. The recommendation from my friend that has experimented the most is to grab a job platform's app on your phone, and to apply to maybe three or four jobs every morning. Don't bother with ones that ask you to make accounts on new job platforms, or write cover letters, or anything like that. Save a filter that removes anything you aren't willing to do, whether it's pay that's too low or a long commute. Err on the side of being picky, and do this every workday , even if you already have a contract. If the list of jobs becomes empty, then you must either relax your constraints or move to a new area. Sorry! If you get as far as a call with a human and are later rejected, ask them, especially recruiters, what employers want to see. They will tell you which buzzwords are good. If there is any conceivable way that you can claim to have experience in an important buzzword, write it down. This is incidentally how the strain of doing this is best managed — by not doing anything more arduous than reading a few jobs and clicking "apply", then not thinking about it until the next day. Don't apply to so many that it feels like even a bit of an ordeal. Do not let rejection affect you, most of the people involved in this process do not deserve your respect in this instance. I am sure they are lovely husbands and wives and sons and we don't care right now . It has taken up to two months before calls have started rolling in, and that is why I'd suggest doing this more-or-less constantly, even when settled into a contract role. You want to know if jobs have suddenly started to dry up, or if you need to make adjustments to your buzzword soup. A fair number of these jobs won't do any sort of diligence. The interview will be fine. Questions will sometimes be on the level of "Do you know Python?", a real question that a real director asked me before paying me hundreds of thousands of dollars. I've done a few more unpleasant interviews, detailed here , but at this point they don't bother me. If I found myself in another one of these situations, I would hang up mid-call. Eat your assertiveness vegetables, they'll put hair on your chest. Quit. You got this job, you'll get another job. Don't quit, duh. Listen man, I didn't design the industry, but I rolled brown skin and an Indian name at character creation. I'm just doing what I've gotta do. All those jobs will be mediocre, but you won't feel like any particular person has too much power over you. But still, the second job market is where you actually want to be. This is the promised land where people have functioning test suites, the executives know something about the work being undertaken, your colleagues are not Senior Void Gazers who have been so thoroughly beaten down by the industry that they dully repeat "it's a living and I have kids", and as a bonus you're probably paid about 50% more. It is so totally divorced from the first job market that people in it sometimes do not understand that the first job market exists. Famous Netflix-guy-turned-Twitch-streamer, the Primagen, has never even heard of PowerBI , what is probably the most popular analytics tool on the planet. These people are blessed . It is not accessible via Seek. It is accessible entirely through having well-placed friends and a reputation for being a cool person with a modicum of self-respect. You can't generate these by pulling the "apply for job" lever over and over. This way you don't have to pray that your friend's companies are hiring at any given moment, you'll just always know that you've got an interview every few weeks. Because getting in here isn't very predictable, this section is general advice in no particular order. If the company asks you to do Leetcode stuff, my opinion right now is that they're probably at least a bit serious, but I don't think a place that asks you to grovel before entry is a great place to be along non-technical dimensions. Erik Dietrich calls this type of interview "carnival cash", rewarding compliant employees and middle managers with the opportunity to terrorize their fellow humans instead of with money. I'm not that sure about this point. I'd probably be bad at a Leetcode interview, so I'm biased against them. Maybe they're correlated with high quality programming performance in some way that I don't understand. People often say "I don't have any connections" or "My network is terrible". This was a 0% judgement zone earlier. It is now a 0% sympathy zone. There is a phenomenon I refer to called "trying to try". It can be broadly summarized as any set of behaviors where someone has not seriously engaged their brain, does not really believe that they're doing anything with a serious chance of success, and are more-or-less just looking for reasons to say that they tried but failed. This happens in subtle places — for example, when training with beginner sabre fencers, you can stand perfectly immobile and they will very consistently hit your blade instead of you. They are so panicked and upset that their body is not trying to win , simply going through the motions of what fencing looks like. This manifests in all sorts of ways that I'll talk about one day, but it's so apparent in the job search. "I've applied for fifty jobs and no one responded". A good indicator that you're trying to try is that you are: Most people tell me they've applied for jobs and didn't get responses. Slightly savvier people tell me they've sent some cold emails out. Some people beyond that say they've started attending Meetups but had no luck. None of them have done anything remotely interesting or otherwise indicative of novel thought. I got my first programming job by emailing Josh Wiley from my psychology degree, a man who did not know me at all, but I had been in one lecture with him, and his wife was the only senior academic honest enough to tell me not to undertake a PhD. I still have the original email. We had a brief back-and-forth, and two weeks later one of his colleagues said "One of my PhD students is freaking out because they can't process some data in R", and that got me my first paid programming job, processing microsaccade data in sleep-deprived drivers. A few weeks later, I saw that a data analyst job was up for grabs at a nearby university. The smooth brained thing to do would have been to apply via Seek and get ignored. I instead went on LinkedIn, looked up the company, look up the word "lead" and cold messaged someone who seemed like they might have something to do with the job. This led me to Dave Coulter, who I still catch up every few months, and a job offer that let me skip straight to being a mid-level engineer. During the interview, when they asked "Have you programmed professionally?", I described the microsaccade project and they hired me. I didn't mention that it was about thirty hours of work in total, and they didn't ask. I actually lost the original position to someone with six more years of experience, who was offered the original data analyst role or a much more highly-paid contract. They wanted the stability, so they took the permanent role, leaving me with a massive pay bump for the contract role, and we both quit at the same time anyway. And they do not conceptualize it as losing tends of thousands of dollars, but they were functionally unemployed for months relative to what they could have earned. Score one for contracts. Those still ended up being mediocre jobs, but I just wanted to illustrate that there is a level of trying that looks more like "there is a gun to my head and I'm willing to do unorthodox things to survive", and the people that email me for jobs have never reached the unorthodox part of that. Presumably the people that do reach this point do not need to email me for jobs. I woke up this morning to an email from Dan Tentler from Phobos about safe ways to run Incus with NixOS images pre-loaded with Airflow and an overlay VPN to client sites. Dan learned about Phobos from a group of hackers in Oslo. I learned about overlay VPNs in December from the CTO of Hyprefire , Stefan Prandl, when asking for advice on network security. I have a discussion about something like this every day, even if it isn't in the tech space. Before that, at a relatively "decent" engineering company, the most complex discussion I had was trying to explain to someone that their Snowflake workload was crashing because they were trying to read 2M+ records into a hash map and that this takes a lot of memory. I have learned more in the last three months than I have in the previous three years, basically along every dimension of my profession. I'm trying to catch up for years of working with mediocre performers, and it's hard . It's definitely doable, and remember that I'm doing this while spending half my time on sales so you can do it faster than me, but there is a real cost to not working with really great people. I've studied hard over the past few years, but nothing comes close to just having awesome people around you. This matters because really good teams don't hire total scrubs that haven't taken control of their education. The first job market does not reward skill or personal development. The second one does actually require you to be good. The best offer I've received from a good company (A$185K) was obtained not through Seek, but by meeting my current co-founder Ash Lally during the preparation for a game of Twilight Imperium IV where I absolutely smoked everyone . The only other place that I've considered might be acceptable to settle down, much better than the offer I received through Ash, was the result of getting coffee with a local reader, then eventually being invited to drinks with their team a few times. We mostly talked about split keyboards and Star Citizen. It has been a few months since I quit my last job, and I used to say all sorts of conciliatory things like "Sure, that engineer is terrible, but most of them are good!", but money talks. I only offered one of them a job with me. In retrospect, most of them had the potential to be good, but enough years in a typical corporate setting will ruin this. When I was 20, people were happy to hire me because I had potential. Now, potential is still important, but it's important that I've at least demonstrated that some of it is manifesting . Many engineers have pathologies that I think make them unsuitable for work on a healthy team, in the same way that some people need to do some self-work to enter a healthy relationship. For example, I know many people who feel guilty taking time off, so they'll burn themselves out without someone constantly getting them to slow down. I'm sympathetic, but a team as small as mine doesn't have time to walk someone through that level of self-harm and still deliver for clients reliably. We help each other through lots of little quirks we need to deprogram out of corporate contexts, but we need to be starting from a place of some progress. An example that Modal's Jonathon Belotti sent my way is that Modal's most high-performing team members will get a two week deadline, then confidently spend the entirety of the first week reading a book on the technology they're about to use. Most engineers I know, including myself a few years ago, would rather hack incompetently for two weeks. The essential reason for this is being too underconfident to act on our beliefs about how engineering should be done (or worse, not having those beliefs at all), and we'd rather fail in the approved, was-working-visibly fashion than risk looking unorthodox. "I programmed the whole two weeks and failed!" feels easier to justify than "I read a book for one of those weeks and failed!". But team members should be picked for their judgement, and if they are good for the team in proportion to the quality of that judgement and their willingness to exercise it in the face of orthodoxy . People are awful at asking for work. Here is how I advise people do it. If you don't have a good time, just leave it be. You're here to rekindle old relationships and meet interesting people, and maybe they can help you out. The moment you start asking people for help that you don't even want as friends is the moment that the entire endeavour becomes sleazy. I think of each person I know (in the context of job searching) as some sort of machine that randomly spits out jobs in a uniform distribution over a year. Let's say each person has a 5% chance of turning up a job every month, maybe more or less depending on the market. If you want an 80% chance at a job every month, you have to have enough people with you in mind that you're rolling the dice enough times to get that number. Many people tell me that they attended a few Meetups and had no results, even though that's what you're supposed to do. It's good that they tried, but most large Meetups seem to be populated by people who are ineffectually looking for jobs. Don't be ineffectual. Large Meetups were frustrating when I was a student because everyone interesting was swarmed by students trying desperately to look employable without being needy, and it is frustrating as a non-student because now I get swarmed. People go "Oh, I am a data scientist, I will go to the Data Science Meetup". That's better than not going out at all, but strictly inferior to going to a tiny Meetup with ten nerds that are deeply into Elixir or some other niche bit of technology. You will form real connections with the latter, and the fact that you know what Clojure is will be enough to make many people at such a place want to work with you. If you are in a city with a functioning tech industry and can't think of any interesting technology, then it's going to be really hard to justify why you deserve a spot on a good team, so maybe solve that problem first. If you're decent at writing and have opinions on something... write. It's amazing for meeting people. I have several readers that have sent me their writing, and without any intervention from me , about 30% of them hit the front-page of Hackernews on the strength of their material. There are surprisingly few people putting out good material on almost all topics, especially in the age of LLM slop. Reader Mira Welner wrote about something as generic as Git checkout and hit the front-page. Bernardo Stein, mentioned in various places on the blog as the guy that coaches me through my worst engineering impulses from my corporate career, has front-paged by writing about NixOS . Nat Bennett, who I've been getting advice from for months and am now hiring to coach my team, front-paged Hackernews writing about the notebook they keep at new jobs . Even Scott Smitelli, who I quoted earlier for having wrote this fantastic piece emailed it to me, and before I could finish reading it people were already recommending it to me through other channels. It's super easy to meet people through writing if you aren't afraid of pushing out your real opinions and indeed, you will see extremely stupid comments on all of the above writing, so you will need to be unafraid. Fine. Tell people that you, personally, are ChatGPT. Someone else may lose their job and think "I wish I hadn't listened to Ludic, he is so stupid and foolish", but I refuse to acknowledge them.  ↩ The main one is Gary Donovan who I didn't even meet in the wild. I met a reader for coffee, and that reader worked with a really nice engineering company. That company said Gary is their favourite recruiter. The first time I called him, I said something about Lisp and it turned out he had a copy of The Little Schemer in front of him at that very second, and we later had a great talk about engineering culture in F1 over ramen. I am still reeling at the implications in neuroscience of a recruiter that can read — is it possible that some of them are sentient?  ↩

0 views
Ludicity 9 months ago

Brainwash An Executive Today!

A few years ago, I had an annual one-on-one with the Chief Technology Officer of an employer with more than ten thousand staff. Senior management absolutely fawned over this person — extremely politically savvy, they would say. Amazing at acquiring funding. Really cares about everyone on the team. The platform that paid my salary would not exist without their incisive mind. They're invited by multi-billion dollar companies to speak on stages about the immense success they've had deploying their products across every possible sector of the economy, and magazines would breathlessly extol their astounding virtues by placing them on lists with titles like 'Australia's Top 200 Tech Innovators!' I had no idea what to make of this. People who I respect had only positive things to say, but I had never heard this person say anything beyond the most tepid of platitudes. Break down silos. Be more Agile. Deliver value. They had no technical background, were frankly a weaker speaker than I am, and a weaker writer, but because of the ringing endorsements I tried to understand why this person has gotten to where they are. While I was broadly aware that many people are promoted to positions they were unfit for, savvy friends saw something in this one. And I dearly wanted to understand because I was beginning to realize that either a huge amount of work is fraudulent nonsense in the style of what the late David Graeber called a " bullshit job " or I was so inexperienced that I was missing something important. In short, what separated this titan of industry from the mere mortals? What impressed my colleagues so? What made the rest of the organization swoon over this avatar of capital, likely salaried anywhere between A$300K to A$1M, when they themselves were striking over wage negotiations? This meeting was my chance to figure it out. One hour a year. Sixty minutes to see what their unique intelligence manifested as. I'd present some problems that weren't tractable for me as an individual contributor, which so many others had reported doing, and be blinded by their overwhelming brilliance in people management. They would stare into the soul of my problem and bestow upon me the magic words that would convince my peers to have logs that worked . We sit down and exchange pleasantries. It starts off fine. They ask the correct questions. I raise some serious technical issues, framed in terms that are comprehensible to non-engineers, and include an outright assessment of the issues using terms like "serious, existential risk" to the work we do. I go so far as to mention that we just had an outage in some data processing that lasted a month without anyone noticing due to the poor quality of our codebase, and they adopt a very concerned expression then ask me to write a document about it for them to read, which I suppose is fair enough. It is at this point that things begin to derail. "Would you say that data observability is an issue?", they inquire with a tone that very clearly implies that this is a leading question. I am immediately deeply worried. For those who are unaware 1 , my specialty is building systems that move large amounts of data through companies, organize them in a way that is at least marginally less of a horrific clusterfuck than what random people without specific training will do when left to their own devices, and sometimes assist with statistics. Data observability is the high-level term that captures the ability of a business to go "Instead of downloading the data, it would appear the computers caught fire this morning. Would you like to fix this or pretend it never happened?" The reason that I'm concerned is that the executive in front of me should not be using that term . They have no idea what it really means, which is fine because they aren't specialized in my area, but I am wondering why someone who requires crayon-tier technical explanations is inquiring about a niche, unsexy element of a platform they don't understand. This would be like my 96-year-old grandfather asking me about Bitcoin mining—impressive if he had arrived at the question organically, but in practice I'm already dialing the bank to report a massive theft. "...Yes," I reply hesitant, "but I think we can remedy most of that by implementing some basic testing. With some backing, I can accomplish that in a month or two." "What do you think about Monte Carlo?" What the fuck is Monte Carlo? I've never heard of that. I mean, I know there's a place called Monte Carlo, and I know of Monte Carlo algorithms, but there's no way this person is talking about either of those. It must be a product. "I don't know what that is." "I saw it on LinkedIn last night and I think it will solve our observability issues. Do you think we should get it?" Oh. Oh no. I don't understand what exactly happened last night on LinkedIn, but I know it is dark and sad and reeks of unfulfilled wants. The executive sat before me has been marketed to. No, worse, they have been Marketed to, with a capital M. I have a friend who is kept away from late-night telemarketing by her partner, because no matter how ridiculous the appliance is, she will become convinced that she needs it. The siren song of the Shamwow is too alluring. That is being Marketed to, and I hadn't realized until that exact moment that people will make purchases worth hundreds of thousands of dollars with that level of thought 2 . "I don't think we need that," I croak, dimly aware that one wrong word could result in six months of terrible, pointless work for everyone on the team, "We can solve our problems via some simple discipline." (The reality is that the work they had done was so poor that no product would work with it.) We still have fifteen minutes left, and it becomes more and more apparent that the executive desperately wants to buy Monte Carlo, as desperately as my little cousins demand another go on the machines at the arcade. For the next day or so, they will wake and see Monte Carlo wherever they go, and when they close their eyes they will see the Monte Carlo sales team leering in their slumber, their tentacle sales-fingers reaching through monitors and rewiring cortices. Every word I say is potential ammunition in their case for buying this piece of software, which I know nothing about. I am nothing to the C-suite but a device that emits words that will ultimately result in being able to say "Ludic supports buying Monte Carlo". We reach the end of the conversation, and my face hurts from the forced smile. They are doing their best to relate to some of my earlier sentiments. "Why do you think some of the engineers are struggling?", they ask. "I'm sure you understand exactly how it is," I lie, "it just takes a lot of work to perform at a high level, and sometimes people fall behind." "Yes, absolutely", they laugh, "I study on LinkedIn for up to two hours a day after work sometimes 3 ." We are not the same. Dazed, I leave the room and collapse into my chair. Two of the other engineers gather around to ask how it went, as time with an executive here is rare and of immense gossip value. "We started talking about the things that I wanted, and I thought it was going well, then we somehow ended up on something else entirely. How about you two?" "No, they just kept asking us about something called Monte Carlo. Bro, what the fuck is Monte Carlo?" They had asked every data engineer in the department about it. Oy vey. A huge amount of the economy is driven by people who are, simply put, highly suggestible. That is to say that it is very, very easy to get them excited and willing to spend money. Consider, for example, what it would take to get you to approach your company's lawyer and suggest software to them, totally unprompted, because you saw an advertisement last night. Scratch that, make it every lawyer at your company as each and every one of them goes "I... have never heard of that". But you just keep going because the next one might tell you that the Shamwow is an awesome product. The answer, in all likelihood, is that no possible advertisement could get you to behave in such an embarrassing fashion. You would instead think things like "I am not a lawyer", "What the hell is this program and why do I feel fit to judge it?", and "The shame from this conversation will keep me up at night for the next five years." At the surface level, it sounds like you have a desirable characteristic in senior leadership, and that is true in the sense that you're unlikely to waste company money. Yet statistically you are not in senior leadership at an organization with ten thousand employees, someone who buys software at random and hires Deloitte is, so what gives? Don't companies want people who aren't going to be conned into purchasing nonsense? It turns out that there are tremendous reasons to want people like this running many organizations, and social mechanisms that move the most easily-impressed of us into positions of power, those reasons just exist at the expense of the company or society in which that person is embedded. There is a massive industry that is built around gathering people that fit the "thinks LinkedIn is studying" profile into rooms, who also have access to organizational money, and then charging sales teams for permission to get into that room. I was dimly aware that this stuff happens, but it is now impossible from my professional profile to tell that I am one guy doing his best to write good software with a few friends, as opposed to a millionaire, which resulted in the following message: Dear Ludic, I saw that you are featured in an upcoming webinar as below: A Boardroom Guide to AI: Spotting Hype and Managing Costs Noting this, I would like to bring the below to your attention, as [REDACTED] staged this as a very successful in-person event in June of this year targeting directors. [REDACTED] is the leading annual event for board directors from publicly traded companies across the United States, attracting directors now for the last 20 years. Next year's event will take place at [REDACTED] We expect around 70-80 directors to be in attendance, representing some 200+ boards. The event is entirely in-person. If it works for you, I would suggest a short call to discuss the specifics, including positioning Hermit Tech on the agenda (attached) with a commercial opportunity. Looking forward to hearing from you. With best regards, [REDACTED] After a quick exchange, it became apparent that the deal is as follows: I can wire them money and in exchange be granted access to the fancy room, where I would be allowed to Market to these people. I would turn up in a suit, exaggerate how successful my business is, possibly make some incredibly grotesque comments about women 4 5 depending on the clientele so that the male directors know that I'm one of them, and finally we will Do Business. Money now in exchange for access to credulous people who use words like synergy with a straight face later. I have no doubt that the actual attendees would vary wildly, ranging from a few savvy people, to outright grifters, to the terminally deranged. Even the pleasant and sufficiently skeptical can feel compelled to attend because the truth is that executive compensation and funding is driven by your relationships to other people, but make no mistake, the goal of salespeople with weak products is to find the weakest minds in the audience and lay siege. They are enormously vulnerable — I know many people who fit this profile, and it is disconcerting to see people put the whammy on them. They zone out when Donald Trump is on a nearby television, eyes glazing over, and in private will say "he makes a lot of sense" without being able to repeat anything he said. They buy into things like the prosperity gospel with hardly any prompting, and can more-or-less have absolutely no ability to avoid scams — they'll happily say that they're not technical people but quantum is the future. To quote Ed Zitron, who later on in this excellent piece quotes me, forming the mythical content promotion ouroboros: Whatever organization that's burdened you with some sort of half-baked, half-useful piece of shit business app has done so because the people up top don't care if it's good, just that it works, and "works" can be an extremely fuzzy word. It doesn't matter that Microsoft Teams is universally-loathed and regularly threatens to crash every time you load it. A Microsoft salesperson used its monopoly power to cut your boss a deal to either bundle it with a bunch of other mediocre shit or they saw the name "Microsoft" and said "oh boy! I love Microsoft Word!" and pulled out their credit card so fast it left a gouge in their monitor. Indeed, we've only seen one side of the coin — I get the messages aimed at sponsors, where they trust that I will don the mantle of the wolf and select the choicest morsels from the flock that they have gathered. A friend who wishes to remain anonymous sent me what the prey receives: This is absolutely shameless. "Ensure you're guaranteed to meet and engage with an elite group in the cybersecurity space". What are the actual questions? Do you have lots of money? Are you authorized to spend that money? They're just doing lead qualification . That's all this is . I currently run sales and marketing for about twenty hours a week — I know, I know, what have I become? — but I would not be able to ask questions this crass without hiding my face in shame. The same person sent me the following PDF from a Melbourne-based conference which includes a sponsorship package that they call the "guy at the bar thinks you're cute and wanted to buy you this drink" package. You can straight-up buy people tickets to attend events, and have a concierge deliver them into the eager maw of your marketing machine. I was shocked to see an absolutely trivial price tag too. A$2.5K? Even my tiny operation spent more than that last week buying hardware for one engineer — it's a rounding error to get the person that chooses what technology you're going to be using for the next five years and whether you're being laid off into my sales kill box. I just have to wave my company credit card and bellow forth a wretched miasma of lies about no-code tools and generative AI, and voilà, some of you are unemployed now! Up until now, the picture that I've painted is one of credulous people who are easily excited. But, of course, people are multifaceted, and minds can contain complex, self-deluded, and contradictory motivations. There is a horrendous incestuousness to the sales cycle at large enterprises, certainly in the AI and data space where I work, and it is tied intricately with the way that jobs are distributed in most of the economy 6 . The main way to get a good job offer is to come recommended by someone inside of a company. Software engineering and other specialties of a technical bent (including artists, writers, etc.) have the additional barrier that our skills are testable to some degree, but this is not the case for most senior management and executive roles. In those roles, it is essentially impossible to work out whether someone's tenure as a manager or executive was useful. Consider Elon Musk, the patron saint of dysregulated man-children — it is surprisingly difficult to get one straight story about the man and the effectiveness of his methods. I've heard stories about how he boldly decided to build a rocket from scratch when providers were inadequate and about how SpaceX's dominance is attributable to him personally stalking the halls and firing incompetents. I've heard other people say that they hide interns from him because he has a habit of firing them on the spot over irrelevant trivia, and an executive in the space sector personally told me that SpaceX succeeds despite his antics due to the work of their COO, Gwynne Shotwell. I don't have any concrete evidence for which narrative is closer to truth, or if he has ever fired an intern after a pop quiz, and that's for someone that is written about more than almost anyone on the planet. When Johnny McManager rolls into town and assures me that he was instrumental in tweaking the widgets in a massive banking application, and that this definitely drove massive revenue for the business, what recourse do I have? Do I trust the referees he provided? Do I start cold-calling executives at the bank to try and get an assessment? Do they even know and, if they did know, would they admit that a project failed on their watch? Slava Akmechet writes : Company metrics have momentum and lag. Nearly all political behavior exploits these two properties. [...] 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. Or, in other words, high-level statements like "I led a successful project" mean nothing. The project may not have been successful, or was judged to be a success for political reasons, or was successful for reasons that had nothing to do with management. This is a recurring theme across many sources. Sean Goedecke, another writer here in Melbourne, writes : I know it sounds extreme, but I think many engineers do not understand what shipping even is inside a large tech company. What does it mean to ship? It does not mean deploying code or even making a feature available to users. Shipping is a social construct within a company. Concretely, that means that a project is shipped when the important people at your company believe it is shipped. If you deploy your system, but your manager or VP or CEO is very unhappy with it, you did not ship. And conversely, if you do not deploy your system to a working state but can someone make your VP or CEO happy, then you did ship. This sounds even stranger. How can you ship if the code doesn't work? It's called lying, and it'll solve all your problems! Recall that the platform I was working on previously had logging that was broken for months and was idling to the tune of half a million dollars , but it had nonetheless "shipped". And the project before that claimed the full million dollars from the funder, deliverable upon shipping, despite still not actual being in production several years later. This happens constantly, and may be more common than projects actually working out. Because management in large, dysfunctional (read: typical) companies is a game about promising to ship things to people further up your chain, people are broadly incentivized to say that everything has shipped no matter what has happened unless it is impossible to lie about this easily. What ends up developing gradually is a network of people who are selected for their ability to support convenient social narratives, and if you're going to be negative at all, you aren't allowed in the club. When someone is asked to be a team player, what is really being said is "shut the fuck up and we'll let you into the club". That is precisely why people use phrases like team player — it isn't hard to pick something less clumsy and upsetting, but then you might not realize it's a threat which is the whole point! Status absolutely fascinates me. I believe that is drives much more behaviour than even the acquisition of money — many non-introspective people only want money because they think it will bring them respect in the eyes of others. This theme emerges everywhere I read deeply. Keith Johnstone's seminal work on improvised theatre, Impro , opens with a chapter on status dynamics. The psychological difficulty of the status swings afforded by randomness-driven fields such as academia is a core theme in Taleb's The Black Swan . Did you know Elon Musk just got caught paying people to hit the leaderboard in games so he could lie about being so smart that he's both the CEO of all those companies and somehow crushes people at games that they spend hundreds of hours on? While I like Snowflake as a piece of software, it is probably not a high priority to move to it at most large companies for various reasons I won't get into here. Fine, I'll get into one of them. It's just a really good data warehouse, you absolute maniacs, it isn't the cure for cancer, why the fuck is it valued at $53B? Because everyone is buying it, and this has to be driven by non-technical leadership because there aren't enough technical leaders to drive that sort of valuation. Why would non-technicians be so focused on a database of all things, a concept so dull that it is Effective Communication 101 to try and avoid using the term in front of a lay audience? It's because if you buy Snowflake then you're allowed to get onto stages at large venues and talk about how revolutionary Snowflake was for your business, which on the surface looks like a brag about Snowflake, but is actually a brag about the great decisions you've been making and the wealth you can deploy if someone becomes your friend. And the audience is full of people that are now thinking "If I buy Snowflake, I can be on that stage, and everyone will finally recognize my brilliance". It is a bribe, straight up, and done in such a way that everyone understands that further bribes are available for anyone willing to be enthusiastic about something they don't understand. Matt Stoller has written at some length about how government purchasing is heavily driven by award acquisition , and it all rounds out to "this is discount Illuminati bullshit". The net result is that a huge number of our leaders are essentially stealing money, but they can't withdraw the money directly, so they have to spend the organization's capital on expensive nonsense to purchase status then convert that status into a better salary somewhere else at a really, really bad exchange rate . It really is embezzling without the charm of efficiency. We'd be better off letting them withdraw $1M instead of forcing them to spend $30M so that your competitor offers them a $1M raise. And it turns out there's a market for status too! I started getting these messages after changing my title to director. Would you like to be interviewed by one of our journalists and talk about your work and product? :) Xraised (www.xraised.com) is a vibrant community of industry leaders and innovators like you. We offer a comprehensive package for £99, which includes an interview with our journalist to be posted on our website, Spotify and Amazon Music, with the option to add a dedicated press release about you and your company. The content is authentic, and the potential audience is 84M readers from North America, Australia, UK and the EU. Would you like to schedule an interview via this link? [REDACTED] Contact us at [email protected] if you have any questions :) [REDACTED] Project Manager at Xraised You can see all the confluence of all the factors above. They're targeting a demographic that exists — unwilling or unable to attract an audience by strength of quality. Desperate enough for attention to pay £99 instead of just doing some email outreach. Dunce enough to think inserting the word "authentic" makes it so, and gullible enough to think that £99 could actually reach even 1% of 84 million people. The most popular thing I've ever written has done around 2M hits, and that was enough that I can fly to almost any country in the world and have someone buy me a beer. Xraised is trying to find people that think you can purchase anything like that forty times over for £99 , and those people all have employees. 7 If that sounds dystopian, it is! But it helps to remember that many of us are, broadly speaking, living in an era of unprecedented wealth, and that is only possible because some things work. Cars do work. You're on the internet right now. Things working means that there are non-fraudulent sectors of the economy, it just takes some serious looking to find the people in those sectors, and unfortunately a willingness to bury the dream of becoming a full-time employee for thirty years and never having to make course adjustments to your career trajectory. Even a great company will have people move on, or grow until it is a big company, and if it doesn't then they aren't hiring anymore so you aren't allowed in. I'll write about it at some length in the future, but my own consultancy currently only works with startups putting together an analytics stack to conform with the requirements of an enterprise sale because, while everything in business comes with some weird incentives, startups selling to enterprise is a case where the client has immense skin in the game and failure is not acceptable. No one pays us consulting rates to fail to ship in startup land (people can fail to ship on their own, thank you very much). Real work is possible! I've seen it! And I've so far managed to avoid becoming ensnared in the status trap by strength of will, because I am a superior being and very important executive director with the greatest team on the planet, or more humbly the strongest team in the southern hemisphere. We're going to become the strongest team in the northern hemisphere tomorrow by purchasing Monte Carlo , the best platform in the world to prepare you for becoming "AI-Ready"! I'm very excited to talk to Olivia Miller, who Monte Carlo desperately wants me to know is a human. What the fuck is going on? I hope you can forgive the clarifications if you're already a data engineer. I have recently become aware that my audience has breached programmer containment and has a large number of non-engineers. As I'm writing this, I'm preparing to get lunch with a reader who opened with "I hardly know anything about programming, so all the technical details in your blog posts go right over my head."  ↩ So long as it isn't their own personal money, of course.  ↩ This is honest-to-God a real quote from a real human being.  ↩ One of Hashicorp's government account managers used to go to the same gym as me, and he would attempt to engage every man that entered in conversation about how sexy various women around the apartment block were. He would also try to provide only the men with unsolicited spotting during squats which introduced an extremely perplexing layer of homoeroticism to what was otherwise regular misogyny.  ↩ In the same apartment, we had an American startup founder who asked me to grab coffee when he found out I was a halfway competent software engineer. At the cafe, as soon as the first waitress walked away, he said to me, a total fucking stranger, "Wow, she has great tits". He entered the country on the extremely prestigious "Global Talent" visa. We really do live in a society.  ↩ I now know of a few where this isn't the case, but they all have fewer than a hundred employees — with the possible exception of Canva, which I've heard good things about. But I suspect that by the time I've heard about how good they are, they're about to stop being so good.  ↩ The weirdest thing is that at least some of the interviewees are non-grifters and the interviews are done by real, coherent humans with acceptable editing, so there's probably some secondary niche of "I need a video done that explains my business", but that isn't what's being advertised .  ↩

0 views
Ludicity 9 months ago

Merry Christmas, Ya Filthy Animals (2024)

I've been absolutely slammed over the last few weeks, between moving to a new house, a large number of readers visiting Melbourne over the holidays and wanting coffee, and doing work for clients at the ol' consultancy. However, writing will pick up again in mid-January, more than ever before 1 , and we'll embark on my consulting arc together, where I will try desperately to remain interesting without any horrifying new corporate stories 2 . In any case, it felt wrong to round out the year without taking a moment to reflect on 2024. A few weeks ago, I quit my job after staring into the code-abyss for too long. This has been an absolutely fantastic decision. I wake up earlier than I did at my day job, work longer hours on substantially harder problems, and do not have steady income 3 , but nonetheless this is so much better than being a salaried employee that I can't imagine going back to work at a non-executive level unless I was really on the verge of being out of money entirely — even then, I'd probably just take a day-rate contract to top up my savings and try again. The biggest change has been that a great deal of my brainpower has been freed up to focus on things that are actually interesting to me on a personal level. My original plan was that working three days a week was going to be enough for me to get my own business off the ground, but I was never able to fully engage my mind. Rich Hickey talks about this in his semi-philosophical talk Hammock Driven Development . On one hand, it's easy to dismiss the subconscious as too intangible for serious consideration. On the other hand, it is undeniable that there's some weird stuff going on in the human brain. Many nights, we shut our eyes and run through the bizarre experience of dreaming, ranging from disparate nonsense to clear symbolism. Mathematicians, musicians, and programmers around the world have experienced the strange phenomenon of explicitly stopping work on something, only to come back and realize that the solution is suddenly right there. There's something there. While three days working my office job did leave the majority of my week for my own business, it consumed most of that subconscious capacity. I'm not sure exactly why this is the case, as opposed to my business absorbing all of that thinking time, but I suspect that the highly politicized nature of large organizations is very good at hijacking human brains, which are ultimately just sophisticated monkey brains. Plus I like creating high quality, so it was very hard for me to stop thinking about low-quality work, even if it was in my best interests to lie and say it was good. Jesse Alford assured me that my brain would free up after I quit, and it did. There's plenty to write about on this, but it's for next year when I've had more time to mull it over. Suffice it to say that I hadn't realized how much my growth had been stunted by the culture of the typical company and from working with people who were checked out. Frankly, this is all somewhat perplexing to me. It's looking likely that I'll earn more money next year than I did this year, working fewer hours on my own schedule, with my closest friends, and doing high quality work. I'm slowly coming to the conclusion that being checked out may not even be a good way to be checked out if you're even halfway competent. Having free time every day to study extensively, turn that study towards whatever is most useful given a set of objectives that I've designed rather than a manager's political goals, and to have lunch with someone interesting every day is amazing. In summary, working at the typical job is way worse than I thought it was , and I'm someone who does rounds on the internet for aiming vitriol at typical jobs. My life has changed massively over the past two years, largely as a result of deciding to start writing. I have plenty to say about this, and much of it must wait for 2025, but you can get a comprehensive treatment of the topic from my friend Adolfo Ochagavía in the meanwhile. Despite running a platform with no analytics, no work put into SEO spam or whatever it is you're "supposed" to do, and publishing massive essays about ancient browser video games that no one cares about , the blog has continued to grow much faster than I expected. Over the past two years, I've received approximately 1,245 emails. Of those, I responded to about 700 before finally having to give up on keeping up with everything when the infamous AI rant went more viral than everything else combined — and the blog was already frontpaging Hackernews pretty regularly. I've also had something like 40 remote calls with readers and 40 in-person coffees. There may have been substantially more than that, but I don't have any tracking prior to June this year. A fair number of these were with students or people in their early career, as I try to pay all the support I've received forwards. I was also offered a book deal, but the publisher insisted that swearing within a book wouldn't be permissible, and wouldn't guarantee a spot on bookshelves anywhere. I spoke to Ed Zitron about this 4 , he said it was a terrible deal, so I ended up rejecting them. The broad logic was that the main point in a publisher is marketing to help with circulation, but my posts already do more traffic than the publisher, so I had very little use for them if they couldn't get me a spot on a bookshelf. I don't think I even want to swear in a book, but why constrain myself for a pittance? However, I do love writing, and there are two books that I want to write anyway. One is collection of essays on technical and corporate topics, and the other is a fantasy novel. I've started work on the former, and at the advice of Arden Baker of Meridian Australis, I'll kick off the fantasy attempt by putting out ten short stories to develop my style. Most of them will make their way to this blog, though I may attempt to publish one or two in recognized venues to see if I learn anything about writing over that process. If anyone reading has experience publishing fantasy novels, I'd love it if you got in touch. I'm looking for advice on the actual writing, as well as some advice on navigating the landscape more generally or writing for specific settings (I'm very interested in writing for Paizo's Pathfinder setting, in particular). Many of the changes in my own life have resulted from meeting a spectacular number of extremely talented, driven people, whose philosophy broadly aligns with my own. I couldn't begin to list all of them in a quick post, but by way of example, I've asked for and received mentorship from Jesse Alford , Nat Bennett , David Kellam, Daniel Sidhion , and a more informal brunch arrangement with Alan Perkins . Some readers may note that both Nat and Daniel have frontpaged Hackernews with some regularity, and Daniel on the grounds of pure technical writing. I previously picked my mentors from the most intelligent and principled people I met in corporate settings, but the sheer quality difference in the people I've met through the blog is insurmountable. "Smart person that manages corporate politics well" is simply not going to compete with people who can do international traffic through the strength of their insight. I wasn't planning to do much work through December, but earned enough this month while trying to minimize my earning that I haven't actually cut into my savings yet, while juggling a move to a new house, three Christmas parties, and a visit from my family in Malaysia. I'll only be happy with our sales pipeline when we have enough leads that we can't possibly take all the incoming business. Currently, half of it comes through the blog despite barely linking to the business at all, and the other half comes through people who have no idea about the blog. So far, we've preferred the former clients because they're people that already closely align on what a great team should look like. To the best of my knowledge we have beaten every competing consultancy after one call. We sometimes lose deals to a client deciding to do nothing (which is actually the number one issue for sales teams everywhere), but no one has ever picked another consultancy over us if they got as far as talking to us, and every client has expressed a strong intention to re-engage us. And we're more expensive than any consultancy I've ever worked with at a big company, so we must be doing something right. I'm not big on New Years Resolutions, but I do think that the end of a year is a good default date to reflect on things that I want to do going forward. The first thing is that I'd like to write much more frequently. I'll be carving a bit of time out every morning to work on a blog post, and aiming to produce another 500 words of writing per day towards one of the two books in progress. It has been surprisingly difficult to justify writing given that I set a large amount of the direction for the business, but it's something I really enjoy doing, and I love the people that it brings into my life. As none of my writing is paywalled, I currently earn A$3,000 a year through the blog, which I am extremely grateful for, but is also not even close to the amount I'd need to pay rent with. I think I could make my living off writing, but I don't think it would be fun if I was forced to produce even when I had no ideas that were really resonating. And it would definitely not feel great to have to write things that were optimized for audience growth. Secondly, I'm aiming to be able to deliver a student performance at my music school 5 at the end of 2025, which will require me to practice very frequently if I want to avoid embarrassing myself in front of a horde of ten year olds who are my clear musical superiors. As far as the business goes, I just want to make sure that everyone on my team earns about as much money in 2025 as they did at their day jobs in 2024. I thought this was an unreasonably high target at first, but I've been advised that it's probably the lower end of what I should be aiming for. I still attend a bunch of improvised theater classes, but I'm not expecting to make the jump to non-student performances next year. I think I'll be doing pretty well to keep up with my classes as they are. And finally, I want to stay sharp technically. I'm in the midst of making up for years of relative neglect in my technical skills. While I was the strongest engineer at most places I worked, I'm amongst the weakest of the engineers I spend time with now, and only hang in there on the basis of other skills. I think it's important for my personal growth and for the business that I can continue to provide technical leadership, which means grinding out some serious hours. I'll likely never catch up with some of these people due to seriously starting at the age of thirty as opposed to twelve, but hopefully I can remain relevant. And finally, I'd like to thank everyone for taking the time to read, giving me the support I need to seek work I find more fulfilling, and otherwise being great. I hope you all have a great start to the New Year, and if you're not so far, that things get better soon. While most of this post is mostly concerned with trivial things like my music classes and a tiny consulting business, I also wanted to take a moment to acknowledge that things are looking scary out there, even in places like the U.S. Zitron's essay Never Forgive Them got me thinking about this, and I think it's important to always remind ourselves that even something as silly as an improv class can be aimed towards the betterment of society and helping the people around us. There's only one thing to do once the grieving's over. What's my name? What's my station? Oh, just tell me what I should do I don't need to be kind to the armies of night That would do such injustice to you Or bow down and be grateful And say, "Sure, take all that you see" To the men who move only in dimly lit halls And determine my future for me And I don't, I don't know who to believe I'll get back to you someday soon, you will see [...] If I know only one thing, it's that everything that I see Of the world outside is so inconceivable often I barely can speak Yeah I'm tongue-tied and dizzy and I can't keep it to myself What good is it to sing helplessness blues, why should I wait for anyone else? Happy New Year, and I'll catch you on the other side. For the first time in a year, I won't have to commute between two places almost every other night, as I've finally moved in with my partner! Think about how much time I'll have to write now that I won't be half-living on trains!  ↩ The lone downside to consulting is that I am ethically obligated to defend my client's reputations, so you will never hear any stories about the engagements that they don't wish to have shared. This means that the only horror stories will be my own blunders. I am also positively bursting with amazing stories from around the world, but I can't share them either to keep people's careers intact.  ↩ If I tighten my belt a little bit, I have about a year and a half of living expenses saved up pretty comfortably.  ↩ This is a shameless namedrop, yes, and I refuse to feel bad about it.  ↩ The excellent Michael Avery School of Music in Malvern under Olivia Mirrington.  ↩

0 views
Ludicity 11 months ago

Why I Will Always Be Angry About Software Engineering

Why do I bother getting angry about software? When I started writing , it came from a place of ennui — absolute despair at the amount of waste I was seeing in the technology sector since leaving university. I was paid spectacularly well, but nothing I produced had any value. No one I knew in the corporate world was producing any value, save for those who were completely deluding themselves. Even the most talented people spent all of their time trying (and failing) to stop uncaring amateurs and empty suits from blowing millions on nonsense. Two years later, after much writing and agonizing, I've quit my job to start my own consultancy. Whether it works or not surprisingly doesn't bother me at all — I know the risks I am taking. Money comes, money goes, at least I'm not storming the beaches of Normandy. No, the question that actually keeps me up is this: Will I look back on the past two years of writing and think "Software engineering doesn't really matter in almost any context. I wasn't putting anyone on the moon — I should just have taken the easy money and shut my mouth?" In six months, perhaps I will find myself wishing that I had kept doing the easy thing, wishing that I could draw a six-figure salary to do nothing more strenuous than sit quietly through a meeting every morning until being laid off in the next restructure, five years down the line, then repeat the same tired trick until I retire. I wonder about this because many people, either by outright speech or implication, have stated that trying to improve things in the world is fundamentally misguided. They would not say it in these precise words, because they would realize those words are horrific, but instead emit "wisdom" at every possible juncture to discourage one from seeking meaning or change. The advice I received in handling this consisted of variations on two main themes. The first theme comes from the older generation, retired, home-owning, and convalescing after a lifetime of grinding away at the gears of society. They would encourage the youth in their families to enjoy ease while they have it, and enjoy money while it flows. I would hear: You're being paid very well. You should be happy. Work is always terrible but some work is more terrible. Change will never happen at an organization so lower your sights. You are being spared back-breaking labor and have air conditioning. Be diligent for moral reasons, but not diligent enough to affect systemic change. Clock out at 5 PM. Don't think about the job too much. Get a hobby. Liking what you do at work is an extreme privilege, and you should expect less. There are sentiments here that are true. The romantic element of waking up to milk cows at 5:00 AM must surely have lost its charm by 4:59 AM the same day, leaving nothing but winter cold and aching joints. My grandfather was forced to work as a translator for the Japanese during the occupation of Malaysia. My grandmother would tell us stories about how, due to British sugar rationing, they'd worked out which plants could be ground to sweeten tea. There are difficulties I can scarcely imagine. It's important to remember that, as much as the modern corporation can produce real depression, it isn't as bad as working for an institution that publicly beheaded people a few hundred meters from my childhood home. In this worldview, starting a business or doing anything different is needless risk . Starting the business is risk. Telling a journalist about waste is risk. Letting a grifter know in a public setting that you see them as they are is risk. Risk, the dreadful spike of anxiety when a number in a banking application doesn't go up on precisely the schedule one is accustomed to ! Risk, the willing acceptance of which implies personal immaturity and personality defect! Risk, the specter that keeps people in miserable situations, because rote depression is easier than novel anxiety! Risk, a board game that is universally reviled and still overrated! But my father is a surgeon now, and he did this because my grandfather made the sacrifices required to support him through medical school. Not the measly sacrifice of a few years here or there studying, but sacrificing a lifetime of youth and experiences to propel his children into an astonishing future. That was the hard thing they had to do. A delinquent motorcycle racer and a public school teacher produced one of Asia's most talented surgeons, another doctor currently sitting on seven properties 1 , and a PhD in electrical engineering living in San Francisco. There was a time where struggling through Japanese lessons was the only way forward, but that time is certainly not now, for me and for many of us. Instead, for those of us who are lucky enough to hold comfortable office jobs and write software for a living, it seems to me that our challenge lies in having a shred of backbone. From the younger generation, of the variety that watches social media content which accurately ridicules corporate culture and clumsily decries capitalism 2 , I hear: All the houses are gone, and work is done to make the Boring Illuminati that runs the world richer. Everything is fundamentally bad, and society is falling apart at the seams. Liking what you do at work is a trick you're playing on yourself on behalf of corporate overlords, and you should affect an air of total irony as the last line of defense. There are parts of this that are true too. Supermarkets put half-price chocolate at the self-checkout because a certain class of motherfucker doesn't think that there's an issue with establishing a correlation between obesity-related deaths and profit. Most companies will wring you for every drop of blood and sweat you've got, then lay you off because KPMG said it'll let your executive stick to their 20% cost-cutting mandate. The system will not prevent you from throwing another dollar after the first $100,000 on a mobile game designed for maximum addictiveness. Recruiters will ask you to name a salary first in case you say a number that's half as much as you could actually get. The system is out to get you, and it will get you if you lack sufficient tactical acumen. If you uncritically produce, without thought for who gets the surplus and how the system you inhabit behaves, you will be uncritically consumed. This is by far a great deal less respectable than the position put forth by the older generation, and I am ashamed to admit that I've flirted with it half-heartedly. This type of person trends towards insisting that all ways of interacting with work in a sincere manner fundamentally consist of you being personally exploited, and the only sensible path is to maliciously, preferably with a healthy dose of sneering irony, extract wealth from the system before it gets you first. They might make some concessions for cases where the work has a clear positive impact for society — say, firefighting — but otherwise they will internally and externally ridicule care for craft if it looks like work. This pure cynicism doesn't go anywhere. I could phone it in, and I've done so in the past, and get some cushy job well hidden amidst an ocean of squabbling bureaucrats. And then what? Work on projects that I know will never succeed for the next thirty years, then die? Sit around for eight hours a day, juggling spreadsheets and sharing TikToks about how funny it is that my manager is blowing paramedic budgets on fraudulent AI tools, then die ? To quote Freddie deBoer : I know, I know, I know: it’s a defense mechanism, it’s a coping mechanism, capitalism killed all my hopes so I’m entitled to this, I hate my dad, yeah yeah yeah. You certainly are entitled to live this way. The question, my friend, is whether you actually want to live this way. How’s that coping mechanism going for you, hmmm? You coping pretty good? Posting Simpsons memes really defending you against the drudgery and injustice of a broken world? I’m guessing not! How many times a day do you have to evince derision without directly stating it to be impregnable? It seems exhausting. And how fucking old are people going to get, exactly, before they decide it’s beneath their dignity to live their entire lives in sneer quotes? For months, I've struggled on and off with this, and I didn't know what it was appropriate or inappropriate to say about this. Then I had an experience, in a hospital. At about 6:42 AM last Tuesday, I awoke in a great mood, knowing that I had the first of many days off work. My only plan was to read Pratchett's Monstrous Regiment . As is the way of these things, this plan lasted approximately sixty seconds, as at 6:43 AM I received a phone call from my very panicked partner who had decided to head to the emergency department. The great unifying experience for adults worldwide, from which a great deal of empathy and mutual goodwill should flow, is the experience of swallowing dread and going to the hospital without complaining. By 8:00 AM, we receive the verdict that she's fine, and it was all a false alarm. You can all calm down too. At this stage, I have nothing better to do than play Mario Kart with her to keep the boredom at bay, and watch the hospital running. For all the people complaining about governmental inefficiency, including me, Guy That Worked In Government And Ran Screaming, the degree to which everything worked was remarkable. In fact, it was beyond remarkable — it was an unbelievable testament to whatever light we have managed to build into society. My partner was triaged and admitted within ten minutes of arriving, and within fifteen minutes had been seen by a doctor. The nurses smiled and joked, but a glance at the endless trail of wires and oxygen canisters and flickering monitors reminded me that the least competent of these people was probably trained to a higher level than me, and I try pretty hard. I think back on my father's study, five massive dark-wood bookshelves packed with perhaps two hundred dusty medical tomes, and it occurs to me that he may have read all of them. For the first time in many years, I was participating in a system where I was acutely aware that there were adults in the room. Adults who do not have recourse to blaming Deloitte when things go wrong, for whom the phrase "post-mortem" means something decidedly more serious than yet another flaccid meeting on why the tenth project in a row has failed. If disaster struck at that moment, professionals would have handled it, without the expectation of trite failure that we have become accustomed to as a society. Perhaps the quality might have been less than it otherwise might be because Sturgeon's Law is broadly true everywhere, but it would still have been far superior to the pathetic standard we accept in software. Someone would be allowed to solve the problem, and if they really fucked it up, there would have been a reckoning later. One room over, there was a man, drunk out of his mind, flanked by two police officers who were listening to him explain how furious his wife would be, and working out whether he had problems at home that needed addressing. And listen, I'm a brown guy with a beard from a country with shariah courts. I become very nervous around police-like figures such as airport security, and they in turn "randomly" check me for bombs at every opportunity, a beautifully symmetric relationship for which I am eternally grateful, please don't arrest me. But even I concede that the system was working. As we were waiting to be discharged, I could hear an elderly Greek grandmother being addressed very kindly by a social worker, who was trying to work out if the patient needed government-provided assistance around the house to avoid whatever had landed her in the hospital in the first place. At one point, the social worker offered to bring in a Greek translator. Finally, my partner is discharged, and while I know that Australian healthcare is cheap, the level of care was extremely high and a specialist team was consulted. I have already estimated a A$2,000 bill, which I would have paid gratefully despite my newly self-employed status. The whole thing was free, other than A$20 in antibiotics. The experience struck me profoundly. The societal machinery required to make that happen is unbelievable. You can have a team of specialists weigh in on whatever is bothering you, review your blood results, and provide you intravenous fluids, within an hour of turning up at a building that is open to the public. Each of those specialists trained for somewhere between five to ten years in some of the most rigorous educational environments in the world, and you can just get their help whenever . If you can't make it to the hospital, we can have an ambulance turn up at your door in minutes using the public investment of roads. We have so much surplus that we can dig up Greek translator for a grandmother to better allocate even more surplus to ensure she's getting enough help around the house. Guess what? That didn't happen because a bunch of people decided to give up for the day. Someone occasionally writes in to say that they love the blog, but it's depressing. I've never understood this. The only time I felt depressed while writing was my first post on February 27, 2023, when I wrote that my work felt worthless. Every post since then has been either a story, an assessment of something infuriating, or my glorious victories but it is only depressing if you read any of those assessments then curl into the fetal position and think "I am helpless. Nothing can be fixed. I will now return to the Pain Zone, where the only deliverable is a stony-faced man dedicating five Story Points of effort to kicking me in the stomach". Get angry instead. We can call the depression void-gazing. Everyone does it sometimes, but step two has to be wrenching your gaze away from the void and doing something . There's nothing in the void but more void and the curse, upon staring overlong, of beginning to think that our media landscape needs more "dark and gritty" TV shows. We have to do better, because I just watched Season 6 of Buffy for the first time and it was very bad. Just awful. On the flip side, some people take a step back and say "Blood tests! Humanity walking on the moon! Polio eradicated!", and do this gleefully all the time because it is a comfortable mode of being. It's certainly personally healthier than void-gazing all day. But Jesse Alford , in a private conversation, kicked off a lot of this post by referring to the people constantly pushing this narrative of "things are great, chill out" as succor peddlers. The thing is that there's still void out there. I failed to find work for a reader a few weeks ago , and they are homeless now. I'm no longer in contact with them, as I don't believe they have email access. If I had stopped being a coward and started my business two years ago, I probably could have hired them for three months to keep them off the streets for a bit. Does work not matter now, hypothetical TikTok ironist? Huh? Yeah, that's what I thought. The service at the hospital was fantastic, but that's because we arrived around 7 AM when it was quiet as opposed to having the typical one hour wait period due to resource misallocation. The nurses were phenomenal, but many are burned out and thinking of quitting — and the median pay for a job so sophisticated and good-aligned is tens of thousands of dollars lower than what some of the most incompetent software engineers I've ever met make. Paramedics in Melbourne decorate their vehicles with messages about their absurdly poor working conditions. And there were so many small things to go along with this. The hospital layout didn't leave the nurses with enough sunlight. While it might be fine for me just dipping in for an afternoon, improvements to the meals would probably meaningfully improve the lives of people who are in for extended stays. Provide notepads so the nurses aren't scribbling on their palms. The care that goes into little things shows up in the lives of cancer patients, even if it's mass-produced sandwich design. What does any of that have to do with being angry about bad software? Well, this experience about an organization borderline-fraudulently burning through A$1.2M from Google happened at a medical facility. This one about a A$500K Snowflake overspend happened at another non-profit. I left the government because the lifesaving project I was initially assigned to was repeatedly delayed because a politician's pet project was having SharePoint issues. By sheer coincidence, at a party last week a nurse from the same emergency department revealed that they're struggling immensely with their ancient Electronic Medical Record system. Much of this is due to a bunch of people doing their jobs like disaffected chimpanzees, and a bunch of other people thinking "Well, I've heard that conflict is bad, so I am going to gently raise these issues in the way that authority figures have prescribed, which don't threaten me because they also don't threaten them ". All that money and effort could be paramedic salaries, and roads, and books for impoverished children. In all of those circumstances, the people that stayed quiet and covered things up, including me 3 , can essentially go fuck themselves. Every little bit of uncaring makes the world a little bit worse, and once you're at a certain level of personal security then you have to own that. At the end of the day, the reason I started the business isn't for the money. I was on track to be very comfortable. I started a consultancy because it is the only way that I see to position good software engineers to meaningfully exert violence against the flawed part of large systems. It is a tactical intervention, wherein I have an excuse to spend time studying why things are the way they are, and insert ethical practitioners into critical parts of companies with executive backing. When we kicked it off, I had the extremely modest goal of just getting out of the office setting. It was selfish, even if part of the motivation was to encourage other people to do the same for themselves. But I've had time to think, and talk to the team, and we're instead going to push for more quality in software engineering in our local area. And when that's better, we'll keeping doing that by running grifters off the roads on a project-by-project basis. If we run out of dorks to rinse in Melbourne, we'll prey on grifters in broader Australia. Just watch us, we'll run a motherfucker out of business, we don't care. The next poor sap that tries to sell engineers who don't use version control to emergency services, a thing that I have seen, is going to catch a terminal case of Smite Evil . To put it very simply, the little things matter. The sandwiches that get sent to hospitals matter. Ritalin supply chains matter, lumbar support in chairs matter, and yes, stupid React widgets matter. They go out into society, and every time someone says "Ah, I just want to get paid", we get another terrible intersection that haunts the community for five generations. I'm going to stay angry about bad software engineering. And you know what, if I leave software engineering some day to finish getting licensed as a clinical psychologist, then I'm going to be angry about terrible therapists. Software is worth getting angry about because everything is worth getting angry about. And there's always a place for the angry young man With his fist in the air and his head in the sand And he's never been able to learn from mistakes So he can't understand why his heart always breaks And his honor is pure, and his courage as well And he's fair, and he's true, and he's boring as hell And he'll go to the grave as an angry old man In conclusion, Risk is a very bad board game, maybe even worse than Monopoly, and I'm livid about that too. PS: Software engineers and anyone else struggling with IT issues can find my consultancy here . Even if you don't control budget, we're happy to walk you through how to sell us internally to actually fix whatever your problems are. I preferred not advertising on the blog, but you'll note that the past month has been the longest break from writing in a long time. That's because I pay my rent and feed five of my friends with the business, so I've struggled to justify taking days off to write when I could be doing sales instead. Having people discover us through here is good enough for now! We've also got a company blog that my co-founders and I will be writing on. I know, I know, this is just what people do with extra money now, I guess.  ↩ This isn't a political or economic stance, just the observation that one should probably avoid commentary on capitalism from Instagram of all places. They're posting to get ad revenue out of you , you fools, you fucking morons.  ↩ I should, for example, have escalated and highlighted the SharePoint issue aggressively and left nothing but middle management corpses in my wake. I would have been conveniently laid off at some point, but I could afford it so why did it matter?  ↩

0 views
Ludicity 1 years ago

Get Me Out Of Data Hell

It is 9:59 AM in Melbourne, 9th October, 2024. Sunlight filters through my windows, illuminating swirling motes of dust across my living room. There is a cup of tea in my hand. I take a sip and savor it. I text the other senior engineer, who unlike me is full-time, on the team: "I'm ready to start at 10", as is our custom. The minute hand moves. It is 10:00 AM in Melbourne, 9th October, 2024. The sun is immediately extinguished and replaced by a shrieking skull hanging low in a frigid sky. I glance down at my tea, and it is as blood. I take a sip and savor it. I text the other senior engineer on the team: "Are you ready to enter the Pain Zone?" 1 , as is our custom. The Pain Zone, coated in grass which rends those who tread upon it like a legion of upraised spears, is an enterprise data warehouse platform. At the small scale we operate at, with little loss of detail, a data warehouse platform simply means that we copy a bunch of text files from different systems into a single place every morning. The word enterprise means that we do this in a way that makes people say "Dear God, why would anyone ever design it that way?", "But that doesn't even help with security" and "Everyone involved should be fired for the sake of all that is holy and pure." For example, the architecture diagram which describes how we copy text files to our storage location has one hundred and four separate operations on it. When I went to count this, I was expecting to write forty and that was meant to illustrate my point. Instead, I ended up counting them up three times because there was no way it could be over a hundred. This whole thing should have ten operations in it. Retrieve file. Validate file. Save file. Log what you did. Those could all be one point on the diagram, but I'm being generous. And you can keep the extra six points for stuff I forgot. That's ten. Why are there a hundred and four ? Sweet merciful Christ, why? At two of the four businesses I've worked at, the most highly-performing engineers have resorted to something that I think of as Pain Zone navigation. It's the practice of never working unless pair programming simply to have someone next to you, bolstering your resolve, so that you can gaze upon the horrors of the Pain Zone without immediately losing your mind. Of course, no code alone can make people this afraid of work. Code is, ultimately, characters on a screen, and software engineers do nothing but hammer that code into shapes that spark Joy and Money. The fear and dread comes from a culture where people feel bad that they can't work quickly enough in the terrible codebase, where they feel judged for slowing down to hammer the code into better shapes that sadly aren't on the Jira board, and where management looks down on people who practice craftsmanship. The last doesn't even require malicious management — it just needs people that don't respect how deep craftsmanship can go. These are the same people that do not appreciate that an expert pianist is not simply pressing keys, they are obsessively perfecting timing and the force applied to each key, alongside dozens of factors that I can't comprehend. An unthoughtful person will see something and think "It can't be that hard" or more generously "That looks quite hard" . The respectful thought to have when viewing any competent professional in a foreign domain, in every domain that I'm aware of, is "That must be way harder than it looks." I have now seen enough workplaces, and thanks to the blog have access to enough executives, to know that this is what most cultures degenerate into. Terrible companies are perpetual cognitohazards where everyone is bullied all day. The median companies (which some people call "good" for lack of ever having seen better) lack the outright bullying but still consist of people that are trying to convince themselves that it's fine to feel disempowered or subservient all day. There are times in my life where I have to deal with this, but it is hardly fine . The best are places where you can get at least some of the things that a person needs other than rent money 2 . This place has a better culture than most, as bullying is mostly not tolerated, we have fully remote work, and it is a terrible faux pas to accuse someone of not working fast enough outright, though you can hint at it gently. It is worse than most places at software engineering, as... oh, you'll see. In any case, I have a deal with the team. Every morning, grab your coffee, attend your meetings, and at 10 AM we navigate the Pain Zone together for at least three to four hours. Management is blissfully unaware that this force of camaraderie and mutual psychotherapy is the only way that things continue to limp along. We have one simple job today. The organization wants to know: Someone has already landed all of the logs our system produces in the data warehouse, so we can examine them in there, alongside the actual data. Is that smart? I dunno, something feels a bit weird about it but I have no concrete objection. My co-navigator and I decide to look at the logs for one data source. This is where, five seconds in, we begin to become lost in the Pain Zone. Let's say the data source we picked was "Google Analytics". We search the landed logs for Google Analytics, expecting to see something like this. Here is what I actually see in the source column, and yes, it actually looked exactly this bad. That... is not "Google Analytics". In fact, what the fuck is that? It looks like someone has dumped a random snippet of JSON into the logs, but not even the entirety of the JSON. The strings aren't terminated. We should have around fifty source systems, so how many distinct source systems appear in— FIFTY-SEVEN THOUSAND? We've been writing total nonsense to half the logs for over a year and no one noticed? We only have two jobs . Get the data and log that we got the data. But the logs are nonsense, so we aren't doing the second thing, and because the logs are nonsense I don't know if we've been doing the first thing . I take a deep breath. The plan is to submit my notice on December 2nd anyway, so this is fine. This is so fine . The other engineers already know I'm leaving, and we've all committed to do the best we can for two months for our spiritual growth. The ability to do painful things is a virtuous skill to cultivate as a responsible adult. Okay, how is this happening? Well, it turns out that we're embedding a huge amount of metadata in filenames, and the Lambda functions that produce all of this — of course, we're serverless, because how can you hurt yourself without a cutting-edge? — use lots of regex to extract data. Unfortunately, because we don't have any tests, someone eventually wrote some code to download data that passed a big JSON blob instead of a filename to the logging function, and that function happily went "Great, I'll just regex out the source system from the file name!" Except it wasn't a filename, so it has instead spewed garbage into the system for months. I find something like this every time we enter the Pain Zone. Sometimes we've laughed so hard that we've cried at the things we've seen $2,000 per day consultants do. The issue is raised with the team, but because fixing this critical error in our auditability is not on the board and Velocity Must Be Up , fixing the logs is judged to be less important than... parsing... the nonsense logs. Why? We have another saying on our team, which is "Stop asking questions, you're only going to hurt yourself". I take another deep breath. Okay, we'll continue with the work instead of fixing the critical production error. We can't query the Google Analytics stuff based on source system, so let's pick another one. We also draw data from Twitter once every two hours, and that source column isn't broken for that. I just need to be able to associate the log events to begin working on that. That is, we'll have one log that says "I downloaded the data from Twitter" and another log that says "I checked that it had all the correct stuff in it", and I just have to tie them together. I don't like the way this table is configured for various reasons, but I'm expecting to see: Then I can just do something like: Now I can see if all the correct stuff happened. But I cannot find an event_id column or anything that looks like one. I hit up the expert on this system, and am informed that I should use the column. I look at it. It looks like this: I mean, firstly, what the fuck is this? Secondly, what the fuck is this? Thirdly, well, you get it. Why not just store this in a relational format? Why are they all in one column? Why do you hate me specifically? Stop asking questions, you're only going to hurt yourself. I am expected to use regular expressions to construct a key in my query . As far as I can tell, the numbers and letters don't represent or uniquely identify anything, they've really just been appended for no reason. I waste a fair amount of time figuring out if I can use them. December 2nd, I tell myself. Of course, I could be working on a book, shipping a hobby project, and dedicating more time to the business we're committing to in January, but December 2nd was the plan. It will be a great exercise to come up with a plan to gradually refactor all of this while delivering the things we're supposed to. It will make me a better engineer. December 2nd, December 2nd, hold fast. Okay, we can write a regular expression to identify all Twitter sources that came from 11/03/2023. This is very stupid, but compared to minimum wage in my home country, I am being compensated spectacularly to deal with this particular brand of stupidity. But wait, we retrieve this once every two hours, which means that while I can find all the Twitter data pulls from the 11th, I can't actually tell which rows are associated with the 8 AM run versus the 2 PM run. This perplexing awslog column only identifies things down to the day , not the hour. We have another column that logs the exact time down to the second that a Lambda function has fired, but each step happens at a slightly different time, and each source takes different amounts of time based on filesize. I message the team. "Any ideas for how to identify specific runs that don't assume there is only one run per day?" We take a ten minute break. We return. I am informed that there is no way to do this. All I can think of is to create a heuristic per data source , such that I see when the file was acquired then scan for the validation event that happens closest to the acquisition event without going so far ahead that I read the next successful validation event by mistake. I just wanted to see if data was landing in the platform . And to make things worse, I suddenly remember that I've seen this awslog thing before. A month after I joined the business, I saw it, and I said that it was unacceptably bad. The response was that it's okay because all the data we want is technically inside those strings, and this design is more flexible . Of course, since then we've added our first data source that is downloaded more than once a day, so it turns out, shockingly, that they should have Just Used Postgres and not tried to be excessively clever. As always. How have we been running things like this for two years ? Millions of dollars were spent on this system. Our CTO, who has never written code themselves, gets on stages every few months and just lies to people about things that the CTO can't possibly understand, pretending that any of this works and that they're a leader in the space. Then their friends buy the same software — I know because recruiters keep calling to ask me if I'll help lead the efforts. Almost every large business in Melbourne is rushing to purchase our tooling, tools like Snowflake and Databricks, because the industry is pretending that any of this is more important than hiring competent people and treating them well. I could build something superior to this with an ancient laptop, an internet connection, and spreadsheets. It would take me a month tops. I've known for a long time that I can't change things here. But in this moment, I realize that the organization values things that I don't value, and it's as simple as that. I could pretend to be neutral and say that my values aren't better , but you know what, my values are better. Having tested code is better. Having comprehensible logs is better. I'm wasting their money sitting around until December, which is unethical. I'm disrespecting myself waiting two more months for a measly Christmas break payout, which is unwise. I've even degraded team morale because I've convinced some of the engineers that things should be better, but not management, so now some of the engineers are upset. I'm a net negative for this team, except for that one time I saved them so much money that it continues to cover all three of our managers' salaries combined . As an afterthought, the person who just informed us that we have no way to associate logs to their respective ingestion events adds: "By the way, I think that there's a chance some of the logs don't actually report the right things. Like the ones that say are actually just hardcoded strings in the Lambda functions, and the people that wrote them may have meant to type in things like but made mistakes." I am dumbstruck. The other senior is laughing hysterically. It is 11:30 AM in Melbourne, 9th October, 2024. The wind is a vortex of ghost-knives sending birds careening from the sky. I glance down at my tea, and it is liquid hatred. I take a sip and savor it. "Hey, are you still there?", my pairing partner replies. "Yeah. Yeah. Listen, I'm done. I'm out today." "What? What about December?" "I could get the entire terrible first draft of a whole book out by December if I wasn't wasting time on this." "... Fair." I briefly consider contacting my partner, but I know she'll support me. I could check in with my parents, but they'd just worry for no reason. I could chat with my co-founders, but they're just going to tell me to do what I need to do. I could sleep on it, but that would just be to give myself the illusion of responsibility even as I barrel towards wasting two more months to earn money that, thanks to five years of diligently navigating various Pain Zones, I don't even need. I resign at 2:00 PM. It is 3:00 PM in Melbourne, 9th October, 2024. I have called my director, who is highly competent, and explained why every engineer wants to quit, and finalized the paperwork. My last day is the 5th of November, 2024. My only job title is now director of my own consultancy, and in January my savings will start to tick down. I glance down at my tea, and it is tea. I take a sip and savor it. PS: Software engineers and anyone else struggling with I.T issues can find my consultancy here . Even if you don't control budget, we're happy to walk you through how to sell us internally to actually fix whatever your problems are. I preferred not advertising on the blog, but writing doesn't pay rent now that I'm self-employed. We've also got a company blog that my co-founders and I will be writing on. We do actually say this every morning.  ↩ The people that expect to get all of them are probably not doing themselves any favors either.  ↩

0 views
Ludicity 1 years ago

Tossed Salads And Scrumbled Eggs

With the decision to focus on our consultancy full-time in 2025, my time as an employee draws to a close. My attitude has become that of an entomologist observing a strange insect which can miraculously diagnose issues, but only if the diagnosis is "you weren't Agile enough". My rage has quickly morphed into relief because this is, broadly speaking, the competition. 'A beetle clock?' she said. She had turned away from the glass dome. 'Oh, er, yes... The Hershebian lawyer beetle has a very consistent daily routine,' said Jeremy. 'I, er, only keep it for, um, interest.' While our team is now blessedly free of both the madness of corporate dysfunction and the grotesque world of VC-funded enterprise, we must still interface with such organizations, ideally in as pleasant a manner as is possible for both parties. But there is still one question from my soon-to-be old life that bears pondering, which I must understand if I am to overcome its terrible implications. What the fuck is going on with all those dweebs talking about Scrum all day? I would rather cover myself in paper cuts and jump into a pool of lemon juice than attend one more standup where Amateur Alice and Blundering Bob pat each other on the back for doing absolutely fucking nothing... except using the learning stipend to get "Scrum Master Certified" on LinkedIn or whatever. — A reader You may be surprised to hear, given my previous writing , that I am more-or-less ambivalent about the specifics of Scrum. The inevitable protestations that "Scrum works well for my team" whenever it comes up are both tedious and very much beside the point. The reason that these protestations are tedious is that, in the environment we find ourselves navigating, these are meaningless statements without context. Most people in management roles are executing the Agile vision in totally incompetent fashion, usually conflating Scrum with Agile. They also think that it's going just swimmingly, when a more accurate characterization would be drowningly. Given that you do not know who you are speaking to over the internet, whether they are competent engineers or self-proclaimed thought leaders, any statement about Agile "working for my team" does not convey much information, in the same way that someone proclaiming that they are totally not guilty is generally an insufficient defense in court. The reason that they are beside the point is that the specifics of Scrum are much, much less interesting than what we can infer from the malformed version of the practice that we see spreading throughout the industry. I believe there are issues with Scrum, but those issues simply do not explain the breathtaking dysfunction in the industry writ large. Instead I believe that Scrum and the assorted mutations that it has acquired simply reflect a broader lack of understanding of the systems that drive knowledge work, and the industry has simply adopted the methodology that slots most neatly into our most widely-held misconceptions. As you can see, I am not a data engineer like yourself, but we share the deep belief that Scrum is complete and utter bullcrap. — A reader When I first entered the industry, I was at a large institution that had recently decided to become more Agile. It is worth taking the time to explain what this means for the non-technicians in the audience, both so that they can follow what is going on, and so that the technicians here can develop an appreciation for how fucking nuts this all sounds when you explain it to someone with some distance. Most of us are so deeply immersed in this lunacy that we no longer have full context on how bizarre this all is. To begin with, "Agile" is a term for a massive industry around productivity related to software engineering. Astute adults, with no further context, will see the phrase "industry around productivity" and become appropriately alarmed. The industry is replete with Agile consultants, Agile coaches, Agile gurus, and Agile thought leaders. Note that these are all the same thing at different points on the narcissism axis. Agile is actually a philosophy with no concrete implementation details, so there are management methodologies that claim to be inspired by that broader philosophy. The most popular one is called Scrum. As with any project management methodology, the dream goal with Scrum is for teams to work more quickly, to respond to changes in the business more rapidly, and to provide reliable estimates so that projects do not end up in dependency hell. This is typically accomplished through Jira. All-powerful Jira! All-knowing Jira! What is this miraculous Jira? It's a website that simulates a board of sticky notes! That's it, that's the whole thing. When something needs to be done, you put it in there and communicate on the card. Well, all right, that doesn't sound so bad yet. In any case, this is paired with a meeting that runs every morning, called a Stand-Up. It is supposed to run for approximately ten minutes, as one would expect for a meeting that's going to happen every day . Instead, every team I've seen running Scrum has this meeting go on for an hour. Yikes, yes, daily one hour meeting. And since orthodoxy in the modern business world is that a "silo" is bad 1 , many people work on more than one team, so they attend two one hour meetings per day . That is a full 25% of an organization's total attention dedicated to the same meeting every day . What on earth are you doing in daily one hour meetings? Well, we discuss the cards. Wait, I thought the whole point of Jira was so that all your notes are on the electronic cards? You're asking too many questions, heretic . Guards, seize them! Of course, while this is usually enough to provoke complete confusion when explained to people with enough distance from the field to retain their grasp on common sense, it gets worse. Prepare yourself for a brain-frying. You typically don't just do work as it needs doing. In an effort to keep track of the team's commitments as time goes on, the team commits to Sprints , which basically means that you commit about two weeks worth of cards to the board, then only work on those cards on pain of haranguing. Sprints are usually arranged back-to-back with no breaks, and "sprinting" nonstop throughout the year is obviously a totally healthy choice of words which has definitely never driven anyone to burnout. But to keep track of how much work is in each card, there is usually another meeting called Backlog Grooming, where the team sits around and estimates how much time each card is going to take. This is done by assigning Story Points to cards. What is a Story Point? Why, it's a number that is meant to represent complexity rather than time, because we know in the software world that time estimates are notoriously unreliable. To make things even simpler , most teams actually still use them to mean time, enough so that there are all sorts of articles out here where people desperately try to explain to professionals in the industry that they shouldn't use the phrase "Story Points" incorrectly, even though knowing what one of the core phrases in the methodology means should be a given. Okay, you're with me so far, right? Scrum is a project management methodology based on Agile, where you run daily Stand-Ups to reflect on how your Sprint is going, and the progress of your Sprint is measured by the number of Story Points you've completed in your cards, which may or may not be hours. Fuck, wait, did I say cards? There are no cards, there are Stories and Tasks, and a long sequence of Stories and Tasks contributes to an Epic... wait, did I not explain what an Epic is? An Epic usually translates to some broader commitment to the business. Sorry, sorry, we'll try again. So you do the Stand-Ups to evaluate how many Story Points you've completed in your Sprint — ah shit, wait, wait, I forgot. Okay, so the number of Story Points you've done in a Sprint is Velocity. Yeah, right, so you want your Velocity to stay high. So you run Backlog Grooming to produce Story Points for each of our Stories and Tasks, which are not time estimates except when they are, and then we try to estimate how many Story Points we can fit into a Sprint, which is explicitly a timespan of two weeks, again keeping in mind that Story Points are not time estimates , okay? If we do a good job, we'll have a high Velocity. And then we put that all into Jira, and you write down everything you're doing but then I also ask you about it every morning while I simultaneously try not to turn this into a "justify your last eight hours of work" ceremony. Damn it, wait, wait, I forgot to tell you, these aren't meetings, okay? They're called Ceremonies, and the fact that I am demanding large swathes of people attend ceremonies against their will does not make this a cult. Phew. Okay. Now, with all of that in mind, how many Story Points do you think it'll take you to update that API, Fred? Fred, you dumb motherfucker, Story Points have to adhere to the Fibonacci sequence 2 , you stupid idiot. Four? You mud-soaked yokel. You've disrespected me, this team, and most of all, yourself. Christ, Fred, you're better than this. Fucking four ? I wouldn't let that garbage-ass number near my business. I don't understand why you're struggling with th— As someone whose part of their job was to write end-user documentation at REDACTED about these exact things, you have my wholehearted, eye-twitching encouragement from this section alone. — A reader reluctantly working in Scrum advocacy I'm going to stop there for a second. You may understand now why, when first confronted by Jira and the Agile Cult, I elected not to read anything about it for about a year. It was, after all, an organization-wide transformation being pushed by many people with big ol' beards and very serious names like Deloitte in their work histories. Repeated references were made to the Agile "manifesto" by non-engineers, which caused me to avoid reading anything about it. It was a whole manifesto , for which the only frames of reference I have are voluminous works by Marx and Kaczynski which I haven't read either. Surely these people had been employed because they had some formidable skillset that I was missing. Imagine my befuddlement when I realized that this is the entirety of the manifesto: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Congratulations! You're all Agile certified! I'm so proud of all of us. This certificate is going right on the fridge, alongside the prettiest macaroni art. A few things here are striking. The first is that I don't see any Proper Nouns at all. So all that Scrum-Velocity-Story-Point-Epic-Fibonacci stuff is very much some sort of philosophy emerging from a weird nerd-aligned religious schism. The second thing is that the text is actually reasonable, and able to provoke meaningful discourse. For example, should individuals be contrasted with processes? Is taking the individual into account necessarily at odds with process? In some ways yes, in some ways no, but the authors are merely stating a rough preference for when the two come into conflict. And the final sentence walks back the preceding four, so this is hardly the incendiary foundation for the monolith of bullshit I just described. So where on earth is all this Scrum stuff coming from? There's nothing in the original manifesto that would suggest that this is sensible, nor is there anything that would even begin to send people down this strange pathway. For all the flaws with Scrum, you will find no support for this stark madness anywhere within an authoritative source on the topic. Yes, it comes with a thousand confusing names and questionable value, but it doesn't actually suggest people dedicate up to half their time to meetings. In fact, Scrum is mostly embraced in a manner which implies some of its most fervent advocates have failed to spend even a few minutes reading about their primary job functions. How else can we explain the prevalence of Story Points as time estimates, and the one hour meetings every morning? And this is exactly why I don't view Scrum itself as particularly problematic. The fundamental issue , the one that is only moved by small degrees by project management methodologies, is that many, many people simply have totally unsophisticated ideas around how knowledge work functions. Last week, someone was trying to bully me into estimating something. It took two hours of me saying "I can't estimate that, it has no end point, you don't understand what you're asking" for it to finally devolve into "Ok, you can't estimate it, I understand, but if you had to estimate it what would it be?" I said fuck it, 8 hours for me to investigate and come back with an answer on how long the work would take... and they were happy with that. Nobody paused to consider it took 25% of my estimated time to have a meeting about why it was a dumb question. — A reader Work at large companies has a tendency to blow up, run far behind schedule, then ultimately limp past the finish line in a maimed state. One of my friends talks about how, when faced by his first failed project on a team, a management consultant responded to all critical self-reflection with "But you'd say that, overall, this was a success?" in a desperate bid to generate a misleading quote to put into a presentation to the board. The core of this issue lies in the simple fact that time estimates will, with varying frequency based on domain and team skill, explode in spectacular fashion. We are not even talking about a task taking twice as long as initially estimated. I'm talking about missing deadlines by years . The software I mention in this blog post is now over ten years overdue. I am fairly certain that the majority of software projects collapse in this fashion, for reasons that would only fit into a post about Sturgeon's Law . It is in the shadow of this threat that the Scrum Master lives. Yes, that's right, there are still exciting Important Words that we haven't introduced. The Scrum Master, who I usually call Scrum Lords because it's funnier, is some sort of weird role that's specialized entirely in managing the Jira board, providing Agile coaching, and generally doing ad hoc work for an engineering team. Keeping with the theme of Scrum being bad but people being even worse at implementing it as prescribed, they usually end up being the project manager as well. Atlassian's definition of a Scrum Master notes that one of their core roles is "Remove blockers: superhero time", which makes me want to passionately make out with a double-barreled shotgun. I can only assume that Scrum Masters feel deeply infantilized by this, and I am offended on their behalf. They are generally very sad and stressed out, while simultaneously pissing off everyone around them. I can just punch any software YouTuber's name into the search bar along with "Scrum Master" and be assured that I can find someone sneering . Putting that brief meanness aside, I am actually very sympathetic. They are, after all, people, and I take the bold stance that I'd prefer people be happy and self-actualized. All of this, with the boards and the Stories and the Epics, they're all mechanisms for trying to construct some terrible fractal of estimation that will mystically transmute the act of software engineering into the act of bricklaying. And I'm guessing that bricklaying is also way more complicated than it looks, so this still wouldn't improve matters much even if it worked. This is further complicated by the fact that most Scrum Masters have either no understanding of the work under consideration, or have learned enough merely to be dangerous 4 . This puts them into an impossible position. If companies are going to pay outsized compensation to perform a job that simply requires a degree and a willingness to endure tedium, I can hardly fault someone for taking that deal. Even the Atlassian definition of a Scrum Master notes that technical knowledge is "not mandatory" , so who can blame them for not having technical knowledge? And once you're in that position, you have now become the shrieking avatar of the latent anxiety in the business. All projects are default dead barring exceptional talent, but this level of realism would fail to extract funding from the business, even if cool analysis reveals that the failure chance is still worth the risk. The Scrum Master is thus reduced to a tragic figure. They worry about losing their overpaid role, are not developing skills that are easily packaged when pitching themselves to other businesses, and feel responsible for far too much inside a project. Yet they do not have the knowledge or the power to debug the machine that is the team, even if they are well-intentioned and otherwise talented. Bad actors can more-or-less get away with saying anything to avoid doing work, because the truth is that only an engineer can tell when another engineer is making things up, which is precisely why we all live in fear of sketchy mechanics overcharging us for vehicle repairs. Even if someone is suspected as malingering, the Scrum Master is unable to initiate termination procedures, and will probably have to trust their gut to a degree that is unpalatable for most people if they want to escalate issues. If the project is running late, they have no recourse other than to ask the engineers to re-prioritize work, then perform what I think of as "slow failure", which is normally the demesne of the project manager. When a project is failing, the typical step is not to pull the plug or take drastic action, it is to gradually raise a series of delays while everyone pretends not to notice the broader trend. By slowly failing, and at no point presenting anyone else in the business with a clear point where they should pull the plug, you can ultimately deliver nothing while tricking other people into implicitly accepting responsibility. The Scrum Master is generally not malicious, they are just failing to see the broader trend, and simply hoping for the sake of personal anxiety regulation that this task will indeed be accomplished by the next sprint. When I run into someone in this position, I have very little trouble with my disdain when they're enjoying harassing everyone, but I mostly run into people who are actually struggling to be happy with 40 hours of their week. I know of Scrum Masters who have broken down crying when they hear that people are leaving teams — not due to a deep emotional connection with the person leaving, but because that anxiety is lying right below the surface, and almost any disruption can set it off. It is not unusual to hear people in this role flip between intensely rededicating themselves to "fixing the issues" and then despairing about their value to society, something that I personally went through on my first corporate team. It sucks. I suspect that the impact of the organization manifesting their anxiety in one person in this way, then giving that person control of meetings and the ability to deliver that anxiety to their teams, is perhaps one of the most counter-productive configurations possible if you assume that the median Scrum Master is not a bastion of self-regulation. These people exist, but I wouldn't bet on being able to hire a half dozen of them at an affordable rate. For most of us, including me, attaining this level of equanimity is very much a lifelong work-in-progress. But even this is not a problem with Scrum, it's a much more serious problem — that organizations run default-dead projects and have cultures where people have to hide this while executives loot the treasury — that is simply made slightly worse by Scrum configurations. Most engineers just go through the Scrum/Agile motions, finding clever ways to make that burndown chart progress at the right slant without questioning what they’re doing, and it’s nice to read someone articulating the negative thoughts that some of us have had for such a long time. Believe me when I say it’s been this way pretty much since the inception of this fad in the mid 90s. — A reader I have previously joked (I was actually dead serious) that the symbolic representation of the work, the card on the Jira board, is taken to be such a literal manifestation of the work that you can just move the pointless tasks to "Done" without actually doing anything and the business will largely not notice. If the card is in "Done", then the work is Done. The actual impact of the work is so low that no one notices, in a way that my electrician would never be able to get away with. Readers have written in to say that they have done exactly this, and nothing untoward has happened. This conflation of management artefacts with the actual reality of the organization is widespread, and also not Scrum specific, but it is my contention that methodologies producing these artefacts is core to their appeal. A phrase I love is that "the map is not the territory", which more or less translates to the idea that maps merely contain abstract symbols of the territory they represent, and that while we may never have access to a perfect view of the whole territory, it is important to understand that we aren't looking at the real territory. That little doodle of a mountain is not what the mountain actually looks like. Despite the scribble of a sleeping dragon, Smaugh may be awake when you get there. The harsh truth is that, as with anything complicated enough in life, you cannot realistically de-risk it. We go through our days with complex five-year plans, have them utterly blown apart every year by Covid, assassinations, coups, and if you're super lucky the best you can hope for is the dreadful experience of watching other people getting cancer rather than yourself. Then, because this is terrifying, we immediately go back to pretending that the most important event in the next five years will also be predictable. And the other thing that we do because risk is usually terrifying (it's actually quite fun when you learn to expose yourself to good rare events — say, writing in public), is we immediately cling to things that smooth this away. Software engineers do not like engaging with the business partially because they trend towards being nerds, but mostly because interfacing with true economic reality is confronting. And non-programmers seem like they're interfacing with the reality of the business, but frequently they are interfacing with Reality As PowerPoint, which is closer to the territory but still not the territory . True reality is never accessible because no one has perfect information. We do not know whether our competitor's latest product is going to be far behind schedule or utterly obliterate us. We do not know if a pandemic is going to shut down the state for a year. To make matters worse, reality that is accessible is usually not accessible from a high vantage point. From a bird's eye view, you have no way of knowing that 80% of a specific team's output is from Sarah, and Sarah's son just broke his arm playing soccer so that project is about to collapse as she scrambles to cope. This is totally visible to some people at the business, but is not going to be shared with the person making promises to the board. We could build a complex systems-thinking approach about our work, but that is very hard and will have obvious fuzziness. Many of the mediocre executives I meet, particularly those I meet in the data governance space 5 , love their PowerPoints and Jira boards because while they are nonsense, they are nonsense that looks non-fuzzy and you will only have to deal with their inaccuracy once every few years, at which point so many people signed off on the clear-but-wrong vision of reality that it's hard to tell who is ultimately accountable for the failure. A more effective management methodology, one which accurately portrays the degree to which no one knows what is going on because life is chaotic, only makes sense for an entirely privately owned business where the owner needs to turn a profit rather than impress his employers or the markets. This mode of non-fuzzy being is only available to those who are salaried to "run the business", which means that they are not accountable to the territory, much like a hedge fund manager who receives bonuses for good years and a simple firing (keeping their ill-gotten gains) during a bad year, allowing them to engage in strategies that have massively negative expected returns but only during rare events. This is in stark contrast to the reality of the bootstrapped business founder, such as the barber down the road, who will simply be on the hook for such losses. If you're looking for results, rather than being precise, we want the symbols for our work to look as fuzzy as we are uncertain, rather than pseudoclarity. I want the rope bridges on my map to exist in a superposition of being intact and destroyed in the last big storm. Of course, this is exactly what expensive PowerPoint reports and Jira provide. Pseudoclarity, for as long as you're willing to fork over enterprise license money. The version of reality where you can simply calculate how many Story Points you're completing per month, compare that to the number of Story Points in the project, then calculate that the project will be finished on time is very, very tempting, but the ability to do this is dictated by factors that are almost totally unrelated to Scrum itself. A team that can work this smoothly has probably already won, whatever you decide to do. Some people have just lived with these symbols for so long that they think drawing a box on a PowerPoint slide that says "Secure Personally Identifiable Data" is the same thing as actually making that happen , as if one could conjure a forest into existence by drawing some trees. Funny thing is that, every time my company tried to introduce OKRs and make it work, it was clear to me that nobody read the book nor understood the final goal. Like Agile or Scrum. People try to implement them as dogma, and they always backfire because of that. I guess it is always easier to be a cook and follow recipes than to be a chef and adjust based on current circumstances/ingredients. — A reader If there is a specific problem with Scrum, something that I genuinely think makes it stand out as uniquely bad rather than just reflecting baseline organizational pathology, meetings are it. People are not good at running meetings, and mandating that they hold more meetings does not merely reflect our weaknesses as a society, it greatly amplifies the consequences of that weakness. So many meetings. So, so many meetings. Suffice it to say that anyone who runs a one-hour Stand-Up with any consistency should be immediately terminated if they are primarily Agile practitioners. There is very little to say here, save that people are so terrible at running meetings that, on average, the sanest thing to do for most businesses is pick a framework that minimizes the default number of them. I will appeal to authority here on the normalcy of meeting-running skill being low and simply quote Luke Kanies who has given meetings more thought than I have : So a manager’s day is built around meetings, and there is a new crop of tools to help with them. What’s not to love? Well. The tools are built by and for people who hate meetings, and often who aren’t very good at them. Instead, I want tools for people whose job is built around meetings, and who know they must be excellent at them. In the absence of people who treat running meetings as seriously as we treat system design, try not to run many meetings . If this sounds unpalatable then get good, nerds . I'm turning the tattered remnants of my humility module off to say that the team at our consultancy runs a meeting at 8PM every Thursday, after most of the team has just worked their day job and struggled to send kids off to bed, and we actually look forward to it. This is attainable, though even then we constantly reflect on whether the meeting needs to keep existing before it wears out its welcome. I ask people very frequently, possibly too frequently, whether they're still having fun. I currently believe that meeting-heavy methodologies are preferred because they feel like productivity if you aren't mindful enough to notice the difference between Talking About Things and Doing Things . Even some of the worst Agile consultants I know have periodically produced real output, but I suspect they can no longer differentiate between the things they do that have value and the things that do not. A while ago, I wrote a short story about Scrum being a Lovecraftian plot designed to steal human souls . It ended with this quote: In the future, historians may look back on human progress and draw a sharp line designating "before Scrum" and "after Scrum." Scrum is that ground-breaking. [...] If you've ever been startled by how fast the world is changing, Scrum is one of the reasons why. Productivity gains of as much as 1200% have been recorded. In this book you'll journey to Scrum's front lines where Jeff's system of deep accountability, team interaction, and constant iterative improvement is, among other feats, bringing the FBI into the 21st century, perfecting the design of an affordable 140 mile per hour/100 mile per gallon car, helping NPR report fast-moving action in the Middle East, changing the way pharmacists interact with patients, reducing poverty in the Third World, and even helping people plan their weddings and accomplish weekend chores. This is so unhinged that readers thought this was something I made up. 1200% productivity improvements? You can use Scrum to report on wars and accomplish your weekend chores ? This looks like I asked ChatGPT to produce erotica for terminally online LinkedIn power users. I wish it was. That's the blurb from one of Jeff Sutherland's books , one of the Main Agile Guys. The subtitle of the book is "doing twice the work in half the time", so this absolute weirdo is proposing that Scrum makes you four times faster than not doing Scrum . Jeff has also gone on record with amazing pearls of wisdom like this : If Scrum team is ten times faster than a dysfunctional team and AI makes teams go four times faster, then when both use AI the Scrum team with still be be ten times faster than the dysfunctional AI team. Actually, what I am teaching today is not only for developers to use AI to generate 80% of the code and be five times faster. This will make each individual team member 5 times as productive and the whole team five times faster. But it you make the AI a developer on the team you will get a synergistic effect, potentially making the team 25 times faster. Jeff, what the fuck are you saying? This is incomprehensible nonsense. You are throwing random numbers out faster than Ben Shapiro when he's flinging anti-trans rhetoric , a formidable accomplishment in and of itself, and they're all totally unsubstantiated. This is insane . This is demented . Scrum is ten times faster than a dysfunctional team? Are all non-Scrum teams dysfunctional? AI makes teams go four times faster? But you're teaching people to use AI to be five times faster? Then if you put AI on the team as a developer there's a synergistic effect and they're 25 times faster? Fucking what ? What mystical AI do you have access to that can replace a developer on a team today and why aren't you worth a trillion dollars? And if we throw Scrum into the mix for that sweet, sweet 10x speedup, can I get my team to be 250 times faster? Can our team of six people perform the work of, let me do some maths, 1500 normal developers? How have we defaulted to a methodology that has this raving fanatic at the helm? Contracting has exposed me to a variety of technical challenges and domains, ranging from work I remember with fondness and pride, to the kinds of unbearable, interminable corporate Scrum nightmares you describe so eloquently in your blog which seemed to be cooked up in a lab intent on undermining and punishing any sign of genuine ambition towards the improvement of human life. — A reader The reality is that teams are messy, filled with emotion, and that this is further compounded by the fact that our work requires a great deal of emotional well-being to deliver consistently. I once worked on the management team at a Southeast Asian startup, and while I was terribly depressed at that job, I was able to get my work done with some degree of consistency. Now that I am in IT, I basically cannot program when I am in a negative headspace because I cannot think clearly, and this dominates most of the productivity gains I see in a typical engineering team. Poor sleep, low psychological safety, and a thousand other little levers in the brain can disrupt functioning. There is no real shortcut for this. With that said, I do have thoughts on how to do better, and you're going to get them no matter how annoying that is! Behold, the unbridled power of not relying on advertising revenue! Let's start very, very simply. Names matter. Agile is popular because the word Agile has connotations of speed, and that is genuinely as sophisticated as many people are when designing their entire company's culture. Sprints are popular because the word Sprint has connotations of speed. The fact they are called Sprints has probably genuinely killed a few people when you aggregate the harm of being told you are Sprinting every week across a few million anxious people. Don't give things idiotic names. All methodologies should compete against a baseline of a bunch of sticky notes on a whiteboard, and you should question your soundness of mind every time you feel the need to introduce a Proper Noun, okay? Just have a big list of things to do, order in terms of what you want done first, and then do that. Just think about how much you'll save on onboarding and consultants for the exact same outcome in almost all cases. There are plenty of superior methods to this, but there are way more worse ones. If you have a meeting, just call it a meeting and prepare an agenda. I swear to God, if you invent a Proper Noun and someone asks me to learn it for no reason, sweet merciful Jesus, I will find you and — A spectacular amount of the design that goes into these methodologies is based around avoiding cognitive biases around estimation, though they frequently fall short because there is no easy fix for a mind that craves only easy fixes. That one sentence describes 90% of dysfunction in all fields. Consider the Fibonacci sequence restrictions, meaning that four Story Points can't exist (which is hilarious when adopted by teams using Story Points as time, because now four days can't exist). The generous reasoning behind this is that the variance in a highly-complex or time-intensive task is higher than that of a simple task, so it makes sense to force people into increasingly large number rather than stressing about a single point here or there. In reality, this is fucking silly and if someone suggested this ex nihilo , without the background of Scrum, we'd be absolutely baffled. But hey, an attempt was made. Most of the suggestions will be around different models for handling these biases. I'll indicate which of these I have actually tried. For the most part, I have found that the typical organization is completely unwilling to actually try these, and will only consider them when talking to me when I am presenting in my Consultant Mode, not my Employee Mode. Even though I am more deeply embedded in the workplace culture as an employee, most people can't stop seeing ICs as too low-status to take seriously. In these contexts, I've just gone rogue and experimented without management buy-in. Basecamp has a free book out online that talks about a methodology they call ShapeUp. It's quite good despite my general disdain for business books. In it, they explicitly deal with the failure mode of tasks stretching well beyond their value to the business, existing in the perpetual zone of "almost done". We combine this uninterrupted time with a tough but extremely powerful policy. Teams have to ship the work within the amount of time that we bet. If they don’t finish, by default the project doesn’t get an extension. We intentionally create a risk that the project—as pitched—won’t happen. This sounds severe but it’s extremely helpful for everyone involved. First, it eliminates the risk of runaway projects. We defined our appetite at the start when the project was shaped and pitched. If the project was only worth six weeks, it would be foolish to spend two, three or ten times that. [...] Second, if a project doesn’t finish in the six weeks, it means we did something wrong in the shaping. Instead of investing more time in a bad approach, the circuit breaker pushes us to reframe the problem. We can use the shaping track on the next six weeks to come up with a new or better solution that avoids whatever rabbit hole we fell into on the first try. Then we’ll review the new pitch at the betting table to see if it really changes our odds of success before dedicating another six weeks to it. All this does is turn off the sunk cost fallacy, forcibly. It's very smart. I ran this for a while with the other engineer mentioned in this blog post . Despite the broad horror of that story, it was the most productive work period of my life. It's also worth noting that the other engineer went on to become one of my co-founders, and that we both studied psychology together before getting into IT. A lot of our effectiveness came down to ruthless self-analysis and paying attention to failure modes. I like the advice given by P. Fagg, an experienced hardware engineer, "Take no small slips." That is, allow enough time in the new schedule to ensure that the work can be carefully and thoroughly done, and that rescheduling will not have to be done again. — Fred Brooks, The Mythical Man Month This is the smartest and most practicable thing that I'm ever going to write on this blog. Unsubscribe after this because it's all downhill from here. There is a rather strange phenomenon that arises around project lateness. When we estimate that something is going to be completed in a month, the natural temptation is to think that, when you are one day overdue, that you are almost done . I.e, it will be finished in one month and five days. In reality, each day past the deadline increases the estimated deadline. Prepare yourself for one of my patented doodles, a thing which I am bullied for relentlessly at work, and enjoy the dreadful simulated experience of being one of my colleagues enduring an interminable lecture about some abstract concept that no one cares about. This is the distribution that people think that are sampling from. As you move past the one month mark, you are approaching the sad probability that it'll take two months, but the likelihood of that is astonishingly low. At each point, the odds are that it's the next sprint where you'll deliver. The truth is that if you keep missing deadlines (or even miss one deadline), reality is gently, and eventually not-so-gently, informing you that you are not drawing from the distribution you thought you were . Instead, which each passing day, it is increasingly likely that you are drawing from some super cursed distribution that will ruin your project forever. Each delay represents the accumulation of evidence that you are more likely to be drawing from the blue instead of the red, or something even worse than the blue . These days, when something important is late by one day , I immediately escalate to the highest alert level possible. This is unpalatable for political reasons, but it is the only appropriate response. It works. I've tried this out, and I have never regretted it. I also once warned an executive about a server that was two weeks late in being provisioned. I failed to adequately explain the idea because it was complicated, they were impatient, and I hadn't practiced the explanation enough times... and I think that it's too counter-intuitive for non-statisticians to actually act on. Doing unusual things is a genuinely hard skill, even if you absolutely believe that the unusual thing is better. That server was provisioned a year behind schedule. There are no small delays in my world, only early delivery and absolute catastrophes. Our consultancy doesn't do deadlines. This was a strange idea when I first came across it because it is so different from the corporate norm, but it's a much better model when you have trust with the parties involved. If you don't have trust, guess what, nothing else matters. We pair this with fixed price billing, but the core is that we try to only work projects where there's no real risk of a few weeks here or there affecting our client adversely. The fixed price billing means that we aren't rewarded for running late, and have a higher effective hourly rate if we deliver something the client is happy with in less time. It also means that clients don't feel bad when we do things like document comprehensively or improve test suites. This is tricky, because it runs totally counter to how a large business operates, but there would also be very little to enjoy in starting a business only to do what everyone else is doing. There's common wisdom in the savvier parts of the IT world that you should limit the number of weird things you do with regards to technology stack. Even that is actually an argument against bias (people drastically underestimate the difficulties of using weird technology and overestimate the value) — but that's also terrible advice if you actually know what you're doing. You want to maximize the amount of weird stuff you're doing across the business to generate asymmetry with your competitors, with the admittedly serious caveat that the pathway to this particular ancient ruin is littered with skulls. Pay attention to the skulls. This isn't very useful for a larger business, as usually they have been architected to rely on conventional mechanisms, but it's worth thinking about the fact that this is possible. Authors like Jonathan Stark have it as part of their normal practice. You can choose to build a system that is not predicated on this idea of work flowing linearly through a system like a factory floor. In fact, one of the most famous books on IT operations is The Phoenix Project , but the The Phoenix Project is self-admittedly just a reskinned version of The Goal , a totally different book that is explicitly about factory floors . This is also totally beside the point, but the audiobook version of The Goal has a romantic subplot in a book about factory operations and the editors included smooth saxophone when the protagonist finally frees up enough time at work to attend to his ailing marriage, which caused me to exhale tea through my nose. Finally, here is a boring disclaimer that some industries simply can't get away with experimenting along these dimensions. Microchip manufacturers need to deliver the product in time for the next iPhone to ship or Apple cancels the contract. C’est la vie. This is a point taken from a private conversation with Jesse Alford , but obviously tasks can be estimated accurately, it's just expensive. I've done it before to a higher accuracy than I've seen on any Scrum team, with minimal practice, just by taking the time to have deep conversations with another engineer about the work. Unfortunately, it takes a non-trivial amount of engineering effort to do, and frequently has to be paired with actual work. Once again going to Basecamp, whose kool-aid I swear that I only drink sparingly even though it's delicious and refreshing, they have a specific chart on their platform called a hill chart. I love hill charts. They look like this: Simply put, they reflect the reality that there is a phase of a project where scope increases as you run into new cases during implementation, and then a phase where you actually have a good idea of how long something is going to take. For example, if I was going to integrate an application with a third-party application, the period of horror where I learn about the Informatica API (a wretched abomination whose developers should be crucified) is the left side of the chart as I learn things like "The security logs don't tell you if a login attempt was successful , just that someone clicked the login button". The right side of the chart, once I have painfully hiked up the hillside which is littered in caltrops, is where I say "This is still absolute torment, but I am now confident that there are only three days of pain left". People can have their gigantic Jira board, I guess, if they're willing to put that much time into something that isn't the work itself. And of course, that wouldn't be that great anyway, as it's possible to miss board deadlines, have to perform re-work, otherwise teams you depend on could screw up, people leave the team or become demotivated, etc. For the most part, businesses are best served by doing really, really simple things that have outsized value. Even within the consultancy, the only things we've bothered setting internal deadlines for are those that we've been procrastinating on. Even our deadlines are deployed towards psychological ends. This will change over time, but it has been totally fine until now. Nothing crushes software engineering productivity faster than low morale. Generally speaking, software engineers in the first world are well-paid enough, and their work is hard enough to measure, that you cannot intimidate them into working faster by standing behind them whilst demanding they flip burgers faster. Nor would I want to, on account of at least trying not to be a bastard. Scrum teams, and any team that does not pay extremely close attention to the symbolic framework that the team is operating in, will collapse over the course of approximately a year. A core issue with Scrum specifically is that many of the ceremonies symbolize extant organizational issues much too clearly . One of the other important meetings, the Retrospective (I know, there's another word!) is where you sit down and evaluate how a sprint went, and what the team can change. I love the idea of the Retrospective. It is a fantastic idea that any team aspiring to greatness should adopt. But if everyone in the Retrospective requires organizational permission to change things, or is the generic team where changes are not addressed with violent purpose, the Retrospective becomes emblematic of everything that makes people feel disrespected. On my current conventional-employment team, only about 20% of the team continues to attend Retrospectives, which is the outcome I've gradually observed everywhere I've seen Scrum. Again, this isn't a problem with Scrum — it's that Retrospectives interact positively with good cultures and negatively with bad cultures, and since most cultures are bad, it follows that Scrum is actively harmful to deploy into a random environment. It's only appropriate to roll it out when the organization is ready to actually make changes , and the continuance of the process should be immediately interrogated, and possibly terminated, the moment an engineer reports that they feel it's a waste of time. You can bring it back after figuring out how it all went so wrong the first time. There's probably some broad lesson in here about thoughtfulness, constantly evolving how you approach your craft and the structures that surround it, being suspicious of people selling 1200% improvements in productivity, and accepting that there's no substitute for reading and thinking deeply about your problems. There is no management methodology that will make up for having team members that proselytize full-time for a philosophy that is five lines long without having read those five lines 6 . But that sounds really tiring! Someone has announced Agile 2.0 , baby! Nothing can go wrong! Finally, all our problems are solved! Goodnight, everybody! This frequently boils down to professional responsibility cosplayers hoping that by repeating the phrase "break down silos" every day, they will be able to network every employee at the company into one gigantic Borg cube, somehow achieving all the upsides of specialization and none of the downsides. There is a nuanced middle-ground between these two points, and 90% of people are accordingly busy not acknowledging this.  ↩ I had to look this up despite seeing it in practice many times because it's so weird that I felt like I was just making things up.  ↩ The etymology of the word business reveals that it originally stemmed from something approximately meaning "anxiety". It is claimed that this sense of the word is now obsolete... but I think you and I both know that there's a sliver of it still in there.  ↩ This is a sexy phrase in business and software because people like the idea of being "dangerous" when they are in fact being extremely boring. News flash: things being dangerous is bad , you mad bastards. Programming is not skydiving and that is okay. Learn enough to be safe instead. Imagine learning enough surgery or cybersecurity to be dangerous then bragging about it. Even Michael Hartl's Learn Enough To Be Dangerous courses actually make you exceedingly safe.  ↩ This is where grifters are flocking to in my field, because it sounds responsible and the industry has decided it doesn't require technical ability. I attended a meeting a few weeks ago where someone had written a slide saying that "robotics" are part of our five-year plan. My brother in Christ, I'm a glorified database administrator, why do I need robots ?  ↩ The wildest thing about all this is that I actually like the manifesto and I still think most of this is bullshit. I like the principles enough that our consultancy is current leaning heavily towards adopting Extreme Programming practices.  ↩

0 views
Ludicity 1 years ago

Quitting My Job For The Way Of Pain

I gave you the chance of aiding me willingly, but you have elected the way of pain! 1 Every few weeks, I receive an email or have a conversation that makes me reflect on whether I'm living up to my own ideals. The emails talk about how refreshing it is to see someone saying what most people are thinking, and how it must be brave to put my thoughts out there. The conversations are about how you don't really have principles unless you're sometimes suffering for them. Well, I'm not really doing any of that. I've been working three days a week for almost two years now, and it has been as comfortable as is possible to imagine. I have enough money to spend on whatever I want, I have time off, and even when I'm working the workload is almost non-existent. It is, for most people, a dream job. And it only comes at the low, low cost of my integrity! Each day I go to the office, and I watch people senselessly babble about AI and robotics while what we actually do is maintain a pile of teetering spreadsheets and schemaless metadata 2 . In the past year I've had one conversation with our executive and one conversation with Luke Kanies , and all I can say is that our executive did not come off favorably. I see management contort themselves into horrible pain-pretzels, wondering why being more Agile isn't getting them the outcomes they want. Some have asked me if I can find them work elsewhere, because they are dimly aware that I am weirdly well-connected for a lowly IC. I want to shake them and say: Listen! Listen! You're a great person! You're smart! You need to snap yourself out of this. My third eye has penetrated the veil of the future, and I see a thousand years of suffering rolling out before you! An endless purgatory where each step towards salvation requires an hour of backlog grooming! A lifetime of shoving cards around a Jira board and reading Gartner reports as the spark of intelligence is snuffed from your mind! Your sight will dim, and your visage will darken, and still you will lay upon your death bed thinking that you may fend off the Reaper if you could but Estimate how long dying will take! ... And I won't get you a job unless you read a fucking book , okay? But what I say instead is "I'm sure that you'll find a better job eventually. Okay, clocking out for the week, bye." How lightly I withhold the opportunity for self-improvement, because I know that they will take the news badly, and because I do not believe that they have what it takes to change. It's not that it's my job to be responsible for all that, but withholding that information from people that think of me as being honest with them goes against my own values. And what standard is there to hold myself to if not my own? At the end of January 2025, I'll be leaving my employer to focus full-time on my own business. It doesn't currently make enough money to pay my rent. Two helpings of suffering with a side of principles, please. Well, fuck your gold You should take it all and melt it Make a bullet, kill yourself quick Yeah, put that money where your mouth is I have no idea how this happened, but I am now in a position where students reach out to me and ask for career advice. One sent me an email while I was writing this . A cursory glance over my career would reveal that while I'm better at my job than one would expect given that I have usually been the sole person that doesn't panic during a merge conflict, there are many people who are better than me. I suppose it's mostly a function of my writing skill outpacing my programming skill. As time has gone by, I've had to think about what I can offer those students, and the more experienced readers too. It isn't engineering guidance — I have some small war stories about simplicity and social dynamics, but there are people more qualified on both topics 3 . Usually, I conclude that it's trying to demonstrate conviction and bravery. Well, there's nothing particularly brave about essentially snidely sub-Tweeting people embarrassing themselves in meetings, right? It's braver than not saying anything at all, anywhere , but the reason that I get away with it is that as long as my writing is here , the people who are wasting millions of dollars in taxpayer money or bullying staff can get away with it. I exist in two realities, and can get away with pseudo-bravery as long as it doesn't actually inconvenience anyone in power, then get points in the public eye for the non-risk. At what point does a person say "I'd rather risk going hungry than degrade myself like this"? A few months ago, David Kellam told me that you've only got principles if you suffer for them sometimes, and a local CTO named Alan Perkins regaled me with a story of walking out into the worst job market of his life after being told to do something illegal. At what point do funny blog rants go from just that, some funny posts, to someone complaining about a self-inflicted situation? My greatest personal hero, despite being actively disliked by a great number of people who mostly miss the point, is Nassim Taleb. The central theme running through his model of ethics in the modern world is "skin in the game", and the height of cowardice is risk transference. And of course, that's what it is for me to work my current job. I have taken all the risk out of starting my business, and my writing, and essentially my life. My risks are roughly whatever the probability of heart disease is in my age category. In Taleb's world, risk-taking is bravery, and it's as simple as that. Success is nice, but not virtuous in and of itself. Winning is good, and don't get me wrong, victory is glorious and to be sought with every fiber of your being. If you are very clever, you can win without risk-taking, and that's still good, but that isn't the thing I can model for the world . The next time that someone says I've "spoken truth to power", I hope that I'll be able to look at my tower of responsibilities and the empty pits that used to contain my savings and think "I earned it this time". Large organizations will, as a rough rule, try to treat you with as much indignity as they can get away with. It starts the very second that the recruiter asks you how much you want from the role, in the hopes that you say a number that's way too low, and continues for as long as you don't know how to handle yourself. Most people don't know how to handle themselves at all , and are at the mercy of whether their particular manager cares about human decency. Indeed, an inability to treat yourself with respect is something that our system selects for in many places. There are things that doing a bunch of Leetcode exercises checks for that are correlated with job performance, though I can think of much better interview processes for most roles. But a side effect is that it's also a check for how much indignity you'll tolerate — we all hate them especially when they're done badly, but terrible organizations have reached a stable equilibrium where the willingness to tolerate bullshit is a prerequisite for joining. That is why the worst places have the rudest interviewers. Just do this take-home interview, unpaid, over the weekend, what's the problem? You don't value your time , do you? Most organizations 4 even require the suppression of any internal reality that conflicts with the organization's reality. Iris Meredith 5 once noted that it's interesting how what is "real" in an organization depends entirely on what management says is real. For example, if a project manager says that a project is behind schedule, then the PowerPoint now has a red circle on it. Full stop. Battle stations. If a software engineer says that a critical activity is blocked, even if that engineer is the most qualified person to know how blocked the project is, it is usually the case that the project only adopts red circle status if the project manager agrees. You can even violate the chain of command and jump above the project manager, and that might work, but your CEO will usually still check with the project manager first . And none of this is even malice — in the scenario above, everyone is agreeing with the engineer and actually behaving quite reasonably, but they can't do it unless the right people have certified that this is the new reality. Even at a decent company it is overwhelmingly likely that you have to subsume your own perceived reality in favor of the organization's. This is the realm that many executives live in, sadly. They've spent so many years looking at things from a "bird's eye view" that they have utterly conflated the symbolic representations of the organization with the organization itself. One of the up-and-coming areas in the data world is Data Governance. It's a serious discipline, but most practitioners seem to live in some strange world where they simply draw squares on a chart and think that this makes the world so — as if they can program the organization with abstractions on a simulated acetate slide. I have seen people write the phrase "personally identifiable information tagging" on a report then wait six months for a committee to decide that this has been done, when all that has been accomplished is an incomplete spreadsheet. Thus has my will been manifested! Tremble, ye mighty, and despair! It is some sort of psychodynamic process that I have trouble unpacking, but it boils down to a psychological distance from the fact that true reality exists, and that someone lower status has to handle it. This is why, two weeks ago, I attended a three hour meeting where, and this is true, someone had drawn over a hundred boxes that just listed technical capability the business should have over the next five years. These boxes included "Robotics", "Web Server", "Firewall", and "Fuzzy Logic". When I asked why, one person very sincerely told me that this was the future of the organization, and another told me that it was just to impress executives. This is exhausting. I have a brain and thoughts and insights. I want to live in a world where my actions matter and everything isn't just PowerPoint nonsense. I work on a product that loses money every year, but internally we just totally fabricate time savings for internal staff, estimate their hourly rate, then say that was our saving. The more we overpay people, the more we say we're saving . This is fucking madness , and I pretend it isn't because I've been bought. I may immediately want to leave the real world because it'll turn out that earning a living is extremely hard and our economy is mostly fraudulent, but then I'll at least go back to an office happily then. I've been talking to my partner about having children one day. I don't know what the plan is now — children are certainly too expensive for me right now on part-time hours, let alone on a yet-to-be-validated business. But I do know that I would tell my child to stand up for themselves, and I can't do that in good conscience if I don't do it myself. And I can't honestly say I've really done that. There's an episode of Radio Free XP, titled "The Difference between Kind and Nice" where guest Elisabeth Hendrickson, who is awesome, says the following: He got upset about the way that things were going, and he was a little bit of a table pounder. [...] This was a learning moment for me, because I remember not just walking out and saying "Okay, I resign". If I reported to someone who was doing that today, my resignation effective immediately would be on their desk. There is no second chance, there is no discussion about it. Playing the tape forward, I want to tell a future kid that I'm like Elisabeth, and I want to believe it. A few months ago, I had taken about four hours out of my day to write the organization's first development container. This is basically just a pre-packaged Docker image which contains everything someone needs to work in our main technology stack, and it represented a huge step forward for the company. It'd get shipped out to dozens of engineers, and resolve all issues with passwords not being kept in password managers and debugging environmental mismatches would be trivial forevermore. I was in the late stages of this when a project manager walked up to me and told me to stop working on it because... well, just because, okay? You can't improve anything unless it's on the Jira board, because there is no room for judgement, your mood, or anything other than the almighty board. I was livid, but only for a few seconds. I defused the situation with the normal corporate move — I said something vaguely affirming about their great judgement and waited for 5PM. I didn't think too much of this, until Jesse Alford described it as: You’ve told me stories that are basically equivalent to “I was working on this until someone walked right over and slapped it out of my hand, then made me thank them for the assistance.” And that's basically what happened. I was sitting there, then someone slapped my work out of my hand and wouldn't go away until their ego was assuaged. I don't think they're even aware that this is their relationship with their peers. This was very painful to hear summarized so succinctly. So much for the "I Will Fucking Dropkick You" image, right? It turns out that, when push comes to shove, I'd let someone bowl me over like a kid in a sandbox because I know that they'd want to have a two hour discussion about it that goes in circles until I have no energy. That's just bullying via a lack of social awareness. Friends often tell me, after working massive shifts, that management would love to give them a raise but there's no budget. Spoiler alert: Budgets are just money being allocated to different things, and unless the company can't make payroll as-is, "no budget" means "we think something else is more important". That isn't even an unfair thing — not everyone can be the most important issue at all times, but phrasing it as "no budget" requires inferential steps for the employee to figure out that they're not valued as much as they thought they were. What is actually being said at an organization large enough for these matters to be impersonal is "we think you'll stay, or that you leaving isn't worth the extra money". There was the time that I generated A$500K in cloud savings then received a A$60 gift voucher despite explicitly asking for a raise. A promotion was later handed out to someone that once asked me what Python is. We're a Python shop . Those should have been my "resignation on the table, goodbye" moments, but I sucked it up for the money. I have to model better behavior than that. That's over, it's done, I have fully become my blog persona. My child shall be like unto a great hurricane that has come to sweep the world aside. This one is straightforward. I'm absolutely done watching Deloitte and their foul ilk trick people into buying junior engineers at A$2K per day to do serverless-everything for no reason. The only thing that registers with such organizations is being knifed in the wallet, where it hurts. I'm never going to be able to do that as an employee. Well, it turns out that I can reliably send my thoughts into the international IT zeitgeist, so the next natural step is to build a business into a platform where I can try to make buying MongoDB for no reason embarrassing for the right people. The scale of my disruptive ambition has gone up. At least one bad actor in my local market is about to catch a financial blade to the gut, and my company will drink their blood for blessed nourishment, then we will use that nourishment to signal to everyone else that KPMG is so bad at programming that you can eat their lunch 24/7. You are never dedicated to something you have complete confidence in. No one is fanatically shouting that the sun is going to rise tomorrow. They know it's going to rise tomorrow. When people are fanatically dedicated to political or religious faiths or any other kinds of dogmas or goals, it's always because these dogmas or goals are in doubt. I have strong beliefs about work: what it can be, what it shouldn't be, and what it takes away from people when done thoughtlessly. The sheer strength of those beliefs, in the sense that they generate force and move people, is not from my certainty. It's very much the opposite. It's because I feel that they must be true deep in my heart, but that in reality I am terrified that they are not. The distance between those two things generates incredible pressure to demonstrate to my own satisfaction, and the world writ large, that my quiet suspicions are not wrong. Rich Hickey has a lovely talk titled Hammock Driven Development . It talks a lot about how your best work is done when you have freedom to think clearly on a topic, which sometimes means hours free to lie in a hammock and process the five hours of study you just did. To me, this is the epitome of what knowledge work can be. Not because lying in a hammock is restful and I am lazy, but because having the space to think is wonderful for everyone. It deepens your thinking and is how you produce true craftspeople — and note that the downtime comes secondary to a period of hard work. Comments on his talk largely agree, but also come in the following flavours: Reminds me of how I solved some of the hardest problems I've ever worked on (all in side projects) while being on parental leave, pushing around strollers. During that time I had something of 1-2 hours at the keyboard each day, but endless hours to think. It was quite the enlightening experience, I was literally shocked how much I got done as opposed to exploring problems while writing code. But I've never managed to find that kind of focus at work, neither as developer nor CTO, neither remote nor on site. I feel I've always spent a large chunk of my time trying to get people to explain the problem they're trying to solve, to stop rushing, or to reduce scope. Tragic, really. Working for someone else makes it hard to do this often: there are processes in place to avoid developers doing anything other than finishing the ticket (for example timing the ticket and checking they did exactly what it said within the last estimate). Which is fine with me because I can save deep thinking for side projects. The frantic political rush at large companies bothers me to no end. I believe, on more-or-less total faith, that it is possible to run a business such that work is done in a sustainable fashion. I know many CEOs with sports cars, which means there is surplus that is being generated. With the right marketing and careful project selection, I think there's enough low-hanging fruit in consulting work that a well-oiled team can generate enough money to pay six people extremely well, to do thoughtful work, and to even impart some of that culture onto the organizations that work with us. I don't see any reason why, with sufficient care and discipline, we can't get a business running where a member of the team can say they want three months off, fully paid, to spend time with their children, and the rest of us can't say "Hey, that's great, I guess we're testing our bus factor for a bit. Have fun!" For a long time, I poked around the job market looking for a company that operated this way. I think they do exist, but that they largely don't need to hire. Would you ever leave such a place? This is all personal preference. I've realized that I have, sadly, picked up values that have interacted with my life experiences in such a way that employment at anywhere but the greatest workplaces is unpalatable, and no one is entitled to the fruits of someone else's labor like that. If someone has done the hard work to create a sensible, efficient workplace, why would they just start hiring people when the whole point of efficiency is that they don't need to? And really it's an abdication of responsibility, right? I want better working conditions than those offered at nearly any company for myself and my friends, and instead of trying to manifest it myself like an adult, I was sitting around hoping that someone else had done the hard part for me, and pretty please would they let me into their cool club and give me six figures of income? With sprinkles on top? That's not how you get anything that you want. A reader I was trying to find work for officially became homeless a few days ago. I know, I know, I can't solve all the problems in the world. I don't earn my living through this blog and this isn't my job. I wasn't trying to solve the world's problems, I was trying to solve one problem. So far, I've looked for work seriously for three people. One of them hasn't found a job in a few months. One is now homeless. One did find a job through me. Except I didn't actually do the hard part. Reader Corey Snipes hired my friend Ed Kachelries, a Viking-looking guy with no degree, a cheap laptop I shipped him from Australia because he couldn't afford one, and a link to Automate The Boring Stuff . Corey hired him out of pocket for a few hours per week to get him early experience, but I think it actually ended up being the best hourly rate Ed had ever had because America is an accursed hellscape if you aren't rich. When our friends and family lose their jobs, as an employee, you're usually reduced to scrabbling in the dirt. You check if your company is hiring, but they usually aren't. You ask around, but the whole market tends to go down at the same time because the industry tends to all invest in the same stupid things at the same time. If someone is hiring, they're usually not going to allow you to directly intervene in the process, because they're worried you're going to bias the process 6 with irrelevant information like years of friendship and a knowledge of their character. You just don't have the resources to actually care for people who have invoked the ire of the CFO because they had the wrong job title during the peak of the Covid pandemic. I want to put the work in so that the next time I can't help someone, at least I tried something that wasn't begging someone else to do the hard part. Of course, the hardest part of all this is that starting a business is saying that you can do better. Doing it is boastful. You're saying "the odds don't apply to me". When you have any problem with how businesses run, there's always some nerd that snidely chimes in with "Well, why don't you start a business if it's so easy?" because they're betting on you being as cowardly 7 as them. Firstly, I would encourage web developers to share stories of all the terrible apps they've been asked to work on because someone else had an idea, but the idea-haver is willing to share revenue if you do all the work. The poor numbers on starting businesses must be heavily influenced by the fact that people who start businesses tend to be doing it for reasons of personality defect. Just talk to people about what the executives are like at the typical startup. Secondly, it is terribly boring to live life in maximally humble fashion. It's fine to say you're going to do something then totally screw it up. Just do it with your own money and reputation. I've worked with so many brilliant people stuck in mediocre work situations, and when I ask them why they stay, they all have excuses that boil down to "I don't think I'm good enough". Then they go to therapy and never realize that self-esteem is built by a mixture of addressing negative self-talk and doing hard things , which is incidentally also how you build team morale. You can't talk yourself out of feeling like you never accomplish anything. Something I tell my friends before they try something that they're worried is overly ambitious is that you're only arrogant if you're wrong . I actually do have a lot of self-belief born of surviving terrible depression . Whatever I do will be easier than that, and the worst I am actually risking is having to come back here at the end of 2025, hat in my hands, to say that I've gone back to an office job having done A$0 revenue. I also have real, solid confidence in my team — which is weird to say, because it's a statement that I'm used to executives spouting off with for people that they talk to for ten minutes a year. But they volunteer their weekday evenings with me. They picked up the phone and drove hours to get coffee with me when I was sick. I've worked with all of them before, and I believe the only thing that's stopping us from doing more business is that we don't have anyone working sales full-time. As a rough rule, I wish that LinkedIn CEOs experienced a lot more self-doubt and that software engineers that bother to engage with the humanities had a lot more confidence. That's the only reason the former group runs things — the lack of thoughtfulness has made them blissfully unaware of how wide the skill spectrum can be. I haven't come across that many people in my life that have actually bet on themselves with real stakes. Probably because it's terrifying — remember that bit above about someone actually becoming homeless. I'm sitting here right now and wondering whether I should hit send on this, because I will then be publicly committed in a way that I can't take back. Aw but hell I'm just a blind man on the plains, I drink my water when it rains, And live by chance among the lightning strikes. I am mortified thinking about what happens next year. I've never done anything so open-ended. Am I going to freak out under the pressure? Will I run out of money? What if I've been so public that I can't find normal work if things go poorly? Is this all stupid, and I should just keep compromising on my principles? How snarky will people be if I haven't earned money in six months? Will paying for music classes start feeling terrible? Can I still take my girlfriend on the same sorts of dates? Will I let the team down? I really don't know. Yesterday I was recording a podcast episode with a good friend of mine, who is uprooting his entire life to move back to Columbia after a family emergency. At the very end, he reflected on his decade in Australia and the decision to move home to be with people he loves. The themes in that reflection were "I try to remember to have fun" and "This is terrifying". Have fun and be terrified. I can do that. Enjoy!   ↩ I believe the term is schema-on-read , which can mean transactional guarantees have been compromised on by a high-performance engineering team , but usually means haha I type very fast engineer very yes zoom brr .  ↩ Rich Hickey on simplicity, and both Robert Jackall and Erik Dietrich on corporate dynamics.  ↩ And anyone that disagrees with this should ponder whether they've ever told a public sector CEO that they work for that their frothing over AI is bullshit.  ↩ A reader who, over the course of our acquaintance through this blog, has chosen violence against transphobia and started her own consultancy. She has a great blog here , mostly on Diversity/Equity/Inclusion issues.  ↩ Mysteriously, I've only ever had cis colleagues, even though the companies across the street that are 1/100th the size that don't talk about diversity all day have plenty of minorities. It's almost like panel interviews are a mechanism to filter minorities out of companies under false pretenses while protecting the organization from legal threats. But that would be crazy , right? Ha. Ha. Ha.  ↩ Get owned, hypothetical person!  ↩

0 views