5:01 Developers, Family, and Excitement about the Craft
Ramesh Sringeri has a great post about the 5:01 developer. He heard the term from Paul Lockwood who used it in a talk recently.
Paul mentioned the frustrations of working with 501 developers. That was the first time I had heard the term 501 developer. A 501 developer is one who bolts out the door at 1 minute past 5pm. They are "outta here".
I like to think I came up with this term, although who knows anymore on the web? It was probably invented in the 1940s. ;) I knew a guy who said he invented "Location, Location, Location" but he was insane. Anyway...
Ramesh says:
There is never an end to stuff that can be done at work. But I got to stop at some point and "get on with life"....But of late, I am getting tired of coding yet another list box
I posted a comment on Ramesh's blog that I'll continue here.
When I started using the term 5:01 developer I wasn't trying to imply that time spent at work equaled commitment or productivity...although, that's a pretty weak statement from me considering that the term uses time to make its point. ;) It's not a very good term, I think.
What I was railing against by using the term was the person whose enthusiasm turns off at 5:01pm. I have to pick up my son also. I take him to school every day...and that's the way it should be. There's nothing wrong with leaving work on time. I certainly can't code until 4am either, my old hands won't take it. Hell, I code while wearing braces on both hands now.
I'm just saying that I prefer working with folks who are enthusiastic about the craft. Folks whose brains - whose excitement about problem solving - don't turn off at 5:01pm. I use the term 5:01 developer to refer to someone who is just at work to turn the crank. They're not necessarily creating new kinds of cranks or making new innovative crank designs.
I totally agree that coding another list box is a thankless job and I hope I don't have to do one again. I think that the "water level" (or the number of layers of leaky abstractions, if you like) is rising, and we as developers need to make sure our metaphorical boats are going to float with it.
That's why I'm so excited about technologies like LINQ and Ruby on Rails. They are making getting work done faster, easier. That's one of the reasons why I went to work for Microsoft, so I could help developers to get more done, faster...and, ironically, go home at 5:01 to be with their families.
Someone recently posted a comment on my post about Sharpening The Saw that surprised me:
Do you actually make *any* time for your family? There is more to life than work you know.
It was signed "The Unmotivated Masses." Clearly this guy/gal doesn't know me otherwise they'd know that Family Is The Whole Point.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
I like to leave work at 5 simply because I have lots of other things going on in my life. It's not that I'm not passionate about what I do. I love development and I love learning about development. I attend DevTeach and I read books about development all the time. Sometime I wish I could spend 16 hours developing but I'm easily distracted by everything else there is to do in Vancouver.
I'm simply resigned to the fact that I'll never be one of the "Great Developers" out there because I don't live/breath code. I still feel I'm quite adept at my job and love to improve my skills. It just only allocate 1/3 of my life to it.
Ultimately it's about finding balance in your life and being happy.
I think there's a good article out there that points out the fact that you can't really be a professional/expert at anything unless you drop everything else in your life. Personally, I'm content to be a jack of all trades, but understand what my limitations are because of this.
The article has actually made me think that I work best in a team that is also 5:01 coders too. How do you feel about that?
I think the reason it stings a little more for software developers is our craft so heavily utilizes our mind and a 5:01 developer shows a general apathy for the very thing that keeps us passionate - learning.
I am not trying to be a troll. You seem like the kind of guy who is intelligent enough not to settle for the status quo and one who is always looking for the BETTER way to do things. There is a better way. I know you love your family and your kid. Now love him more.
Respectfully,
"Why would you want to spend any more time on a computer?", he asked.
Here's your 5:01...
Take me, for example. I toiled away as a lead developer at my old job, and I LOVED it. Until one day, I woke up and realized I'd been burning too hot for too long, and I decided a change of scenery was in order. So I took a gig as a contractor.
Now, silly me, never having been a contractor, I didn't realize what the term implied. Next thing I know, I'm being pushed into a Mort role (while my innate persona is strongly Elvis), being pressured to work 12 hour days and weekends, doing the most boring work imaginable in an environment that wasn't really as enthusiastic as I was.
That got old, really, really fast. Burnout turned into loathing, and sure enough, I'm now a 5:01 programmer. I hate it - I hate telling the boss that I'm going home, see you tomorrow (while everyone else is toiling away toward the deadline), but I just can't get excited about it. It's really made me question myself and my motivations. I cling to the memory that there was a time not too long ago where development was the reason I got out of bed, but right at the moment I feel a lot like Sisyphus.
The upshot: As much as I hate quitting a job after only two months, I'm starting a new job in mid-September as a Tech Lead with a software company whose values more closely align with my own, and they're letting me work remotely from home (which has been the holy grail of jobs for me for some years now). I'll be reporting to a guy I've known for a few years, and I think we'll all mesh great. I'm optimistic I'll find my enthusiasm again, and my goal is to use that 1.5 hours a day I won't be commuting anymore to do something *I* want to do - like open source projects, local user groups, more time with the kids, etc.
Is anyone else insulted? Just because some people choose to work doesn't mean they love their kids any less. And how do you know his wife doesn't make more money than he does? If she does, are you saying he should give up something he enjoys and gets paid for doing to stay home and raise the kids?
I can't figure out if this comment was sexist or just plain ignorant.
Some people when asked what they do for a living, say "I AM a software developer" and proudly interlace their persona with their career. This simple reply tells a lot about the amount of passion that someone carries with them everyday.
Other people only state "I create software", which probably means that they separate their business and personal persona. Is this a bad thing? To some degree no, but also to some degree yes.
When I blog about software it is normally using analogies that I come up with while outside of work. Everything I do or see, my brain will not quit trying to find correlations to software. Does it make me a little obsessive, yes - but it also helps me be a better developer. The 5:01 developer does not have this luxury nor the desire to view their personal world with developer eyes.
The term "5:01" developer was coined to describe the *opposite* of that. Folks who just couldn't give a crap about software. For whom it's only and simply a job. Where coding is no different from being a Manager at McDonalds (although, arguably, being amped about food service is very possible, and the same rules apply).
I think that we're all saying (myself included) that the term 5:01 Developer is a lousy one because it focuses on when the developer punches out of the time clock. I know developers who put in 4 to 6 hours a day and are much more productive than I. You can leave at 3pm for all I care if the work is done.
I'm in a recent life changing situation and am trying to fit myself into the 5:01 Coder realm after spending most of my career a whenever-I-feel-like-stopping coder. I'm getting older and missing out on all life has to offer. No longer though!
There's a flip-side to this too.
I do have a co-worker that is a 4:45 coder. The others on our team resent him for this. There is no passion to try and work out a problem 'til it's fixed before going home. Recently, we had a series of late night sessions to meet a (rather unrealistic) deadline and this other person would leave regularly at 4:45 every night. The excuse of having to pick up the kids or do something urgent away from work doesn't come into play here; he has no kids and is older and comes from a certain corporate environment that was dissipated when a certain female CEO took over the Garage. He would never ask what he could help with, always assumed it would just be assigned to him. Then when it was said he could get overtime, he would stay til 5:45. Another problem we had was that this individual kept saying that the deadline would never be met. Well, even with his "major contribution" we met the deadline. And now, he's no longer on the team.
The best thing to do in this situation is to evaluate the contribution you are making when you leave for the day. Hopefully, it's a respectful one if not a major one.
If family is REALLY the whole point, why are you dropping your son off at school each day? Are they better equipped to raise him than you and your wife? You have been in the business long enough and you now work for a stable enough company to be able to afford your wife staying home to raise and educate your children.
I am not trying to be a troll. You seem like the kind of guy who is intelligent enough not to settle for the status quo and one who is always looking for the BETTER way to do things. There is a better way. I know you love your family and your kid. Now love him more.
Without getting deep into a home schooling versus private/public schooling discussion, here's some detail you likely don't have. My wife has an MBA, speaks four languages quite fluently, and was making a very comfortable living as in finance when we made the decision that she would take a few years off of her career to focus on the baby. She's now seven months pregnant with our second son and will be staying out of the work force for a few more years. She can and has made more money than I do and she's a non-trivial amount smarter than I (a point made clear to all who have met us together). We have discussed me staying home as Mr. Mom and her going back to work, but then this Microsoft opportunity happened that would allow me not only to work, but work from home, on my own schedule. Now I can not only drop him off at school, but also pick him up and go to the park as I just did today.
My son goes to pre-school 3 hours a day, 3 days a week. It's not a day care, but rather a school with programs in Baby Sign Language and Spanish Language, as well as soccer, dance, and many other topics I'm not familiar with. They are certainly not raising him, rather they are teaching him a few hours a week. At home, we teach him my wife's four languages and my own three, something we are, of course, a better equipped to do. We value having a very well-rounded and balance life. He's not yet two and may already need some additional passport pages.
Again, I do appreciate your honest perspective, possibly it came from thinking I'm "parking" my kid at day-care for 10 hours a day so I can blog, which I'm clearly not doing - with all due respect to those who absolutely must use day-care for extended periods for very valid reasons.
Once one hears the 5:01 developer expression one tends to tie the expression the the phrase 'someone who does not do their time' or 'someone who only does what the time that is required'. At least that was my first knee-jerk reaction to the initial description of a 5:01 developer.
Just my 3rd donation of $0.02
I have worked with a couple 5:01 developers on a project and it's the most frustrating thing in the world. I found productivity all around really tanked on those projects.
Next time I am in an interview (on either side), I will make it a point to ask the other person what projects or extra code they are writing in their spare time (or what they may be learning on the side). If the answer is a soul crushing none/nothing, I'm getting up and walking out. :-)
You know what I mean, you come across something cool on the net and then you've got 5 things you think you could do more easily using that. And you think about it some more and it's 10 things. Then you've got this itch to try it out somewhere, so you do and soon everyone else around you is thinking along the same lines. This is absolutely the best way for new technology to spread, but someone's got to get the chain started. The 5:01 developer by definition is not that someone.
This is not to say that the 5:01 developer isn't competent in what he's doing right now - it's just that he doesn't bring in any improvements. If the proportion of 5:01s in a group of devs goes too high, that organisation stops improving. Once stagnation sets in, it's hard to get rid of it and resistance to new ideas builds up. Soon after that, corporate training enters the picture and all is lost.
That's why I like the where I work - there's always a fair number of people doing something new and neat. I keep getting exposed to new ideas and technologies all the time which I can then put to use to make my life easier and more fun.
This caused a whole lot of hue and cry about 'work-life balance' and how no one should stay in the office beyond 6 and so on.... Now what I see more and more is that people have started taking this 'work-life balance' thingy to an extreme. I have freshers coming right out of college who don't want to put in an extra hour in the office because it will spoil their 'work-life balance'. And some of these kids are obviously talented... what a waste.. When I was a newbie in the industry, I couldn't get enough coding time... I wanted to learn as much as I could...
Sigh... if at the dawn of your career, you are not going to be passionate about your craft, when will you ever be?
I also like your emphasis on "craft" instead of "job." When you have a craft, you care about it and want to perfect it - sort of like a code artisan or something, because you really do see it as an art. This is why we enjoy reading code.
Many times, I find myself spending extra time trying to get my code to better express its intent, much like I would assume an author tweaks the wording in a book to get just the right emotion from the reader.
I understand not liking a coworker who is either a.) crap or b.) lazy, but what comes out of trite phrases like "501 developer" is a race for validation from peers. "I'm not a 501 developer because I code for 16 hours a day!" "Wait, I'm not one because I blog about programming!" "I identify as a programmer so internally my DNA compiles into CLR!"
I'm none of those things. I don't work more than eight hours a day unless someone on my team needs me or I'm at a deadline. I don't even look at a computer when I get home. On weekends - unless I'm on a project for a friend - my laptop sits lonely in my office. I don't identify as just a programmer.
I'm a father, a runner, a rower, an environmentalist, a human being and yes, a programmer. I'm a lifelong learner, and I love to learn everything, not just programming languages. I love technology, but there are so may other things in this world to love, and we have such a short amount of time.
So am I a 501 developer? To the attributes thrown out in the comments above, I sure am. I'm a rock-solid developer with a passion for solving problems, but I don't care if I solve them with LINQ, T-SQL or text files via ODBC. For that matter, if a problem is better solved NOT writing a line of code I'm just as happy with the result. I've been doing this long enough to know that most of us are solving the same problems over and over, just with shinier tools.
I suppose it wouldn't make for as fun a blog post, though, to state the obvious. "I hate lazy developers" is rather self evident, like blogging about how one hates sharp sticks in the eyes. So I understand why people need to create cute labels and then expound on them. But it seems unfair to create a label with arbitrary definitions handed down by one of the priesthood.
IMHO, a young kid who is home schooled only is missing out a lot. Home schooling might be fine at a later stage in life but not for young kids.
While I may leave at 5:01 it doesn't mean I "left work", only that I've "left the building". I'm far to passionate about the software I write to walk away so easily. It becomes something I think about throughout the day.
This doesn't mean that I do not have a life outside of work however. I am equally as passionate about my wife, my children, my friends and family. And given a collision between the two, family always comes first.
I don’t believe I could be as productive or get as much enjoyment out of my work were I not so passionate about it.
It's 5:01, I've gotta go...
Regarding 501 coders/developers etc. It is of course not about when they leave their workplace, it is about what they want and whether they have put enough energy into knowing what they want.
What you mean by 501 coder is probably just a person who does not want to acquire a virtue of craftsmanship/professionalism. What is surprising to me is the fact that people put up very easily with doing boring, not interesting stuff 8 hours a day, 5 days a week - u my book it is a significant waste of somebody's God given talent and creativity.
--
Misha Bergal
MetaCommunications Engineering
Scott is saying that 501 is a state of mind. If you don't care what happens at work when you leave, if you never help out a coworker in need, if you don't spend any time whatsoever learning new things in regards to our industry, then you might be a 501 developer (hey -- a new Foxworthy meme with a geek twist?)
I don't stay past 5 normally. But sometimes I have to. I have to come back in tonight @ 10 PM to press F1 on a server's keyboard since it has a BIOS issue and won't complete the restart. I don't mind, really, because it is necessary, and doesn't happen every day.
When I'm vacation, if someone calls me from work because they need 1 piece of information that I have and it would save them an hour of work, I don't mind.
I love coding. I often do side projects for money/fun at night and on weekends. I also love to be withe my wife (not a computer geek), exercise, play guitar, cook, go to Chief's games, watch TV, see my extended family, etc.
If someone on here says that anyone who does anything on the computer at night is a mere computer geek, then I know the real truth.
They don't define me, I do.
Comments are closed.
The door swings both ways sometimes, however. A person might turn into a 501 if they don't feel they are being fairly compensated or nickle-dimed to death.