Regular Ol' Developer
Over at Joel On Software
, Joel is again talking about the best way to get Great Developers
. Lots of people chime in about how they themselves are great developers, or their tips and tricks for getting great developers. It's articles like this that make me feel a little left out, because I know by Joel's standards I am not a great developer.
Joel goes to the top Comp Sci schools and writes personal letters to the top students in the department. I went to a decent Comp Sci school (U of MD), but was certainly no where near the top of the Comp Sci department. When I went to school I was extremely disappointed with the Computer Science program. C was great, C++ was better, but then we got into binary search trees, discrete math, big O notation, linear algebra, and calculus 3. BORING. I just wanted to know when we'd get around to writing Windows and/or Macintosh programs. You know, the kind REAL people used. Later, of course I realized that Computer Science was supposed to be a science, and there really was no course of study that taught how to make business programs at my college.
Joel says GREAT developers only ever apply for maybe 3-4 jobs ever. Well, this is my 5th IT job, and I plan on working more before all is said and done. And yes, I've actually had to apply for jobs. KC tells me
that all the GREAT developers already have connections, or are gotten jobs through other secret channels. Well, I have a lot of connections, but maybe because I live in the DC area, most of my connections work at jobs that sound much worse then anything I've worked in. And of course during my last job search (after the .COM company I worked for went under), there were few positions open ANYWHERE. It's doubtful I'll resort to connections for my next position.
But hey, I'm not GREAT or the BEST and I'm happy with that. I don't believe being a great developer has any impact at all on your success in life, business or development (ok maybe it's worth 15% or so). Take 37Signals
for instance. They are hardly developers at all! None went to Harvard and got a special letter from Joel as far as I can tell. But they are perhaps making as much or more money then FogCreek (they have considerably less overhead). I've know a few GREAT developers in real life. They don't make much more then my base salary, and less overall when you add on the mISV stuff. Their jobs are not exciting (to me at least). Sure they are working on the programming for the heart monitor that may save my life one day, or the targeting system for a missle that may blow up China one day, but in the end, it's just a day job they still have to report to with shirt and tie on.
What makes 37signals succeed? Why arn't the great developers rich? What would I be looking for if I were hiring? A couple of things.
2)Ability to learn and adapt quickly
4)Able to handle stress well
6)Be well rounded and fluent in customer service
Joel has these things. That is why FogCreek is sucessful. The high end developers are simply more tools to achieve that end. I don't really know much about any of them, but I'm sure they are creative and learn quickly. But according to Joel, no one has ever quit FogCreek. That shows a lack of ambition to me. How can you graduate right out of school and work for a company without knowing what else is going on out there? If you are a top 10 developer from Yale, shouldn't we have you working on unlocking the genome or something? They are not experienced. They only know of the world of development that Joel provides, which seems fairly unique and specialized.
Because I've had a couple of jobs, my skill set is pretty well rounded. Besides being a programmer, I've been a PC tech, a network engineer, a help desk guy, a lab tech, delivered pizza and even worked in a warehouse. So while a superior developer at work is waiting for the network guys to figure out what's wrong with the server, I can fix it myself. While a great developer is talking condescendingly to an angry client, I can get them to laugh. It's little things like this, being well rounded and ambitious that I put a premium on.
From my experience recruiting, and working at a wide range of jobs, I really believe the best employees are those that meet the six criteria above. Someone may not be the best developer, but if they are creative and ambitious, I'd bet on them to solve a problem as well as one of the GREAT developers (perhaps just not as elegantly).
Well, anyways... that's my random rant on the subject. Hopefully there are other "non-great" developers like myself out there.