This was written by Adil Saleem on July 12, 2007. Adil is one of the founders of 2’s Complement. I thought this summed up the experience fairly accurately – Ed.
A startup is a different experience altogether from a stable/big
company. Its like a benchmarking software. It puts extreme load on your
each and every brain cell and stretches your limits. It brings out best
and worst in you. Its brutal as it showcases your weaknesses and its
rewarding as it highlights your strengths.
A few lessons learned so far,
- Its frustrating
Its like walking on a rope 100 feet above the ground. A slight error of judgment or wind can cause you to wobble. You
oscillate between extreme low and extreme high. When everything goes
well, the other end seem to so close. When you wobble, one step seems
- Where can i get some slippers?
thought about those small, petty things you use in the office. Things
like writing pads, pens, slippers, pencils, cups etc etc. Well, prepare
yourself for a trip to the local general store. Small things seem too
big when you need to address them yourselves. They will bother you,
they will take your time.
- Blame yourself
“OKAY…so there is a bug in the code, who wrote this piece of $#!T?”.
when you say this. Chances are that you wrote that code yourself. Happy
blaming yourself :). There is no one to blame…i repeat THERE IS NO
ONE TO BLAME…Because there
actually is no one else (except your pet cat maybe). Dont be a whiner,
identify the error, accept the consequences, correct it and move on.
- If you delay it, it will not be done
ll take issue ‘XYZ’ later”. In a big company this mean “I ll let
someone else take care of this”. In a startup it means, “It wont
happen”. Things that are deferred, are not done. In fact, they will
never be done.
- Anything and everything will go wrong
all the things that can go wrong. Then prepare yourself for everything
to go wrong. Hardware items will be short, light will trip, your
servers will crash, your data will be lost, riots will start, it will
rain and you will catch fever
- I ll be done in 2 days…
“Oh yes, this seems like an easy task. We can just slap this in 2 days”.
each task there are many unknowns. Each unknown requires its on
prerequisites, time and effort. Unknowns like new paradigm, learning
curve, lack of documentation, network setup etc. In a startup, the
unknowns increase exponentially. so a simple rule while establishing
time lines is, multiply your first time line with 4 and set it as time
line (at leat in the beginning)
- Whats cooking…errr its the server
This part is so important that it deserves a separate section. Memorize this “My servers will be on fire” (inspired by Paul Graham).
There is nothing more frustrating than your server crashing at the last
minute of release and it WILL. (we actually went through that :D)
Where did my time go?
In a big company you do not need to address any/most of the mentioned issues. So you can sit down and code 8 hrs/day. In
a startup, you need to address every issue. Things drain your time and
increase the frustration. But remember, these things are not redundant
or useless. Each and every thing goes into the contribution to your