I've mentioned that I'm starting a company with friends - no, this isn't a plug for us. The name of the company won't even be mentioned. We now have five engineers on board, one being a 15-year industry veteran, though we're all working on it part-time. Without getting into the details, I've had a very easy time succeeding in the tech industry despite moving to a country with no network and decent programming skills at best - I've done a few things that are supposed to be hard, like getting a job without a permanent work visa, within about an hour of trying, after carefully building a model of how the job market works.
People are bad at looking for work, but they keep trying the same steps over and over. I see that, despair for them, but that doesn't stop me from benefiting. Similarly, when I see people tank their software projects day in and day out... well, that seems like opportunity to me.
I'm now taking my hubris to the next logical step, and will try to seize the means of production for myself and my friends. As I've mentioned elsewhere, I have an absolute commitment to not monetizing my blog. It is literally impossible to host ads on Mataroa, the only analytics I have are "numbers of viewers rounded to the nearest thousand per day", and even that is flushed every thirty days. I'm writing here because if I can reliably find an algorithm for generating, say, 150K in profit per person in a small team, that would be a wonderful thing to document. And I fail, well, that's useful too.
It might help to get into why first.
There are a few layers to this. At the very baseline level, I'd like to work with a team that operates more competently, because incompetent operations make the work unpleasant. I had the fortune of talking to David Gerard this year, who was absolutely delightful and gave me some hard-earned life experience - a lot of work is work, but "the minutes can't be miserable". Incompetent work is miserable for some people.
Secondly, I've been asked why I don't go work at Netflix or Amazon - despite my skills not being that refined, I don't shy away from hard work when there's a reward for it. The reason I don't do it is that I don't care about the work there at this stage in my life. There is a (long) video from Primeagen where he talks about how he spent a year of his life getting episodes of Black Mirror to appear in a different order at the behest of Netflix management, a feature that many people seem to have interpreted as a bug. A year of his life. Brother, that is a fucking episode of Black Mirror. I don't have it in me. Work, competent as it might be, isn't enough for me if it is that unaligned with my values. Don't confuse this with it being bad work - if my man is happy, he's happy. It's just not for me.
Thirdly, something that always bothers me with software is this idea that you have to keep building. It's crazy to me. It's extremely unique as a field in that the computer does all the work. It seems to me that the goal with most systems should be to refine them into a razor edge (which, admittedly, is a task that never quite finishes) and then just stop. Let the machine print the money. If you wisely decide that you don't need infinite money, then you can just... stop. I'd like to build things correctly with my friends, and leave it at that. Some people must need a good job done, and then they're happy as long as that thing just keeps working flawlessly with good customer service.
I requested a feature change for Mataroa once, this blogging platform, and it was done within about 15 minutes. That's what you can accomplish by doing your operations correctly - this blog platform does more traffic than any all but two systems we have at work, and it seems to mostly be kept running by three chads scattered across the UK and Germany.
Some people have suggested finding a company that already operates this way, but the simple truth is that they're probably few and far between. The uglier truth from my experience is that most tech companies seem to be started by some extremely distasteful personality types (not all, most). And once you've gotten it working, the temptation to make yourself richer overwhelms those personalities. Plus the nicer people don't want to scale forever, so they're a rare breed of person that doesn't have a reason to hire tons of people. And for the others - I spoke to a lot of executives (none self-made, all "ladder climbers") about starting a business, and almost every single one started advising me on how to get VC money immediately.
Fuck VC money, that's just a job with extra steps. I have a soul that I'd like to keep, thank you very much, we're going to bootstrap. In other words, cowabunga it is.
And in the same vein, I could wait for someone else to set up a business that runs in a way I find spiritually acceptable, but that doesn't sound like the right way to take control of your life. "Wait for someone else to do it then see if they'll take you." I've never accomplished anything I'm happy with that way.
II. Exploiting Inefficiency
The easiest way to pick up wins is to find things that people are doing nonsensically for no reason and then eat their lunch. I spent a lot of time worrying about this early on - surely people wouldn't do things stupidly for literally no reason with millions of dollars on the line. Markets are at least sort of efficient!
Then I saw how government contractors work. Some markets are efficient and software doesn't seem to be one of them. The thing is that no one seems to have figured out how to commoditize good engineering and being a good person. I mean, even in my case, those engineers working with me? That's years of patient friendship and honest communication culminating in an opportunity. I taught one of them how to program when he needed to both move states while supporting his newborn kid, and I removed the other from a very toxic workplace to a life of Zen prosperity. And we're still going in as equal partners, because we're friends. I couldn't scale that no matter how hard I tried.
A lot of the competition has beautiful PowerPoints, but they can't forge a human connection worth a damn. In the world where everyone is corporate, the person that acts like a human is king/queen. My plan is very, very simple. What if we just... don't write shitty software, treat our customers fairly, and run a tight ship? There aren't enough people doing this to saturate the market. The reason that doesn't sound innovative is precisely because it isn't an innovation - it just doesn't scale, so I think it's a formula that isn't talked about very much. I suspect it has a high success rate. I received this in an email from someone that runs a business, and can't stop thinking about it:
The key to a solid career seems to be at the intersection of being likable and reliable. The key to being incredibly successful is to win the lottery with a novel idea AND execute it in a way that is likable and reliable.
Well, we don't need to be incredibly successful, and the first two steps are very easy. It isn't that hard to be nice to people, and the nice thing about reliability is you get there by turning up every day and being honest. Very easy if you aren't incentivized badly. There will be plenty of clients that want to be lied to, and they can always pick Deloitte if they need that. There will be others who want some nice people who really care about making them happy, and it may be the case that the market is too small for that... but I don't think so.
I'm working with the people I've recruited on developing the slickest operations you can imagine for developing and maintaining applications (we could probably skip this step if we had some Amazon experience), then we're going to bid on a few contracts that come with recurring licensing fees, and regardless of how nice the Deloitte presentations are, there's already a playbook out on how to bully those grifters into submission. Plus one of the guys on the team has already had a very successful career as a solo consultant and believes the plan is workable, and three of us in total have adequate sales skills.
(I've actually worked sales before. Forgive me.)
We will be competing with many enterprise vendors for most contracts, but most of those vendors have a single product that can be "configured" to match any company's workflow. This means that they mostly suck. Because we aren't planning to scale, we can pick on these groups by just building some specifically for each client, and with similar stacks, we can run maintenance in very similar styles. Most of these applications will never see more than a few hundred queries an hour. Five actually good engineers feels like an overwhelming amount of firepower to have at our disposal.
I know it probably won't turn out this easy, but let me register some predictions for the year, and then I'll keep everyone posted on how we're going every so often.
To reiterate, I'm saying that it seems to me that there aren't nearly enough teams for hire that can just get the job done without making a huge mess out of it, and as long as we compete on the grounds of building exactly what a company needs in a way that is maintainable (i.e, we'll actually test our backups unlike the average sad competitor), we can work for ourselves. My predictions for 2024 are:
- We will generate enough revenue in 2024 that at least one of us will be able to leave their day jobs entirely. The revenue may not be a recurring licensing fee as would be ideal, but it should be from a client who is happy that their software is getting delivered on time for a change, and that everyone is happy with it
- We won't need to work anywhere close to 9-5, because we don't have constant communications overhead
- We will have a contract by March 2024, paying at least AUD 30,000
- I won't have to miss a single session of any of my hobbies over company-related issues
And some lesson important predictions:
- After our current experimentation, I suspect we will be building in one of Elixir, Clojure, Kotlin, or possibly Rust. I can't imagine Python winning out even though it is my area of expertise
My strange personality means that many of the things I do have very little to do with the money or status, and a lot to do with ensuring that I'm not crazy, and there really are just a whole bunch of super easy, obvious advantages that people aren't picking up on for some reason.
That reason (it isn't a good experiment if it isn't replicable by people without blog readerships!), and because I've sworn that I will never monetize this blog in any way is why I haven't immediately posted the company name to get traction. The only thing I am actively soliciting is advisors, with the understanding that any lessons learned will be made available for the benefit of anyone that wants to take the same path. If you've got a specialty and would like to make yourself available for casual conversation on issues (for example, we've got a security specialist off this blog) to form a corpus of advice, as always, you can reach me at firstname.lastname@example.org.
I'll be out enjoying nature this weekend, but I'll be back to writing and replying to emails soon! Thanks for reading!