Tuesday, November 18, 2008

Small companies are awesome.... sometimes

I've wanted to write a post on this for a long time. There are many reason I've wanted to write this piece. I believe that knowledge should always be shared, and a blog post is a great place to do it because it becomes easily searchable and it's easy for people to leave comments about my particular methodology.

A blog is very commonly most people's online resume' now. While some of the posts on this blog are more humorous and comical in nature, and some downright offensive, I believe that by representing myself as a regular person and not hiding behind the veil of a "professional" website is simply more honest.

As Director of Technology for a small game developer. I am sometimes asked, "Would you ever want to work anywhere else?" or "Don't you want to work in a big corporation?". I can honestly say. The answer is NO. I think the only position I would ever want other than this is Microsoft Windows Product Manager, because while I love Microsoft Windows, I think they have seriously lost their way and are at this point fixing things that aren't broken and seriously affecting the usability of their operating system. But anyway, I digress. Working at small company may not be as "glorious" as working at a big multinational corporation, and some may say, not as difficult. I think that it presents it's own unique set of advantages and disadvantages.

Agility. Since the size of the company is small it's very easy to make changes in internal processes. I've always subscribed to the opinion that you want to least amount of overhead to get your job done. If your current process has too much overhead or cumbersome. It's easy to change when your company is small because it's not very many users to reeducate. However, one must take into account that not all systems are easily changed. Take for example a bug base. Once your users get used to using one, getting them to change to another is actually quite a difficult task. So one must always plan ahead at least a couple of steps. Sure, your company may only be 25 people right now. But you want to be able to scale to 100 and keep the same processes going.

Communication.  Lines of communication are much more open in a small company. You're not seperated by layers and layers of management. Everyone knows everyone, and there a lot less hierarchy in your structure. I feel like the company structure is pretty flat, with everyone performing their roles, with no one role being more important than another. This is of course my opinion only, some people strongly believe in a hierarchy. As such, I think that each individual team is like a skunkworks, only as much management that is necessary for it to function as efficiently as possible. Some teams require more, some teams require less.

Money. It's hard to come by, so you have a lot less to spend. But because of that you learn to be REALLY efficient, and come up with very creative cost effective solutions. Which will lead me to the second part of my series. How to run your business on purely free/open source software. It should come within a few weeks.

That's all I can think of for now.

No comments: