Passion, excellence, and genius
October 11, 2010 § Leave a comment
Why isn’t the average developer more passionate? My friend Billy Boebel recently changed jobs, and expressed to me his desire to get out from under what he was doing, to change jobs, to work on new projects, and in doing so, to rediscover his passion. I get it – I’ve done it myself – you probably have as well. Why do we lose that passion, though?
As a child, trying to hack together a passable version of Space Invaders on the VIC20 my dad had brought home, I knew what passion for programming was. I spent hours pouring over BASIC code trying to figure out just how to make that program work, and I enjoyed every minute of it.
As a teenager, I spent days (probably weeks) with a Quick C compiler running on a 286-20 trying to figure out the optimum way to solve a maze for a programming challenge. I never even had any intention of entering the challenge, but had heard about it and thought it sounded interesting. I knew what passion for programming was then.
Exploring those problems, finding solutions, and truly making magic happen – how can you not be passionate about that? Yet, somehow, we lose it. We get bored, and we do the minimum required. We stop seeking out new technologies, we stop caring about new ways of doing things. It seems that in order to rediscover that passion, you pretty much have to quit your job and start a new job, which inspires a burst of creativity and a desire to learn something new. I’ve done that several times over my career, and have always just attributed it to my own tendency to get bored and wander off in search of the next shiny thing to play with.
Is that the fault of the developer, though? Honestly, I’ve always thought it was. I thought it was just normal to get bored after 6 months, or a year, or maybe even two, but that sooner or later, it was just the natural progression of things for developers to move on to the next job.
Then I read something by Karl Seguin that made me stop and think about this a bit more. I’ve had one job that I stayed at for 6 years – a virtual eternity as far as developer jobs go. I stayed because there weren’t constraints on how to do things. I certainly wasn’t just let go in a research lab to work on whatever I felt like – I had business objectives, and goals, and deadlines. The thing that I didn’t have, though, was constraints. I was given the leeway to solve problems in what I felt was the most efficient manner, and because of this was able to devise a great many creative, effective solutions to the problems I was given. The problems don’t even need to be that interesting as long as the flexibility is given to make the solution interesting. (By the way, I give most of the credit for creating, maintaining, and defending this environment to Mark McWilliams – thanks Mark!).
I think the question we should really be asking ourselves is “Why aren’t we doing genius quality work instead?”