What is a good company?

I’ve been trying to work out what I think would be a good company to work for. Here’s what I’ve got so far. Please comment pointing out what I got wrong and missed out.

Be coo

We believe a company should be a good place to work.

We sum that up in one rule:

“be coo”

Rules

We define being coo like this:

  • Value humans
  • Be small, and do not persue growth as a goal
  • Be privately owned
  • Make something that people want
  • Get paid for what you do
  • Contribute to wider society

More detail:

Value humans

Be kind to people: all people, including your customers, your employees and your boss.

Use in-person communication whenever possible, and otherwise use live video chat. For talking about careers, performance etc. never settle for voice-only or text.

Regularly meet the people you manage and encourage them about what they are doing well. Rarely, talk to them about what didn’t go well. Sometimes, if someone is not able to do a role it is better for everyone if their role changes or they get another job. When it looks like this might be the situation, communicate clearly and honestly about it with them both before that decision is made and afterwards.

In performance reviews, gently reprimand people who regularly work more than their contracted hours.

Have a policy on acceptable behaviour, which is enforced by humans telling other humans what they did was not OK, when it wasn’t.

Do your best to employ people based on their ability to do the job. This includes not employing them because:

  • They look or sound right
  • They have spare time (e.g. don’t exclude someone because they don’t do any open source)
  • They seem like they are “one of us” or “get it”

Instead, look for evidence that they can do the job (this might include open source contributions, obviously), and that you can work with them. Being able to do the job will mean that they “get” things, and being able to work with them will mean that you can communicate effectively with them.

This is obviously hard. There are contradictions in the sentences above. Pro-actively invite feedback, accept negative feedback, and work to improve.

Be small, and do not persue growth as a goal

Growth is a stupid goal. Aim to do a good job. Aim to make enough money to pay your employees (and/or yourself) well. Aim to be the right size to do a good job for your customers.

Be privately owned

If you are owned by shareholders, you have a duty to prioritise shareholder value. This is in conflict with some of the rules, so don’t do it.

Make something that people want

You have to make something that people will buy or pay for, otherwise you won’t last long.

But, ask yourself whether people are glad that your company exists?

Make what you do something worthwhile: something that benefits people.

Get paid for what you do

If you don’t spend all day selling advertising, don’t get paid for selling advertising.

Find customers who want to pay you for the work you do. If your customers are actually benefitting from a concealed side-effect of what you do, the temptation to lie to them or fool them will be strong. (In reality, they are not your customers, and you won’t value them.)

Contribute to wider society

Give people time off to do voluntary work. Within reason, don’t tell them what that can or can’t be.

Contribute bug reports, documentation and code to open source projects you use for your work.

Donate some of your profits to good causes supported by the staff.

Rabbit Escape (a bit like Lemmings) v0.1 released for Linux, Windows and Mac

Today I am releasing the first version of my new game, Rabbit Escape.

It’s an arcade puzzle game inspired by Lemmings and Pingus, but intended to be simpler and easier to control on a mobile device.

Your task is to guide a party of rabbits from the entrance to the exit by dropping tokens in front of them that give them special abilities such as building bridges or climbing walls.

Here’s what it looks like:

Rabbit Escape

An Android version will be coming soon, but for now I’m releasing the desktop version for Linux, Windows and Mac.

There are 60 levels, and I’m hoping people will be sending me lots more soon!

I plan to write a level editor, but for now you can create your own levels by editing text files.

The game is Free Software under GPL v2, and the graphics, levels etc. are released under the non-commercial Creative Commons BY-NC-SA licence. The choice of a non-commercial license for these parts is intended to prevent people copying the game wholesale onto an app store and making money from it. If you want to use it under a different license, please contact me.

I plan to charge the minimum price on the Android store, and offer the desktop version for free (providing an opportunity for donations).

Please try it out and let me know how you get on. It’s a bit rough around the edges, but the game mechanics work, and it seems like it might be fun.

If you’d like to contribute, I’d be very excited! You can find the code at github.com/andybalaam/rabbit-escape.