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.
We believe a company should be a good place to work.
We sum that up in one rule:
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
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.
2 thoughts on “What is a good company?”
Really interesting article. Do you mind if I circulate it in our company?
(I got here after watching your videos on YT about Scheme, they are really good. I’ve never really understood why you would bother with lambdas in C# but now I do!)
John, thanks for the kind words – please do circulate it wherever you like.