The end of Happy Bear Software

2018-12-02 - 3545 words, approximate reading time: 17 minutes

Screenshot 2018-12-03 00.31.51

Almost fifteen years ago, I started practicing Kendo, the Japanese art of the sword. It sounds a lot more profound than it is. It is essentially a stick-fighting game with cool-looking armour that involves a lot of stamping and shouting, with a vague tangential connection to how Samurai used to practice swordsmanship hundreds of years ago.

One of the key concepts in Kendo is that of ki-ken-tai-ichi. That translates to something like “spirit, sword, body, as one”. This is exemplified by the sword connecting to its target, your foot stamping down as you lunge forward, and you shouting at the top of your lungs, all in unison as you complete a strike.

To a bystander the shouting might seem unnecessary but it serves a useful purpose while sparring or in competition. A strike in Kendo requires commitment. It requires commitment because as you strike, you leave yourself vulnerable to pre-emptive attacks, parries, sidesteps, counter-attacks, an arsenal of responses to any one of a huge number of potential flaws in your technique. You know this going into your attack, but you commit to the attack 100% anyway because otherwise it has no chance of connecting.

The shouting, the “kiai”, is how you tell yourself that you’re committing. It puts your spirit into the strike. It serves as a psychological signal to yourself and everyone watching that you’re about to cut the other guys head open and you fucking mean it.

I’d been pacing back and forth around my laptop for around eight hours. I’d made the decision to end Happy Bear Software about twenty hours earlier, after almost two weeks of deliberation. But the rubicon, the point of no return was telling the employees. Once they had even the slightest hint of the company ending, then there was no going back.

There were other paths we could have taken. It didn’t need to end that day. I could have asked everyone to take a pay cut, I could have borrowed (even more) money, we could have laid off only half the staff and made a go of growing back once we had more sales.

But every one of these options seemed inadequate, like I was trying to avoid the fact that this business with me running it was fundamentally unsound. If it was only me this effected then I could have kept going, but I didn’t want to further dick around with my team’s careers.

More than that, I was emotionally exhausted from running the company, in a horrendous financial situation, and couldn’t remember even once enjoying operating this business.

But I couldn’t press send on the email. Internally I was clear about the decision, it’s what I wanted, both rationally and emotionally. I felt no shame in it, because business is hard, and this was my first ever business. The kids were in kindergarten, and Mamiko was out, giving me the house to myself. And the email was ready to go, I had written it, edited it, checked it and double checked it to make sure it was clear in both it’s informational and emotional content.

So I did what I’d been trained to do. I took a deep breath, shouted at the top of my lungs and clicked ‘Send’. Japanese walls are thin, thankfully the neighbours were all out. But the deed was done. I felt both deep remorse that I’d just put my entire team out of a job, and immense relief that I was finally going to be rid of this business and move on with my professional life.

I started Happy Bear Software in 2012 as a vehicle for my personal contracting activity. By 2018 we’d grown the team to eight developers. I ended operation of the company in late 2018.

In our best year we made almost half a million pounds in revenue. We worked with startups, government, and multi-national companies. Our team passed the Bechdel test in our second year of operation, and was by far the least gammoni software development team in existance. And we did the whole thing remotely, with developers on all continents except the poles.

The achievement I’m most proud of is that we launched the careers of four or five developers, at times completely from scratch, and they’ve all gone on to be extremely successful in the industry.

In the seven years I spent running the company, I gained a massive amount of weight (70kg in 2012 to max 110kg in 2018), developed an (albeit manageable) drinking problem, experienced huge mood-swings, had the work negatively impact my relationship with my wife and children, and spent countless sleepless nights worrying about how to make payroll. We never once missed payroll, but it required a great deal of financial acrobatics, usually ending up with me personally footing the bill.

There were good and bad things about running Happy Bear Software, and any account of what it was like has to give at least equal weight to both.

In his book “Anything you want”, Derek Sivers equates running your own company as being akin to creating your own kingdom where everyone has to follow rules that you’re free to arbitrarily create. As long as it’s financially viable and they don’t leave, you can choose whatever rules you like and answer to no one.

This idea was hugely appealing to me. This meant that I could take all of the things I’d learned in the industry up to that point, all of the things I had to complain about, and do the right thing instead. And as far as running a development team, this worked great.

If there was a process we needed that would help solve a problem, I could implement it immediately. If there was documentation that needed writing, I could write it myself. If I thought that our onboarding process needed work, I could spend time on improving that. And I did! And we got really good at those things, and we reaped the benefits. Our wiki is packed full of information on how to do the best possible job an agency could hope to in making development clients happy.

The central problem of Happy Bear Software and it’s continued survival was that it was fundamentally an unsound business. That and the fact that I lacked the skills, knowledge, and perhaps the volition, to make it sound.

Celestial mechanics has the concept of Lagrangian points. These are points in space relative to two bodies (e.g. the sun and the earth, the earth and the moon) where the gravitational forces of the two bodies cancel out. For any two-body system, there are five Lagrangian points, labeled L1 to L5.

563px-Lagrange points simple.svg

L4 and L5 are said to be stable, that is, if the object moves out of one of these points, it will naturally move back to that Lagrangian point. Moon-Earth L4/L5 are for this reason, excellent locations for a Lunar space station. You can visualise this in 2D as a ball at the bottom of a valley. If it rolls a little bit up either side of the valley, it will roll back down to the bottom.

L1, L2, and L3 are not stable. If an object moves out of one of these points, then it will continue to move away from the point, potentially into the orbit of one of the two bodies. This is perhaps why satellites placed at the points require propulsion systems to keep them in position. You can visualise this as a ball at the top of a hill, one small move in any direction and the ball rolls down the hill.

It always felt like the businesss model of Happy Bear Software occupied one of the unstable, L1-L3 Lagrangian points. To much business and not enough developers, and we were unable to take advantage of the upside when probability was in our favour. Too many developers and not enough work, and it would be a financial bloodbath that took years for us to recover from. It felt like the only thing keeping us on the top of that hill was my appetite for risk and my diminishing mental health.

This is unlike say a SaaS business with predictable recurring revenue and a model where payroll costs don’t go up linearly with revenue. To me, that kind of business sits in one of the trojans, in terms of long-term viability and perhaps potential for growth.

If I had found a way to get us a predictable number of new leads every month, we would have had a fighting chance at surviving. I wasn’t able to to develop those skills at marketing while running the company, and this ultimately lead to us closing shop.

One of the high points of running Happy Bear Software was training new developers. I find building programmers to be a lot more fun than building programs.

My attitude to training was that I didn’t want to explain anything twice. If someone asked me a question and I thought this would be a question we’d get asked again from an apprentice developer, I wrote the answer up in the wiki or as a blog post.

By the end this meant that I did barely any direct one-to-one mentoring. Instead my approach to training was to provide plenty of useful content when required, create an environment where apprentices were encouraged to ask questions, make apprentices shadow seniors on the team, and give them ample opportunities to grapple with difficulty technical problems from day one.

Ultimately, I feel like this approach worked. Our new developers picked up essential skills, and our senior developers all grew in agency, knowledge, and confidence before they left Happy Bear Software. I feel like this is the biggest success of me running the company, and it’s about the only thing I feel truly proud of during my time operating it.

There are at least three things that we’re talking about when we talk about “management”. The things come with different names, but the spheres of activity have to happen in a professional work environment.

They are:

  • Admin - does the new hire have a laptop with their google account set up on day one?
  • Company goals - are we going to complete the project we said we would in Q2?
  • “Pastoral care” - the skills development, career track, and emotional wellbeing of each individual employee

Of these, the third, the “pastoral care” was something that I was fundamentally unprepared for. I’m still unprepared for it. I’ve barely scratched the surface in dealing with my own issues, and I had no idea how much emotional labour leading others was going to entail.

More than one of our alumni had nice things to say about my management style while running Happy Bear Software, but this was likely because I was up-front about how unequipped I felt in the role rather than any real demonstrated skill.

For any of the impacts that Happy Bear Software has on the world, as the founder, CEO, and commander in chief, I adopt a strict liability for all of it. This means that I can take pride in the unintended second-order outcomes of the company existing (e.g. an employee is able to start a family because of the salary we pay them). But that also means that I have to take responsibility for all of the bad unintended second-order outcomes too (an employee ends up in therapy because they had to work with a shitty client).

Have a look at this screenshot of our our team at the end of the company:

Screenshot 2018-12-03 00.06.15

By the conventional definition of the term, this team has always been more “diverse” than the average development team. For this post, “how we did that” or how it happened are somewhat irrelevant. Here’s a short list of some of the incidents that we at some point had to deal with:

  • Clients changing requirements on an hour-to-hour basis, getting upset when every whim wasn’t met and reducing the most stoic of our senior developers to tears.
  • One of our women developers being cornered by four male developers from the same company on the train home, and made fun of for being a woman in tech.
  • Our employees being physically manhandled and aggressively harassed at drinks after tech events, on multiple occasions.
  • Our women employees being almost kidnapped by taxi drivers on the way to conferences.
  • Our women employees constantly having to explain to everyone at tech events that they are in fact developers.
  • Our clients assuming that all of our women developers are more junior than our male ones.
  • Potential clients outright rejecting developers on our team based on their country of origin.
  • Highly toxic work environments at our clients, with excel spreadsheets full of documented incidents.

All of these things happened under my watch, so I am ultimately responsible for them. When it comes down to it, even though we worked remotely, I was unable to provide the employees of Happy Bear Software with an emotionally safe environment to work in. When I think about all of this, especially write it all out in one place, I feel a great deal of deserved shame. It’s true that all of this could have happened to my employees at someone else’s company, but that’s not the version of reality we live in. It happened to them at mine.

Managing these events, dealing with the fallout, and aggressively taking people to task for them was not fun for me, at all. I can’t complain that much, because living through them will have been much worse for the team than it was for me. But it required me to go to places, to channel levels of patience (and sometimes ruthlessness) that I don’t really ever want to have to again. I learned a lot about consequence-lead conflict resolution through these incidents, but it took a heavy toll on me, and I’ll be glad to never again have to deal with incidents like this.

Many people shout about the benefits of a diverse team, but for this business, it was probably counting against us. We would probably have been more financially successful as a team of straight white anglo-saxon male developers than we were with the broad slice of humanity we ended up with. As much as we could control for our own cognitive biases, most of our clients would demonstrably have been much happier with team-members that fit their unconscious profile for what a “real developer” looks like. That and we would have had to complain far less about incidents that would ultimately lead to us losing clients.

It turns out I’d rather shut the business down than do that though, which is more or less exactly what happened.

For clarity: the reason that Happy Bear Software shut down was because of my failure to establish a consistent source of viable leads for the company. The fault is mine alone. No one shares the blame there. If we had a consistently bubbling pipeline of new work, tons of repeat clients and a sensible marketing strategy to keep that going, we’d still be running and I wouldn’t be writing this post.

Without those things, on a long enough timeline, HBS was destined to fail sooner or later. But how it happened was a short, sharp summary of everything that was wrong with the business, of all the bad things that everyone involved had to go through during its operation.

From mid-2017 through to most of 2018, most of my focus was on moving my family to Japan and the business suffered. We had a few client projects going, enough to keep the business running and put a bit of money aside, but I wasn’t putting in the time and skill to build our pipeline and so we ended up with very little new work. We had one client though that was apparently very happy with our services, and had booked out three of our team for almost a year at that point.

The client was problematic from day one. In my first sales call with them, their founder automatically assumed that all of our women developers were junior to our male ones. We ended up having to open a file about how many incidents, large and small, made the place toxic for any of the women we put on the team.

Over time we took them to task for all of this. We registered complaints as incidents happened and made it clear to them that for us to continue to work together, they would have to address these issues. We offered to support them in e.g. documenting their outlook around these issues, addressing their almost non-existant hiring process, and otherwise making the team easier to work on for a broader slice of humanity than they were perhaps used to.

This was precarious for us, because walking away from this client would mean that we wouldn’t have the revenue to make payroll. But ultimately, I’d rather not have a company at all than have one where I’d force my employees to work in an environment like that. It appears the universe called my bluff on that one.

While the environment on that team was perhaps better for a while, things eventually came to a head when one of their internal team started posting holocaust memes in their slack organisation. At that point we made it clear that it was either that developer or us, and while the ended up firing that developer, it felt like they didn’t really know why they were doing it.

One problem that Happy Bear Software, and any agency like us, has always suffered with is that of clients hiring away our developers. Many agencies have clauses in their client services agreements that say that clients aren’t allowed to do this.

I’ve never felt that such clauses were in alignment with our values. If our clients give our developers a better working environment or career progression than we do, then I wish both of them all the best. It should also in theory deepen our relationships with our clients. Our developers were, generally speaking, happy about their time working with us, so in theory should end up being good advocates for HBS wherever they end up working.

The downside however is that we lose a developer that knows the HBS way of doing things, and we lose the revenue we would have been receiving billing that developer out to that client. We could survive that happening maybe once every six months or so.

The client had already hired away our most senior developer, an obstensibly white male. Unbeknownst to me, they had also hired away the only other white male on our team. I bear no ill-will towards either of them. However I do feel that it was a pretty fucking hysterical coincidence that of all the developers on our team, it was those two they ended up hiring.

With that developer accepting their offer and subequently the revenue from that client no longer coming in, I looked at our financial situation, made a few projections, and determined that there was no good reason to believe that we’d be able to make payroll in two months without a huge uptick in work, and even then it would be tenuous. It was there that I took the decision to end the company, and began emotionally preparing myself for everything that would require.

It’s now December 2018 and I believe that everyone that was on the team is safely into their new employment. I have a fairly good idea of what I want to do next in my career, but right now I’m not aggressively pursuing those goals. I’m freelancing for three or four days per week and that’s taking care of our expenses.

What I’m really focusing on right now is piecing myself back together. I’m living in Japan now, which is for many reasons, a much better fit for me than living in the UK was. I’ve dropped about 13kg since moving here. When I’m not injured or sick, I’m practicing BJJ three times per week, and I’m having real, unbridled fun while doing it.


I’m sitting down to eat meals with my family, and enjoying watching my kids get adjusted to living in Japan. I’m making slow but steady progress on my relationship with my wife, which unfortunately didn’t get through two kids and a failed business unscathed. I’m going out to socialise with people without it being for networking, something I haven’t done for almost a decade.

Writing this out is mostly for me to tie a bow on the experience of running HBS and the unpleasant way it ended. I had to write this before I’m able to move on and do whatever it is I’m going to do next, taking everything I learned running HBS and hopefully putting it to good use. It was a hell of a ride. I ultimately have more regrets about the business than I do points of pride, so I can only hope that whatever I do next in some way makes up for it.