Tuesday, December 22, 2009

Self funded startups vs. established businesses - challenges and advantages

Startups have limited technology assets. Their goal is to implement an idea, whether it's product or service, in a shortest amount of time, with limited resources and minimal budget. Decisions are made quickly, no red tape, everyone works towards a common, short term goal and understands the risks of working in a startup environment.

Established, large businesses, have variety of existing technology assets. Their goal is to have better exposure in the market, better service their customers and continuously (usually slowly) enhance existing product or service offerings. Decisions are made slowly, lots of red tape, people just do their job and usually take employment for granted (though it varies depending on economic and market conditions).

Ok, maybe I am simplifying it a bit, but overall, above statements are accurate representations of my experience with startups and large companies.

Technology departments in startups are either very small or non-existent. In a technology startup, one of the founders is usually someone with technical background. He tends to be hands-on and does as much as possible on his own before hiring other technologists. The times of "show me the business plan and I'll invest 5 million dollars" have long gone. "On a shoestring" is the new era. Hiring cheap labor and discovering that they did not produce expected results in 3 months is usually fatal for a startup (large companies do this all the time). Startup companies have to be agile. For things to get done fast and right, startups must only deal with technologists who possess niche expertise and have solid experience developing similar solutions. It is not unusual to have a team of "star developers" in a startup. Technology team in a startup never idles. Developers often work 12 hour days for several months in a row. The possible rewards are obvious. If startup is successful, everyone gets to be a part of this success, both professionally and financially, especially the first 10 or so employees. People feel proud of their accomplishments. Initial team may (and should) get stock options or some kind of profit-sharing to be driven and feeling more than just another employee. On the other hand, it is also not unusual for a startup to disappear before it reaches its 2 year anniversary. Startups are usually for people with riskier, entrepreneurial personalities.

In contrast to startups, established businesses have large IT departments, including developers, web designers, system administrators, database administrators, etc. It is rare to see large it departments with all "star developers". There are multiple projects going on at the same time. Workload usually comes and goes. One day you work 10 hours without a coffee break, another day you have very little to do and you're cruising the web (hopefully learning something new about software development related subjects). Multiple layers of management create roadblocks for producing quality software, on time and within budget. Agility is usually not a part of large company vocabulary. Politics is a way of life, even for techies. It usually takes much more time and money to develop the same functionality in a large company then in a startup. Rewards are expected in the form of salary, benefits and possible bonuses. Large companies are for those who prefer to settle into a comfortable, "long term" job with pre-established processes and organization.

Some developers are happy working in startups, while most prefer large companies because of a false sense of security and stability. Though history shows that size of the company sometimes doesn't matter, especially in today's market.