Wednesday, September 06, 2006

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.


At 6:03 PM, Anonymous christine lipfert said...

Cheers! Well said. I also felt the same way when I read Joels's article. He did make some very good points though, espcially about politics and what developers really want. I wish the company i worked for had such insight.

At 6:41 PM, Anonymous Anonymous said...

Excellent dude. You are on the money.

At 9:09 PM, Anonymous Mike said...

Nice rant - dead on.

I think Joel's point is that he needs a certain type of developer - as he defined it. And I think he's right.

But there are different ways of hitting success - and you excel in different situations than these guys.

Putting it a different way: Nordstrom's gives fantastic service at a high price. Wal-Mart gives good products at a cheap price. Both excel, just in different ways.

At 9:45 PM, Anonymous Anonymous said...

I think it's a bit of apples & oranges here.

Joel wants people who like to focus on software development; you're talking about all-round people to help build a business. (There's a good book for people with a specific skill thinking of starting a business around it. It's called The E-Myth Revisited by Michael Gerber. "E" stands for Entrepreneur btw.)


At 10:24 AM, Blogger Phil said...

Mike - Are you saying i'm the Walmart of software? ;)

Dave- I was actually thinking of all-around people for software development. One thing I did leave off my list is people should have a genuine desire to develop software, to the point they work on it in their spare time.

At 8:11 PM, Anonymous roddyb said...

I like what you are saying, but in such thin matters we have to avoid generalizations. We have 2 billionaries: Gates and Brin; first as 'well-rounded' (yet hardly graduated) developer specimen and second as good university boy that studied all this 'BORING' classes and gone deeply '...into binary search trees, discrete math, big O notation, linear algebra...' Both ways got them to the top.

Joel and Phil both are right and both are not. If I be a manager at Space Shuttle software project, I'd prefer having one genius instead of dozen 'well-rounded' guys. "If you have to win olympics in jumping, do not take 10 guys jumping 1 feet, take 1 guy jumping 10". If I building team for online startup - I prefer the opposite.

Also, there is a question in the term itself: 'success' - what is it ? Making a billion for one person ? Or pushing manking into bright future that can gain no single dollar ?...

At 10:02 PM, Blogger Phil said...


Well said, the right tool for the right task sounds like what you are describing.

The question is, if Joel were not in the equation (he's the well rounded guy i'm looking for in my team), would all of the Great developers he's hired together be able to make a success like FogCreek without him?


Post a Comment

<< Home