Tuesday, September 04, 2007

Observations from 10 months at a strartup

via Tortoise and Achilles
 
Observations from 10 Months at a Startup

I have been working at a small California software startup for the past 10 months. Approximately two months before I joined, the company obtained 8 million in venture capital. In the past 10 months, I've seen 4 million of that burned away to little effect; the company size shrink from 25 people to 7; and the entire management layer replaced, from CEO to team lead; I've seen 4 valuable and skilled hackers leave of their own accord as a direct result of personality conflicts, and have seen other workers laid off; the first version of the software failed completely, and a second attempt is underway, launching in September.

This is a brief, anonymous post about some of what I have noticed during my time here. I come from a technical background, and am strongly interested in startups. I joined my present company seeking to experience the fabled startup life. These observations come from my present company, mainly regarding the management of the startup. My current job is the first startup I've worked for after my time as a comp.sci undergrad, then research student at various labs.

My notes comes from my experience in a single startup, a very small sample pool. I don't pretend what I write applies to all people or startups, and I would love to hear any thoughts or feedback about these ideas. No doubt my own personal biases come through in all of these notes, I'd love to have them pointed out.

My position: I started out in the company doing web development (JS, CSS, HTML). As the then-server-team left, I gradually took over the bulk of backend duties. I have installed and maintained the company's Linux app and database server clusters; Amazon EC2/S3 integration; and its RIA backend/event model/integration. I daily program in Java, Actionscript, Ruby, and Javascript; occasionally in a few others. I consider myself a skilled hacker, and I believe those who work with me would agree.

Observations at a Startup

  1. Some people will just get something done; other arrange a time for the team to discuss it.
  2. Losing employees is a large productivity drain on the remaining employees. Morale is vital.
  3. Venture Capitalists will take a heavy hand in corporate affairs, replace people often, without ever having met the development team, or understanding the effect on morale.
  4. Be wary of marketing people who don't back up their recomendations or plans with numerical evidence. The marketing industry is a hive of snake-oil sellers, and it rubs off on nearly everyone involved.
  5. Patents are primarily marketing. Venture capitalists like to talk about them.
  6. If a CEO is too cheerleader-like, employees will stop taking him or her seriously. If there are problems, the development team wants to hear about them, hear viable solutions, and walk out of the meeting feeling inspired. That's a tough job, but it what a CEO is paid to do.
  7. Management will talk about loyalty, but freely fire people; loyalty is supposedly valued, but never specially rewarded, leading to heavy skepticism of management whenever the word is used.
  8. Managers are under high pressure for deadlines; especially if they have no technical abilities, and thus have no control over the situation. Having no control always, in any situaion, will result in heavy stress, and likely a resulting interference in technical matters they don't fully understand, and lead to anger. Hackers should understand this, and especially managers themselves should. I've personally seen such behaviour result in two good hackers leaving a small, 6-person development team company.
  9. Good leaders must be emotionally stable at deadlines. They cannot ever act panicky or lash out at team members without seriously harming the productivity of the team. They should be serious and positive; off-hand comments that insult people will be remembered, and I've seen repercussions happen after six months. Everything has a cost.
  10. I've come to believe any leader of a technical project should have a technical role in the product. As in, writes code.
  11. A CEO or management officer without technical abilities should never hire a technical manager because of his supposed technical abilities. Ask the development team for advice.
  12. Anyone bullshitting about technical abilities they don't have may gain temporary status points; a month later it will earn you contempt from everyone who knows what they are doing. If you don't have a technical background in something, don't try to pretend.
  13. Venture capitalists don't understand technology, even those investing in software startups.
  14. Beer is an underrated tool in software development. The after work beers have gone a long way in maintaining team morale.
  15. Having an off-site CEO is a bad idea in a small startup. Try your damnest not to create a management vs. development dichotomy -- something that is all to easily done. It hurts everyone involved.
  16. Even technically strong people don't necessarily work efficiently. I've seen people who are technically excellent, but don't focus on the right problems, and get less done because of it.
  17. People who read a lot of books, both fiction and non-fiction, are usually very good at whatever they do.
  18. Dedicated job titles lead to hands-off attitudes, and often resentment.
  19. Good hackers won't put up with most of the above, and leave. The good hackers who don't leave will lose enthusiasm and trust in the company, and be far more likely to leave in the future.
  20. People who are good at the Unix command line are worth their weight in gold. Not Gnome users, true command line hackers who understand grep, awk, Perl, etc, and how to tie them together and get things done.
  21. Management mind-games don't work. This is especially true in a small, close-knit startup group.

No comments: