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 metadata2. 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.
I. Appearances
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 topics3. 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".
II. Living In Reality
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 organizations4 even require the suppression of any internal reality that conflicts with the organization's reality. Iris Meredith5 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.
III. Self-Respect
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.
IV. Sweet, Sweet Vengeance
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.
V. Beliefs and Responsibility
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.
Or:
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.
VI. Community
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 process6 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.
VII. Confidence | Arrogance
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 cowardly7 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.
VIII.
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.
-
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! ↩