Search
Saturday, March 13, 2010 ..:: Home ::.. Register  Login
   Calendar  
     
  
   Search  
     
  
   Blogroll  
     
  
   Disclosure  
All blog entries are the opinions of the author and do not necessarily reflect the opinions of their employer. All the code presented is for explanation and demonstration purposes only. Any damages incurred to your site and/or data are not the responsibility of the author. Every effort is taken to ensure the code properly compiles, however sometimes there are some hiccups and you might be required to do your own debugging.
     
  
   TechTidBits (Blog)  
Jan 21

Written by: Peter Henry
Thursday, January 21, 2010 1:12 AM

What type of developer are you? 

Smiley

In creating a previous blog (Top 20 Signs You've Got It Good At Your Job!), I reminisced about good characteristics I've personally experienced at jobs/companies I've thoroughly enjoyed being at.  Along the same lines, I started to think about different types of developers I've worked with in the past.  I like cars, so I thought I would come up with a unique analogy for different types of developers.

Below is a speedometer with various speeds.  Major highways in Canada have a speed limit of 100 km/h (with AB being the exception).  Let's assume that's what most people drive at (OK, OK, this isn't the 401 through Toronto or the 40 in Montreal where the posted limit is "suggested!"  DOH! yes this is my attempt at sarcasm) and anything above that is a speeding ticket.

Developer Speedometer

Speed km/h Comments/Disussion
0 Standing still, uh, EVERYONE's passing you and you better be getting a coffee, cause is this is how you run your day, you won't be doing development there for much longer.
60 You're a danger to everyone around you.  You're accomplishing somethings, but are too slow to be of any use to anyone.  Other people are probably doing your work for you cause they are depending on it and it's just faster to do it themselves than wait.  This is not a good spot to be in for a long period of time.  Or you in the Research department at your company.  DOH! LOL
100 You're going with the flow, doing what you were paid for.  You're getting bugs fixed, features implemented in a timely fashion, but, uh, that's about it.  You're in a steady-state here.  Not making any headway but not losing any ground neither.
120 This is the sweet spot IMHO.  You're speeding, risking things a bit, but not so much as to cause A LOT of rework.  You're not endangering TOO many other people/modules/checkins, but sometimes you fall asleep at the wheel and drift onto the shoulder.  But only once in a while.  Once you correct yourself, you're good for a while.  You take educated risks, can refactor code at the same time as fixing bugs, and you even fix a few bugs which QA hasn't noticed yet.  This is where most bosses like their devs to be at, accomplishing bugs/features slightly ahead of schedule giving them enough leeway to deal with the (always) unforeseen nasty bugs that always seem to crop up at release time.
160 This is cowboy developer territory!  This is where you're fixing bugs that aren't really there.  You're doing premature performance optimizations.  You're using your own home-grown coding style, cause, well, it's better than anyone else's and you know better than them right?  In reality, you're causing two more bugs for QA to find and report more than you fix.  YOU are certainly fast, but you keep bouncing off of other people and the guard rails.  You're constantly getting flat tires and dealing with road rage from other people around you.  Like going 60km/h this is just as dangerous.
200+

This is simply dumb. You're going so fast, things are wizzing by you so quickly, you can't even BEGIN to comprehend your code impacts!  Well, except for when you break the next daily build.  You're not only bouncing off of other people, you're killing/deleting module/classes/data with complete disregard for other assemblies/projects/migrations/unit tests.  You're just being plain selfish and stupid with complete disregard for ANYONE around you.

Thankfully I haven't seen any 0 or 200+km/h developers in my time (and I hope to keep it that way LOL).  I have to admit I've been (come on, admit it, you too?!) a 60km/h developer some mornings while the first two coffees kick in.  Not too many times I've been the 100km/h developer, that's usually where these stories come from.  Unfortunately I've seen a few of the 160km/h, cowboy developers.  It's difficult to deal with these coders cause you're never right, so there's never any talking to them cause, well, they're always right.

I always try to strive for the sweet spot, the 120km/h.  I do know of one developer who's NAILED this speed to perfection.  One guy where I work (CI) is on cruise control at this speed!  And this is a good thing!  He is so fast AND accurate with his bug squashing capabilities.  He amazed me my first week there, and STILL amazes me a year later!  This guy's fantastic with web AND thick client, VB6 and .NET.  Actually, CI is the main reason for the automobile analogy LOL he knows his cars as much as he knows development.  Something for the rest of us to strive for.

There you go, a slightly slanded view on different developer types out there.  I hope you agree, and if not, at least got a bit of a chuckle out of it.  Please leave me a comment if you want to add to this list. Now that you (and I) have something to strive for (I hope the 120km/h, Full Bore developer) it's time to go grab a coffee and get coding!

Copyright ©2010 Peter Henry

Tags:

3 comments so far...

Re: What speed do YOU develop at?

I find my 'speed' varies depending on which day of the week it is. For example where I work, Monday tends to be meeting-day (it's not official or anything, it just tends to work out that way). Since I know that ahead of time, I make sure not to start something that requires me to go deep down into the code in order to solve a problem since I know I'm going to have to poke my head out of the cube at a specific time. Friday tends to be chatter day where if I don't have headphones on an blasting, it's nigh impossible to focus and get anything done.

I think a big part of being able to work close to the sweet spot is being able to plan your work. Having the experience to see what's coming down the pipe and what sort of work/tasks it'll involve. There's tasks that are perfect for days/afternoons when you know getting into the details isn't an option and tasks that you specifically need to be running at full steam to execute properly.

By Peter B on   Thursday, January 21, 2010 9:34 AM

Re: What speed do YOU develop at?

I don't see a direct correlation between speed and risk. If you're an experienced developer and know how to get from A to B you can likely do that pretty quickly. You may have gone from A to B before and already know how to avoid the risks. Someone who isn't experienced with going form A to B will always do it slower; and because they don't know the risks don't know how to avoid them.

By Peter Ritchie on   Thursday, January 21, 2010 10:58 AM

Re: What speed do YOU develop at?

Thank you, to both Peters. Man, three Peter comments in a row! DOH!

Peter B, yes, I have to agree, time of the week or time of the day does factor in. I guess I'm looking at this more at a macro level, overall, how do you see yourself. After seeing you at the study group, you don't strike me as a time waster, nor are you a HUGE fruiltess risk taker. You do MVC, and other bleeding/leading edge stuff, yes, but you're calculating, methodical and achieve results. Which in my opinion puts you in the 120km/h zone and not reckless.

Peter Ritchie, weak correlation between speed and risk, ya I agree. HAHA true, I was originally going to add in a tach or oil gauge to represent risk, but the combinations and permutations became too much and it was too late last night for that kind of analysis. Yes, this is an over simplification, but does generate some discussions, which isn't a bad thing.

re getting from A to B quickly
Very true, if you know the route, you can get there without a GPS/iPhone/BB/Google maps and avoid the potholes and traffic bottlenecks. But then again, you still have to navigate street turns, traffic lights, pedestrians, etc. There are usually obstacales in every project and the more sr/experienced you are, hopefully you know how to "duck'n'weave." But not always. Also, every road has a "natural speed limit" that really can't be broken (i.e. a U-Turn, you can only take that at such a speed AND not flip over). If you're developing in an ISO-9000 company, there is only so fast you can go when producing a release or patch.

Both of you guys might/probably fall into the "professional race car driver" category. You CAN speed things up and still accomplish them smartly/accurately and cause minimal side effects. One of you is a certified dev (or well on your way LOL) and one of you is an MVP, you have proven track records of getting things done quickly and professionally. But most "drivers" aren't in that category. Me? The juries still out on that one! LOL

By phenry on   Thursday, January 21, 2010 11:21 AM

Your name:
Title:
Comment:
Add Comment    Cancel  
     
  
Copyright 1999-2008 by PCHenry.com   Terms Of Use  Privacy Statement