Thoughts on Medium-Sized Companies

I was going to go ahead and do a decription of medium or large-style companies I've worked for, and talk about experiences and whatnot, but I think it's gotten old already in my brain, and I also still work for one or more of these companies, so I'll leave it out.

I wanted to talk, though, about some general fallacies of working in a medium-sized company. When I say 'medium', I'm talking about a company with a few hundred engineers. However, my main tipping factor is that a medium-sized company is one that has a dedicated recruitment department, and that has a large enough organisation such that more than one team can be working on the same or a similar thing at a time, without it being blindingly obvious. This is the important bit, we'll get to that.

Competition is Good. Duplication of Effort is Good. Failing is Good.

Competition is good, and this applies internally. Some of the most rewarding projects I've worked in internally were ones where I could talk to a co-worker about it, and have them say "Oh, well project Xarnypoopalinger does this too". It means you have an actual incentive to get the job done well, as opposed to just done. Obviously this doesn't mean that you launch two versions of your online widget, but it does mean that you should at least tolerate the fact that there's more then one web toolkit, IDE, etc that people can use, and i the end, the result is what matters.

Low-level APIs used internally become as integral a part of the methodology as IDE and method of programming used after a while, and people are people. Making informed decisions based on data begins with having that data, and a lot of the time, you gather data by failing.

In his last lecture, Randy Pausch said "Experience is what you get when you don't get what you want". The collective experience of a project that failed because you tried something new doesn't mean that idea will never work. It means that you tried something, failed, and you know that the other way of doing it (because you're trying more than one thing at the same time, right?) will work out better.

That, and it is in the nature of humans to be competitive. We work best under duress, and under the shadow of a competitor or bogeyman, no matter how friendly or even unstated the rivalry.

Also, not absolutely everything in the company has to be making money. If it's going to stick around for a few years, it'd be nice if it wasn't bleeding money away too hard, but in general you should plan to have a nice balance of bread-and-butter, and batshit insane. Google, for example, uses a 70/20/10 split of stuff that makes money, stuff related to stuff that makes money (or enables it to) and batshit insane. It doesn't have to be that explicit in its aim, of course.

You Can Impose Culture, But You Probably Don't Want To

By this I mean two things, of course. The No Asshole Rule is a decent read on how even one employee can sap the energy away from 50 others (I've seen this happen myself), but I'm also talking about setting the direction of the 'company culture'.

Engineers are, by nature, pretty cynical people. If you have an offsite that's fun and decent, they'll go on it. They may even have fun. However, there will always be some who won't go on it. This is a solemn fact of life. Some people just aren't into corporate team-building. It doesn't reflect on them in any way apart from how they're not.

Similarly, your average good employee will know when they're being led. Sitting in a focus group and trying to direct the corporate culture does not work. Here's why:
  • People know when they're being railroaded.
  • Culture is self-perpetuating and cannot be directed by fiat.
  • If your complaint is that everyone's being an arsehole, then you work in an office full of arseholes.
Office culture is just that -- it's an amalgamation of the personalities of the people who are there. If you find yourself in a situation where you don't like where the 'culture' is going, then you don't need to fogure out more effective ways of managing it. what you need to do is identify why it is you think the change is unacceptable, and try to do something that fits with the culture as it is. In the vast majority of cases, your reasons for wanting to effect cultural change will be personal in nature. You want people to be like you.

So, if your office is full of lazy slobs who work hard, but never leave the office, then stop patronising them and buy them some fucking donuts, dummy.

The best thing you can do for a group of people is to give them the freedom to define their own boundaries, so that as well as building the product, they build the culture, the standards, the lore, and the dynamic around it.

That's all for now. I'm not sure what I'll write about next when it comes to the workplace. Perhaps I'll actually think of something else to write about. Stranger things have happened.


And when the rain falls down, it Feels Like A Holiday

I'm off work this week, mainly to take advantage of how I have Paddy's day off, and to better exploit the upcoming short weeks (i.e. the two 4-day weeks in a row around easter).

Much and all as it's my job to make nice with folks these days, I'm still one of these at heart, and every couple of months, I need a week or so of 'cave time'. Any plans I make during this week tend to get blown off, because the allure of just spending time with myself is pretty non-obvious and strong.

I used to travel during these weeks, but as the amount of travel I did with work increased, I found it more and more draining to do the airport thing on time that's supposed to be my own (I'm pretty possessive about my time at the best of times). I travel half-way around the world every three months or so, so that's quite enough for me, thanks.

I had some leadership/management coaching recently which changed my mind ever-so-slightly about personality profiling and suchlike. I think a lot of folks who poo-pooh it just haven't been exposed to enough people. It's only when you spend enough time with someone who's fundamentally different from you that you realise that these profiles are sometimes actually accurate. Most of the time, people eschew people who are radically different, which gives them the assumption that everyone is like them. Also, people hate being put into boxes. I know I do.

However! I do think that stuff like MBTI can be a little dangerous if used incorrectly. It certainly shouldn't be used to assign people to tasks, deem people suitable for jobs, or anything of the like. It's a generally useful means of dicovering the general type of person someone is. If someone's an ENFP and someone else is an INTJ, you're not going to be able to make value judgements based on their abilities. It's also really really hard to truly fake the personality of someone with a radically different MBTI than yourself. It's not just a case of putting on a loud, perky voice and asking people how they feel. It's a profound change of how your brain works when it comes to other people.

MBTI is also no indicator whatsoever of your ability to do anything or not. It's about as relevant as blood type. What is is useful for is as a mind exercise when managing -- if you categorise people (okay, if you psychanalyse people) and bucket them based off Meyers-Briggs' handy shorthand, you get a better idea of styles you can use to better motivate and get through to a person. However, it's no replacement for intuition. The best managers Just Know.

I feel especially subject to categorisation this week, of course, since I'm doing a stereotypically introverted thing. Your mileage may vary, not valid where prohibited.