Getting Work; Getting Good Developers - The Game Is Rigged (in Both Directions)
04/12/09
When I was a little tyke, before the discovery that I can’t throw, catch or outrun anything, I was forced to learn football. The rules when you think about them are really complicated. It isn’t like soccer: get the ball in the goal net without your hands. In football, a lot of weird stuff happens. Our ‘coach’ clearly loved football, which did nothing to aid his ability to convey the essentials. When we were playing offense, and there was an unruly group of mixed-gender children trying to take down the ball-carrier, it seemed an impossible task. When we were soundly defeated and switched to defense, it seemed equally impossible to try to penetrate layers of small humanity and tackle the ever changing person-carrying-the-ball. Some games are just rigged – in both directions.
I have been remembering this rigging because the Rails Job market was feeling this way. I already put out some completely useless statistics about what it took for me to get a job last year vs this year. Well things have changed. I somehow became the CTO where I work.
In some ways this wasn’t surprising. The application that forms the basis of the company, really should be two applications (at least). I seem to be the first person to have noticed this, which puts me in a prime position to manage the work of breaking it up into manageable bites. Also, the application’s database structure is a travesty. While I am not the first to notice this, I am the first person who believed it could be wrangled into compliance. The really compelling reason to make me the CTO though, was that the existing CTO didn’t know Rails and I was quitting because he was making my life miserable. Actually that is a little simplistic. I was offered perhaps the best coding job of my career with a group of people that could have taught me something new everyday, and compared to being treated like shit by an unhappy guy who wished he was still managing 30 Java developers, um … you get it.
I still think it was fairly stupid to turn down that other dream job, because, I have never had CTO ambitions. I like coding. I don’t like managing. I like architecting applications though, and getting full reigns to rebuild this very cool app, was enticing. The real reason that I am now CTO instead of a happy little coder on a fantabulous team, is the CEO where I work. He is one of those massively eccentric inventors that couldn’t get a job to save his life. If he wasn’t entrepreneuring his way through life, he would be on welfare (and drugs). I have a lot of that in me, and it is only through the pursuit of my curiosities that I have found something that people are willing to hire me to do. I feel I have a lot to learn, or maybe just a strong relationship to build. I think I made the right choice in him.
Watching him is interesting. He creates business solutions like I code. Plan A has a backup plan B. Plan B has a backup plan C. Each potential partner is presented the plan of highest local potential energy. He is changing the game instead of playing by the rules. I do that whenever I run into a seemingly intractable problem, and it always works.
So, as the CTO of this crazy little company, I now have the responsibility of hiring another really good developer. This is where the impossible tasks of football come into play. Where as in January it had seemed really impossible to find a Rails job. Now it seemed equally impossible to find a good Rails developer.
It got me thinking about what this failure in both directions could mean. The most likely problem seemed to me that the communication channels suck. With football, this means that the coach isn’t providing the needed information to the players who need it: the offense doesn’t know how to do their job and the defense doesn’t know either. In my situation, it means that good developers aren’t looking for work where good jobs are posting their needs. Maybe there just isn’t a central location for posting/finding jobs. Other possible issues include my being a bad developer, and/or the job being a bad Rails gig. All those thing aside, my general solution to a problem is to change the game. Who says we have to play football? Or in my case, who says we need someone in office to do this work.
Truth be told, the CEO said this work needed to be done in the office. It took some convincing, and some RubyNow job posting, but changing these big picture parameters, did change everything. The candidates that we got in this new way were rock stars. They made our part-time Rails coder who is a full-time Burning Man man say, “Wow! It is like being hit on by the hottest person in the bar”.
So, the moral of this story, which is perhaps the moral of every entrepreneurial exercise: Don’t play sports. When you play a game, change the rules. When that doesn’t work, change games.