Posts
1147
Comments
891
Trackbacks
1
April 2012 Blog Posts
What really separates Senior Developers from Junior Developers

I’ve posted previously why I don’t like the term ‘junior developer’ as it usually just means you are saying a developer is younger than you, and is often used to be demeaning for no good reason.

<digression> There are times when being demeaning is arguably the right thing to do, but it generally isn’t a good thing to do.  It should usually be reserved for when dealing with senior management, though I don’t recommend you practice it unless you really know what you are doing.  Being demeaning to people who don’t have an opportunity to be better just makes you a dick.  And not a good kind of dick, just a dick.</digression>

I think there are basically two things that actually make it reasonable to call someone a ‘Senior’ developer:

  1. A Senior developer is someone who can learn a system without any documentation in a ‘reasonable’ amount of time.  What counts as reasonable here is, like much in life, largely contextual.  In the last decade, there have been numerous times in which I was asked to learn System X which currently does Y and needed to do Z.  On approximately zero of those cases, I’ve had any significant amount of assistance, either from documentation or current developers, to learn what System X was, what Y currently does, or what Z is.
    1. Keeping names out of it, the best example came from a particular large organization.  The current developer who would have been the best resource to learn X,Y and Z from was working 60 hours a week on a very important release, the previous release of which had been a disaster.  He was swamped, to say the least.  He was very intelligent, and happened to be one of the people I interviewed with to get the job.  When I asked him what Y was (I knew enough to know what X was) and how it worked, he looked at me and said (only slightly paraphrasing), “I don’t have time to tell you.  We hired you because you seemed vaguely intelligent.  Fucking figure it out.  Please.”
    2. He turned out to be one of the best developers I ever worked with, and though I had maybe 30 seconds of being pissed off at his initial response, it quickly dissipated.  He really did not have time to work with me.  He really did expect/hope I could just fucking figure it out.  That really is why he recommended that I should be hired.
    3. Being able to ‘fucking figure stuff out’ is a largely non-teachable skill.  You have it or you don’t, for the most part.  Younger developers show this ability directly, which is why a ‘junior’ developer is often more valuable than a ‘senior’ developer.
    4. As a side note, if you are in management and you find these younger developers with these skills, it is imperative that you protect and foster them.  I don’t think I can emphasize that enough.  These are resources that are more valuable to you than just about any other.
  2. A Senior developer is able to be self-directed.
    1. A regular reader of this blog will know that I’m kind of a prick (“what do you mean kind of?”…I heard that).  Part of that ‘skillset’ involves being able to take charge and tell people (including especially senior management) when they are wrong.  This does generally take some experience, or a complete lack of tact, or both.
    2. If you can talk the talk and walk the walk, senior management actually doesn’t mind this, but it can be ‘scary’ if you’ve never done it before.  Looking a senior manager in the eye and telling them they don’t know what they are talking about is risky.

I reserve the right to add to this list, but, to be honest, those are the two things that really make the difference. 

One of the the things that should be noted about this is that the ability to write really good code is sort of besides the point.  Obviously, it isn’t entirely besides the point.  But, you can be a good developer in the sense of following all the shit that ‘Craftsmen’ say you should follow, and yet not be a senior developer, no matter how long you’ve been slinging it.

posted @ Monday, April 30, 2012 7:41 PM | Feedback (3)
If you are in the far left lane on an expressway…

and there are cars lined up behind you, and multiple other cars diving into the next lane on the right who pass you and move back in front of you, please move the f%^& over.  Besides being annoying, you are actually a safety hazard to the drivers around you.

Thanks.

posted @ Monday, April 30, 2012 7:04 PM | Feedback (1)
Marillion – Invisible Man (Live)

This song pretty much sums up what Marillion is and what they do.  With any band that has been around for this long, saying any particular song is their best is open to interpretation, but this is their best.

Hogarth keeps the theatrics to a minimum.  Actually, not really, it’s still a bit much, but better than other attempts.  Just sing the freakin’ song, dude.

Enjoy.

The world's gone mad
And I have lost touch
I shouldn't admit it
But I have.
It slipped away while I was distracted
I haven't changed
I swear I haven't changed

….

My head is haunted
I will scream again
"I am perfectly sane"
"I am perfectly sane"
But I am
The invisible man
I am
The invisible man

Talk to me
Acknowledge me
Confide in me
Confess to me ... or
Leave me be
Leave me be

posted @ Wednesday, April 11, 2012 10:48 PM | Feedback (0)
Words of Wisdom – Doug Gottlieb

"Money doesn’t fix things.  It does make things fun when you have larger problems.”

posted @ Tuesday, April 10, 2012 10:41 PM | Feedback (0)
Repost–Can blargsmack on Tuesdays

This post from K. Scott Allen deserves merit on its own for what he’s trying to accomplish, but I’m reposting largely just so I can reproduce the following sentence:

“Although this code was intentionally obfuscated, it's not unlike walking into the code for a complex domain the first time and not understanding why a wurgled customer can blargsmack on Tuesdays if they hold a vorkenhosen status. All domains are nonsense at the start.”

Brilliant.

posted @ Monday, April 09, 2012 6:04 PM | Feedback (0)
Free TekPub Episode – Why you should care about ASP.NET MVC 2.0

Rob Conery has announced the free availability of a webcast on TekPub

I have not yet watched the entire thing, but since it is done by Scott Sanderson and Rob, it is undoubtedly a good thing to watch.

And, did I mention it is free?

Rob lucky bastard starts it off while sitting on the beach in Hawaii.

posted @ Tuesday, April 03, 2012 9:02 PM | Feedback (0)