17 Nov 2012
Recently I have stumbled upon a great book on how to build a "Software as a Service" business. Although "Start Small, Stay Small: A Developer's guide to Launching a Startup" (here's e-book version) focuses primarily on the business side of things, there's a great deal of insights related to your typical, run-of-the-mill IT job. Book's author Rob Walling did a very good job at spotting certain patterns present in everyday reality of a programmer and describing those in details.
For instance, Rob writes:
"For the first several years you’re constantly learning, working on (seemingly) fun projects and your income grows quickly if you apply yourself. But the experiences of many veteran developers show that after a certain level of experience you can’t push past that financial barrier. And keeping up with the latest and greatest technology – something that used to excite you – will begin to wear you down."Boy was that exactly my case. I started my "IT career" as a developer in 2002, while still in uni. Since then I've been always changing jobs, roughly once every year. Some were contracts, some - when I was foolishly lured in by a "hip and awesome culture" - permanent roles. Initially, changing jobs was awesome: I nailed the tricks that help when dealing with agents and had no problems getting a job even over Christmas emptiness of crash-ridden 2009s. In fact those were the times easiest to negotiate above average rates.
But wait, there's more. How about the fun of learning new things?
"While it’s true there are always new technologies to learn, as you mature in your technology career it’s likely you will begin to feel like a hamster on a wheel as you learn one more way to pull data out of a database. The idea of spending the time to learn how to do it using the latest method begins to make you tired. It starts to feel as if you are constantly moving from one technology to the next which involves little “real” learning and a lot of learning some new syntax or API…things that will change in six month anyway. You start to feel like learning new techniques for the rest of your life will basically rehash the same things you learned in your first two years as a programmer."Getting hands dirty with some new technology always excited hell out of me. I probably was one of those Microsoft fanboys who just could't get enough of the steady stream of new technologies. Those were released every year and I barely managed to catch up - developers working on Windows platform probably can relate to this feeling.
But as the years wore on, I noticed that with every new job and with every new technology I started getting less of that "nerd high". Even changing the development platform dramatically - from backend to mobile, from Microsoft to Apple - was only good enough to sustain my spirit for mere couple of weeks.
Another interesting nugget on career paths that one may take:
"A certain percentage of developers become unhappy with salaried development over time (typically it’s shortly after they’re asked to manage people, or maintain legacy code), and they dream of breaking out of the cube walls and running their own show. Some choose consulting, but many inevitably decide to build a software product."Admittedly I tried almost everything from that list: being a consulting contractor; starting outsourcing business that involved management of the remote team. There definitely were some good lessons in those endeavours. But neither of those represented a viable or scalable alternative.
So now I am kind of trying to grok how to get this whole entrepreneurial thing off the ground and it's frustrating, scary and fun all together combined in a molotov-cocktail mix. The most scary thing so far has been the proverbial "Getting out of the building" where you go and speak to heaps of strangers, trying to get them interested in something. Although I have done something like that before, but definitely not on this scale.
I do find some encouragement in what he writes further on though:
"The up-front fear is a big indicator that you’re going to grow as a person if you proceed through it. And, frankly, the terror wears off pretty quickly."
But also some words of warning:
"Forget the TV and video games. How many times have you found yourself thinking you were being productive only to look back and realize you spent 3 hours searching for and evaluating something you may not need until 6 months down the road?"
"Being in the pattern of checking your RSS reader every time you sit down at your computer kills hours of productivity each week. Those are hours that could be spent building your product."
"I’m saying that you should be deliberate about your work and your free time to get the maximum benefit from both. In other words: Work hard and play hard, but never do both at once. Numerous times throughout the day ask yourself: At this very moment am I making progress towards crossing off a to-do, -or- am I relaxing and re-energizing? If I’m doing neither, evaluate the situation and change it. If you aren’t enjoying a movie, walk out."
This dude is totally spot on. So far this book has been most inspiring, yet practical guide I've found. If you are building an online business or considering starting one - totally go and read it. Well worth the cash.