Wednesday, November 11, 2009

Startup 1-2-3.0

The evolution of the IT Startup, 1999-2009.

Startup 1.0 - “Splash The Cash”

As the Dot Com Boom got underway in the late 90s one of the star performers of the period was Sun Microsystems. It seemed every garage startup and every funky web outfit wanted to be kitted out with Sun hardware. Server rooms were filled with farms of E10Ks. Any serious developer worth their salt required a Sparc Workstation with a 21” monitor to get any work done. All of which were running Solaris operating systems of course. Sun's stock price peaked at $241 USD in 2000 at the height of the Dot Com Boom.

That was just the hardware and OS stack. The application stack was just as (if not more) expensive. A plethora of new “Dot Com” IDE products were brought out by the established development tool vendors such as Borland's JBuilder. Version control was managed by Rational's Clearcase product and RDMS' would be Oracle systems. Not only were these tools pricey - at one stage I remember the Dot Com I was working for being quoted $100k to “upgrade” their Clearcase License to support multiple geographic locations - but also often required full-time administrators.

These “Startup 1.0” ventures could burn through a million dollars pretty quickly, even for a small outfit. The fixed costs in setting up were significant (a Server room, all those E10Ks running Solaris, Rational tools, Oracle servers and full-time admins) and so too were the marginal costs per developer, i.e. a Sparc Workstation with 21” Monitor, IDE license, plus often a second Windows workstation for mainstream applications such as Office and Mail (Perhaps not coincidently VMWare was born during this period).

Sure there existed cheaper alternatives to the above stack, but the funny thing was companies that wanted to attract the top talent felt they had to have the top infrastructure for them to play with. The price of this startup infrastructure tended not to be an issue – after all that's why they needed that initial round of $5M venture capital investment upfront before they could get started coding.

Having worked through this period for a couple of Dot Com's, I'm still not entirely sure what came first in this Chicken and Egg conundrum: Did startups require large initial rounds of VC funding because of the high infrastructure costs or were the infrastructure costs high because VC funding was readily available in large amounts in the late 90s?

Startup 2.0 - “FOSS DIY”

The Dot Com Bust well and truly burnt the investment community. Investment capital was all but non-existent for IT startups.

Entrepreneurs being Entrepreneurs however, kept on inventing and dreaming up brave new frontiers of the web. During this period (most of the 2000s) the Web 2.0 world slowly took shape as startup ventures like MySpace, Facebook and LinkedIn rose from the ashes.

For many of us involved in startups during this period it can be summarised by one word: Bootstrapping. Without large amounts of upfront investment available on the basis of a hastily contrived business plans and power point decks we were on our own. Now it was the founders own money (as either hard cash or opportunity cost through forgone earnings) going into starting the business resulting in a real focus on cost reduction and savings. Spending your own money is no where near as much fun as spending other people's.

Into this “investment vacuum” entered a rapidly maturing Free Open-Source Software (FOSS) industry. Whilst FOSS had been around for decades, I believe it was this post dot-com period of bootstrapping startups that really helped bring it to maturity.

Unlike the big capital investments of the Startup 1.0 days, with FOSS we could now get a “Startup 2.0” running for next to nix capital investment. Readily available Linux distributions ran on commodity PC hardware not high end rack mount servers. The rise of AMD to counter Intel's dominance in the PC market helped drive the commoditisation of this market. Unlike the Startup 1.0 days Sun hardware was now mainly the realm of the Enterprise customer and was coming under increased attack from IBM and an up-and-coming precocious company called Dell.

Startup 2.0 web servers were hosted by the free Apache HTTP Server and Tomcat Java Application Servers. Postfix ran our mail. Bugzilla managed our projects and Subversion kept track of our code repositories. Open-Office, a FOSS Sun Star-Office spin-off, created and managed our documents, Thunderbird provided our mail client and Mozilla (which would later evolve into Firefox) browsed the web for us.

Importantly, internet connectivity was becoming both cheaper and and bandwidths getting bigger. We no longer had to go purchase software packages physically from a store. We downloaded it for free over FTP from the closest mirror site.

Startups could be bootstrapped very cheaply. The main outlay was in servers. No longer rack mount Sun Sparc servers, it was now dirt cheap PCs, often self-assembled, that ran Linux. For under $10K you could get 2 or 3 decent servers up and running.

A developer “workstation” was now a sub $1,000 PC, also running Linux. The rise of FOSS IDEs such as Eclipse meant that there existed a serious free alternative to the expensive enterprise IDEs leftover from the Startup 1.0 days.

Whilst Startup 2.0 required very little cash in terms of fixed or marginal costs, what it did require was skills and time – the Do-It-Yourself (DIY) part of the deal. FOSS software needed to be downloaded, installed, configured and managed. Many IT startups at this stage contained through necessity an initial team with a hybrid of web designer, programmer and Linux sys admin skills. Cash was sparse but what we could freely invest was our time and skills.

The problem was that ever hour spent setting up a FOSS stack and administering it was an hour less time your could spend building whatever product or service your startup was meant to be offering to the world.

Startup 3.0 - “In The Cloud”

A couple of weeks back I started up a new venture – getconnectedto.me a “social network hub” to centralise online contact details. I discovered that there has never been as easy or cheap a time to start a new IT venture.

For $50 per annum I created a single user account on Google Apps to host email (and other services) for this domain. Google Apps allows me to use Google AppEngine to host my site. Google AppEngine comes with generous free quotas so until my site becomes (hopefully) busy enough to switch over to billed resource usage. Like the Amazon EC3 platform, it provides a zero fixed cost and negligible marginal cost deployment platform. You can get a hell of a lot of CPU cycles and page hits for the $10,000 or so you would have spent on commodity hardware in the Startup 2.0 bootstrapping days.

What really hit home to me was that in this “Startup 3.0” phase an Entrepreneur should always evaluate what infrastructure can be outsourced to a cloud hosted Software-As-A-Service style offering. What was a interesting to me was that the answer is “pretty much everything”.

A case in point was when I started to setup a Subversion repository for my project. As this is currently a single person venture I mainly wanted Subversion for version control rather than for team code management. My initial thought was to just set up Subversion Server on my MacBook which was backed up wirelessly to the Time Capsule in the house. Having done this before, I was confident that it should take no more than 30 minutes to set up using Macports, a Linux style OSS package manager for the OS-X operating system.

Several hours later I realised I had gone down a rather deep rabbit hole. For those interested in the rabbit hole details, see below, otherwise skip ahead...

Having recently upgraded to Snow Leopard I found that Macports was now broken. I went and installed the Xcode optional package for Snow Leopard and was able at least get Macports operational. The next problem I found was that standard port packages such as Apache Server suddenly would no longer compile. After much research (a fancy word for “googling”) I eventually bit the bullet and decided to wipe away my existing Macports installation and restart from scratch. Success – Apache installed ok. I then found more compile errors when installed Subversion server – errors in it's dependent components. More Googling, err I mean “researching” led me to a forum fix that involved hacking the Macports configuration files.

At this point I woke up and decided enough was enough. What the hell was I doing? I am meant to be creating a “social networking hub” website, not spending most of a productive day stuffing around with Macport configuration files.

Five minutes of googling and I had found and selected an online Subversion repository service called CodeSpaces. For $3 per month I could have a basic private repository with ample backed up storage for my projects.

Let's just stop and go over that last sentence again, in particular this bit - “$3 per month”.

That is just ridiculous. That is so cheap it is as good as free to me. Let's say it would have taken me 2 days to setup Subversion Server on Macports and assume 1 day every 12 months worth of administration overhead to manage (upgrade, backup etc.). To keep the math trivial I'll say the opportunity cost of my time is $1,000 per day. In the first year the opportunity cost of setting up Subversion myself locally would be $3,000. Versus $36 for a hosted Subversion offering – and that includes backup.

The penny dropped. Startup 2.0 – FOSS DIY is dead. Time is money. Spend time making something new and valuable to your customers. Stop spending time on setting up infrastructure for your startup venture. Outsource absolutely everything you can to a cloud service.

The Startup 3.0 office is an internet connection and a laptop. If I could move my IDE into the cloud I wouldn't even need that high spec a laptop. Guess what? Last month Microsoft announced it was working on creating a Cloud based version of Visual Studio. Once the Eclipse Foundation teams up with a Cloud provider and creates a cloud based Eclipse service I'll go order a basic MacBook Air laptop and sell off my high end MacBook Pro on Ebay.

The Rise of the Microstarts

So, welcome to the brave new world of Startup 3.0. The good news is it's never been easier to get something created and launched to the world. The bad news is that what were previously low barriers to entry for others have been nuked – there are no barriers anymore. What does this mean for Startup 3.0? Personally I think we are seeing the rise of the “Microstarts” - online products and services created very quickly and cheaply by very small teams of people.

The quintessential Startup 1.0 company was Netscape. Folk-law has it that Netscape's pitfall was rewriting it's core product suite, a colossal engineering effort that occupied hundreds of developers over many years. In the end Microsoft ate into their dominant marketshare with Internet Explorer whilst they were off doing this rewrite and Netscape sold out to AOL in 1998.

In contrast, to me the poster boy Startup 3.0 company is Twitter. Founded in 2006, the first prototype of the software was written in 2 weeks by a small team. Even today with 20 million unique visitors to their service per day the company still runs with only around 50 employees.

Lightweight, fast, innovative services like Twitter are created to get something new out into the world and see where it goes. Minimal startup costs allow services that have unclear business models to be launched (the founders of Twitter doubted if it was "useful", they just knew that it was "cool and fun") .

If Startup 1.0 was “build it (expensively) and they will come” (they usually didn't), perhaps the Startup 3.0 mantra is “build it (cheaply), see if they come, then figure out how to monetize it”. When your Release 1 launch costs can be as low as $100 of cash outlay you can afford to be less focused on ROI or NPV and more focused on customer value propositions.

Or in startup speak - “building something really cool that people will enjoy using”.

Wednesday, November 4, 2009

Working from Home - The Rules

This is the about the fourth or fifth time in my life I've spent a decent stretch of time working from home. By decent stretch, I'm talking about weeks at a time here not the negotiating with your boss to "work from home" on Fridays kind.

There are a few Rules I've formed for myself over the years for effectively working from home. These are rules for those of us that have some seriously ambitious goals we want to achieve. If however by "working from home" you are aiming to reclaim some unpaid overtime from The Man, then skip ahead - there are no rules for that (other than "don't get caught!").

These are rules for budding Entrepreneurs or Intrapreneurs that are utilising a home environment for the peace, quiet and opportunity to create something new and amazing. A home office environment, when properly setup can be magnitudes more productive than an typical city office environment.

Just think about it. No meaningless meeting after meeting. No co-workers chewing your ear off about the latest, greatest programming model. No incessant chatter going on at 90 decibels. No hours of productive time wasted commuting to and from the office. No Health and Safety debriefs from the Building Supervisor.

Nirvana is within reach, provided you can Follow The Rules...

Rule 1 - The 3 S's

Follow the 3 S's. That is - S@#t, Shower, Shave. Before you even start brewing that morning coffee to drink over your Google Reader articles, get yourself ready. Shower, Shave, put on jeans and shoes. No slippers and tracksuit pants and definitely no lounging around in PJs and dressing gowns.

Work is a state of mind. One of the biggest challenges with working from home is creating clear boundaries between your work and home lives. If you work in an office in the city then there are daily rituals that act to help form these boundaries. You get up, shower, shave, put on work clothes and commute into work. Perhaps you read a book and listen to Death Metal on the train, or listen to talkback radio in the car. The point is, by the time you walk into that office you have completed a mental transition from a Home Life to a Work Life state. Likewise coming home in the evening the reverse commute process helps to provide the mental transition so when you walk back in the house you are back in your Home Life state.

Try to maintain as many of these rituals as possible when working from home to aid in the Home->Work->Home mental transition phases. The least you can do is get cleaned up and put on decent clothes.

Rule 2 - Create a "Work Space"

Stop working from the kitchen table!

Sure you can keep one eye on Oprah and the other eye looking out the window at the nice vista outside, but your Kitchen is part of your Home Life state. Working in it confuses the two states and at the end of the day you will have trouble finding and transitioning through the boundary between work life back into home life.

Get a separate room - ideally a study - and create a work space here. Everything that is work related should live in this room. Your books, printed out manuals, the photos you used to have on your desk, printer/fax etc.

If you have a laptop, get a docking station. Anchor that baby to the desk. Do not walk around the house with it. That will also blur the Work-Home boundary.

When you walk into your study, you are at work. You can apply yourself 100% to the goals you are aiming to achieve. At the end of the day when you close the laptop and walk out of the study (leaving the laptop behind!) you will have "knocked off work".

For those of you like me with young children at home, a "Daddy/Mummy Work Place" is essential. Children will find it hard to understand when you are working and when you are at home available for use as a jumping castle. Telling them "Daddy/Mummy is at work" will not work (trust me on this). They will however learn to recognise when you are in your "Work Room" you are to be left (mostly) alone. Physical cues are more effective than verbal ones for young children. It's not foolproof (I write this with my 1 year old son clawing at my leg and reaching for the mouse) but it's a lot more effective than working at the kitchen bench.

Rule 3 - Segregate your music collection

One of the best things about working from home is that not only are you removed from a lot of the distracting background noise that permeates an office environment you can actually control the background audio environment. That is you can put on YOUR music at the VOLUME you want to listen to.

At first this is very addictive. You rifle through your music collection (which used to literally involve physically rifling through piles of CDs but these days instead involves a flick of the mouse to scroll through Cover Flow view on iTunes) and play long lost albums from your youth at full volume. Something like U2's Actung Baby. Yeah baby, now we are cooking, let's get coding.

Stop right there! You need to carefully examine and segregate your music collection. The goal here is to ultimately get into a state of what psychologists call "Flow" - where you can take advantage of the lack of distractions to get deeply immersed in your activity and produce at a much higher level than normal. Music can be an important part of this process, if used properly. You don't want to be hyped up with adrenalin from playing air guitar before settling down to crack out an important algorithm design. Examine your albums and artists and think about what emotional moods they evoke in you. Go for stuff that invokes a "chilled" emotional response.

For me that's a steady diet of Miles Davis, Pink Floyd, Coldplay, Buena Vista Social Club and Tracy Chapman whilst I'm working.

U2, INXS, Hunters and Collectors, Powderfinger and Green Day get left for playing at full volume on the iPhone headset when I'm out walking the dogs around the block (I've got very energetic Labradors that prefer running over walking).

Rule 4 - Get some natural light

Where ever possible, make sure your work environment has natural light. Pull open the blinds, open the window, let some fresh air in. Take advantage of the fact for once you DO have a corner office with a window view. Who cares if it's a window view of the neighbour's fence (my current view) rather than a 50th story panoramic view over the city. It's not about the view (which would distract you anyway - that's why those big company executives get so little done), but about getting some natural light and air.

Note: Don't fall for the whole startup mythology thing and literally work from your garage. Startups should be run out of a nice home office not from a dark and dingy garage. The petrol fumes won't aid creative thinking either. Really.

With these ingredients - natural light, air and a properly controlled audio environment (see Rule 3), you can happily work for hours on end without feeling lethargic.

Rule 5 - Get out of the house at least once a day

In many of the less savoury parts of the world, political prisoners and other "enemies of the state" have their spirit broken not through physical torture but through good old fashioned solitary confinement. Recognise that working from home has the potential to have the same effect. Make sure you get out of the house at least once a day to make sure it feels less like a prison.

It can be as simple as taking a walk around the block with above mentioned over-energized labradors, or going out to the local cheap and cheerful Vietnamese restaurant with the family at the end of the day. Just get out. If you miss nothing else about working in a city office building you'll miss the change of scenery each day. This may not be obviously apparent on Monday but trust me by Friday you will be climbing up the walls.

If you feel the need to be productive, collect a series of interesting blog posts and articles you want to read. Print them out (yes, that's right - print - go ahead and kill some trees, you are probably using a fraction of the paper footprint you were in your old office job) and take them (not the laptop) to a local cafe and chill out whilst you read them.

Finally - get out at the weekends! You are structuring an at home work environment to be as highly productive as possible during the working week, but remember there is a real risk of burnout if you try and get 100 odd hours of programming time done week in, week out. Use the weekends as a pressure release valve. Head out somewhere with the family - it'll be nice to reward them for giving you some space during the week by spending some quality time with them.

Don't forget also that when you get truly, deeply immersed in creating something and/or solving a particularly tricky problem it is invaluable to allocate some tasks to the background processor - i.e. the subconscious. I've lost track of the number of tricky problems I've cracked on a Sunday afternoon whilst out and about trying not to think about work as the subconscious background processor did it's magic and an answer bubbled up to the surface.

Rule 6 - Earn and take disciplined time limited breaks

For the truly motivated entrepreneur, working from home is an opportunity to work without interruption on their projects. As mentioned above, the risk is not a lack of productivity but over-productivity resulting in mental burn-out.

I like to take a trade-off position by taking a couple of breaks during the day. A break could be a walk in the park (see Rule 5) or it could be reading a chapter of a novel. It's important that the break be rewarding and non-work related (i.e. don't go read a "Mastering XML Schemas" book).

The important ingredients to this break process are two fold.

Firstly, earn the break. Set yourself mini achievable tasks through-out the day and the minute you achieve them stop and take a break. For example "My goal this morning is to write a blog post about working from home". My reward when I finish it will be to grab a cup of coffee and chill out by reading the newspaper. By making the break a reward for achieving a goal you remove any sense of guilt and replace it with one of an earned achievement. For many success orientated personalities the biggest challenge of working from home is dealing with the sense of guilt that you aren't "working hard enough".

Secondly, make sure the break is time bound. The "dark side" to the success orientated personality is the "guilty pleasure" of being able to immerse yourself in a book for 4 hours. Without a boss or fellow co-workers to provide boundaries you need to bring some discipline and set out up front how long you will spend on your break.

Rule 7 - Eat properly

If you are like me, then odds are when you work from the office you eat badly. You skip breakfast at home in favour of a Coffee and Muffin deal from the local cafe. Instead of making a nice salad for lunch you grab a carbohydrate laden take away focaccia. Or even worse, a Parma & Pot (non Australian's see here) from the local pub during one of many "team lunches". You drink too much coffee and sugar laden drinks, leaving you unable to get a good night's sleep at the end of the day. This in turn leaves you feeling tired in the morning with little appetite (hence the Coffee and Muffin on the way to work) and the need for more caffeine and sugar to provide the energy to get through the day.

Working from home provides the environment to break this vicious cycle. Take advantage of it. Eat a healthy breakfast. Have fruit for morning and afternoon tea breaks. Limit yourself to a single coffee and drink water through out the day. Utilise the 2 hours of commute time freed up to get into the kitchen and cook up a protein laden quiche. Seriously. You'll reduce the levels of caffeine, sugars and carbohydrates in your system and move away from high levels of adrenaline and stress.

Rule 8 - Chill out at the end of the day

Finally, it is important to have a clear end point to the working day to make the transition from a Work Life state back to a Home Life one. I recommend two approaches.

Firstly set a maximum end time to the working day. It doesn't have to be as early as 4pm (you aren't a public servant or bank teller) but don't make it as late as 9pm. Make it before dinner, preferably about an hour before. Personally I make it around 6:30pm (and start a 7:30am).

Secondly if you finish something really important or achieve a key milestone or goal within say an hour of your maximum end time then stop. Don't start something new with an hour to go in your working day, it'll just encourage you to work over.

Likewise if you fail to finish something intractable by this point stop. It'll be there tomorrow. And don't forget about the subconscious background processor. Delegate the problem to it and see what it comes up with overnight.

Once you walk out of the study at the end of the day make sure you are leaving the work environment behind. Do something clearly non work related such as kick back on the couch and watch the news (whilst children again use you for a climbing castle).

Why all the Rules?

Working from a home provides the opportunity to create an ideal work environment. For knowledge industries such as IT, the right work environment that enables a Flow state can lead to magnitudes higher productivity than what you would achieve in a normal city office environment.

At-home startup ventures should try and take advantage of this leverage factor to create something substantial in a short period of time (especially if they are out of work in the meantime).

The danger for the type of people that are motivated to spend large periods of time working by themselves to create something ambitious and new is not being under productive but being over productive. These rules are designed to get you into an optimal state of flow for the optimal period of time.

Now stop reading and go create something cool already!