I’ve been thinking about this quite a bit lately.  Why do so many pro athletes experience what they call “The Sophomore Slump”?

In case you aren’t familiar with it, The Sophomore Slump is the idea is that a rookie comes in to the league has a great first season, exceeding anyone’s expectations and when the next season starts he doesn’t have the same great statistics. I’m not sure whether this is equal parts perception and statistics, but I’m sure there are many reasons why this can happen.

However, I’ve got a theory about it that I don’t hear people talking about much: Bad coaching.

I’m a confessed sports nerd, especially hockey.  A hockey team needs (as much as talent), great chemistry to be successful.  Naturally you will have your superstars, but truthfully every single player that makes it to the NHL has been a superstar in just about every league they have ever played in.  The NHL is similar to MLB in it’s adherence to tradition, and so many coaches wind up with jobs because they want to coach not to lose.  “Defense wins championships” is something I hear a lot.  While I do agree that a solid defense bolsters your offense (notice I didn’t say The Best Offense is a Good Defense, which is the LAMEST cliche I’ve ever heard).  I see so many rookies come into the league and just play like their pants are on fire and really seem to be having fun, only to be reigned in to “the system” in their second year.  Why you would want to change a player who had such amazing individual success has never made sense to me.  Let people be creative and stop relying on the “highest percentage” play to win games.  Take some chances and encourage players to do the same.

What the hell does this have to do with software development?  Well, I encourage (even demand) people I work with to take a creative approach to problem-solving.  Most of the time you will encounter developers or designers who have a style and creative flair for the way they do things, so why talk them out of it and do it the “proven” way?  Too often you wind up with very standard solutions that will solve the problem from a technical standpoint but leave little or no room for any personality or creativity.  Ok, maybe my metaphor is a tad labored, but I’m growing tired of all of these applications that seem to look and behave the same way.  Shake it up, people!