Be a Better Developer: 1 – Being a Student

Friday, November 13 2009

This blog post is part of a larger series named “Be a Better Developer”.  You can check out the intro, “Stop Being a Code Monkey” to get started from the beginning.  Each post will have a link to the previous ones and a final summary post will contain links to all entries in the series.

__________

Photo Credit: Michael Wood - used under Creative Commons Attribution License

Ever heard of the phrase 5:01 developer? Or maybe 9 to 5 developer? This refers to people that just show up to work, code some and leave exactly at 5:01 PM. They don’t touch a keyboard or technology resource outside of working hours unless you count a remote control or video game controller.  Over the last ten plus years I’ve been working in this industry I’ve definitely met quite a few people like this.  Some of them had legitimate reasons why they could devote little to no time to technology outside of the office. Maybe they were a single parent of a child with a disability, or they took care of an elderly parent.  For some it just wasn’t a priority to increase their skills.  Most of the time these were also the people that were falling behind in technology.  They were some of the first ones to get let go when cuts were made, or if they suddenly needed to find new work found that their resume was full of technology that was sun-setting, or just not used anymore.

In most cases the people I’ve met that fit the description of 5:01 developers were full time employees (FTE) of a company.  They had settled into a good job that perhaps wasn’t overly challenging and their company didn’t put a high priority on training.  Over time the skills they needed on a daily basis just grew outdated, but the company wasn’t pushing forward so there wasn’t a great need for them to push themselves.  In some cases it worked out great for both the company and the employee.  Other times the company decided to push forward and since the employee didn’t have current skills they hired someone new, or pulled in consultants in order to move quickly.  In even worse cases the company folded and then the employee was left without any current skills.  I rarely have seen consultants take the attitude of a 5:01 developer; however, there have been a few.  Consultants are expected to have a much broader understanding of technology, and be up-to-date in their skills.  This is an expectation from their clients and their employers (even if they employer themselves don’t provide the training).

I’ll note that in some rare cases having the skills for a dying, or sun-setting system or technology may be a boon.  For instance, there are so few main frame developers these days the places that still use them may be paying top dollar to keep the ones they have.  Eventually though, if the mainframe does go away at that company, or the employee is let go before they retire, they will be stuck trying to find that company that needs those mainframe skills rather than being as marketable as possible.

When comparing the 5:01 developer to someone who is keeping up on things (or at least attempting to) I like to use the analogy of learning to play an instrument.  You can choose to simply play only during your scheduled lessons with your instructor, or you can practice between the sessions.  If you choose the first option of only playing at your lesson times you will, eventually, learn to play.  But you’ll be no match for the person who spends time outside of the lessons practicing. 

 

To be a good developer you have to be a student.

Photo Credit: dcJohn - used under Creative Commons Attribution License In 2006 a group of teachers led by Karl Fisch performed some research into the use of technology in the classroom. They produced a presentation that quickly became a meme on the internet called, “Shift Happens” (there’s a few incarnations or variations on this video). If you haven’t seen this, it’s definitely worth watching just to get a handle on the scope at which our lives are changing. One of the tidbits of this research was that:

              • The rate of new technology information is doubling every 2 years.
              • For students starting a technical or college degree, this means that half of what they learn in their first year of study will be outdated by their third year of study.
              • By 2010 it is predicted to double every 72 hours.

Since we are now just weeks away from 2010 I’m not sure if this prediction from four years ago has held true, but what does this trend mean for us as developers? In order to stay relevant we must keep up as much as possible, which is becoming increasingly harder.  I’ve had a lot of conversations about just keeping up with the tsunami of technology that washes over us.  Some people call it “Drinking from a fire hose”.  It’s definitely not easy, and as the rate of new technology increases the effort required to keep your head above water also increases.

So how do you keep up with all of it?  Personally, I don’t think it’s possible, but I do think you can keep up with more than you think you can.  Just like managing a project, managing your career and becoming a better developer is all about priorities.  You have to prioritize your ongoing education with the rest of your life.  Some people will rate it higher than others, but if don’t want to wake up in a few years and realize that your resume only contains technology that is no longer used you’ll need to put at least some priority on continuous learning. 

In the next post in this series I’ll list a few things I do to further my knowledge base that you might find helpful. 

 

Previous Posts in this series:

Comments

Tuesday, November 24 2009 5:53 PM Justin Kohnen said:

Well said Mike.