People like to think that startups are those 'cool' little things that I do, just because it is the hottest in to be in these days, with all the fad about Web 2.0 as the 'next big thing'. Besides the fact that I'm not doing web-based startups, working in a startup feels more like nerve-wrecking enterprise that you constantly spend your time on, running on the fear that things are teetering on the brink of collapse all the time. It is a severe strain on your social life, if you have one to start with, because after working 7 days a week and long hours all day, you'll definitely have none left. So why do it? Because I relish it. Working for a startup IS my life.
Then again, maybe having a social life is underrated. I see friends who work through the week, anticipating for the weekend to come, but when it arrives, scramble to look for something to fill up that void. And then the week starts again. And repeat. Feels like a broken CD player, looping over and over again. Sure, watching a movie and having a couple of drinks with friends is great, but even that gets dull after a while too, especially after the show ends and when the drinks run dry.
It is great to have a fixed job. You have that peace of mind in knowing that your constant monthly paycheck is going to buy you the latest iPhone, your next new car, some fancy dinners, and still have enough left to pay for the mortgage.
I'd like to have job security too, but how secure is it, really? Perhaps we have been so lulled into an illusion of complacency with our supposed 'job security'. There is only security when there is an economy to back it up. And when it tanks, whatever only security will only be left for the highest pecking order on the corporate ladder. When was the last time you've heard that the CEO was the first to be laid off when a company is going through troubled times? Two, One or None? It's counter-intuitive and unfair, but that's how life is.
By trading off security, at least I get to choose what I do. I get to make decisions, ones that probably will affect everybody in it in big ways. That is both a good and a bad thing. Good when it is the right choice, and bad when I've used up a lot of time, only to reach a dead end. Time is wasted, but at least I've learnt something. I've found new things that didn't work.
Making wrong choices still isn't as bad as having the mental block. To have a problem you can't seem to solve is when the real stress kicks in. Panic sets in, and you fear that whatever you've developed is going down the drain because of an obstacle you didn't anticipate. Self doubt creeps in, your confidence plunges and so goes your motivation.
But you persevere.
Some days, work becomes humdrum, irrespective of whatever 'cool' things you're doing. A software developer's job is to make software work. And that means fixing bugs. There are always bugs to fix, only that some are more interesting than others. Certain bugs are consuming, but rewarding, and you'll get a sense of gratification when you find it. Others are the ones that you'd wish you're able to it sweep under the carpet. But they have to be fixed, nonetheless.
That's why perseverance matters.
And on other days, it feels just plain awful. You feel that it may have been better if you had a perfectly normal job like everybody else, write or maintain some already established software like everybody else, have a wife and kids to go home and grumble to like everybody else. Escapism kicks in, and you'd wish that you didn't have to deal with the problems that feels like a piece of the big blue sky.
There is always the temptation of throwing in the towel, especially when you feel like little progress is being made. But it is equally hard to give it up, not at least without giving it a good fight. You live for those fights, the fights that you pick with yourself, because that is when you feel that you are working for what is truly yours.