Reflections on the 501 Developer Manifesto

The other day, I saw a lot of tweeting about a 501 Developer Manifesto. I had heard the “501” term before. When I originally heard it, it referred to a type of employee who watches the clock to ensure prompt departure as soon as the punch clock allows.

clockwatcher

I’ve also heard the definition coming from Scott Hanselman in which it has nothing to do with a commitment toward getting the job done, but more about a passion for honing the craft regardless of what time it is.

The manifesto seems to be a document by which a person can self-identify as a 501 and unite with other 501s to stand up for their core beliefs. I’ve never considered myself a clock watcher, and I’m unquestionably passionate about learning, improving, and contributing. On the other hand, a lot of the 501 values rang true. It got me thinking…Am I a 501? (not that there’s anything wrong with that)

501 Core Values

The manifesto begins with a list of values with which I am proud to say I agree almost completely. It goes a little something like this (not verbatim).

Value This

Over This

your family business owners
free time free snacks
living your life becoming a “brand”
sustainable pace burning out
personal creative projects unnecessary commercial products
money for nice clothes free Microsoft t-shirts
hanging out w/friends hanging out w/team leads
don’t be mean be a rock star

I don’t really get the aversion to free t-shirts, but most of these are slam dunks.

Wouldn’t Waste Your Dollar…

Time is the most precious asset that any of us have. We cannot replenish spent time. We cannot work harder to acquire more. We cannot stockpile unused time to use it later. No amount of money, no set of perks, and no level of prestige or fame is worth losing your time.

This is especially true of parents. Invest your time wisely, and don’t miss your kids! Watch Being Elmo if you need a concrete example of a man who poured himself into his profession, blinked his eyes, and found his daughter suddenly looking at college. This was the second most terrifying moment in film that I’ve seen in recent months, the first being {spoiler alert!} the truck hitting the kid in Pet Semetary (yea, Semetary…sic).

Additionally, I like to think I’m the kind of person who is who he is. I don’t have a “public persona” that varies from the me you’d get enjoying cheese dip under a tree. The only difference you might notice is one that applies to social settings as well (e.g., I’ve been known to take some time to “warm up” or “come out of my shell” around new people / groups).

Some Weaker Points

I don’t say weaker because I don’t agree with them. I say weaker because I don’t think they are in any way unique to a 501.

I think most of us agree that given a choice, we’d rather do something meaningful, creative, and interesting than something useless, commercial, and hollow. And this is where it starts to fall apart…

When is the last time you got into a really great book but stopped just because the clock struck midnight? When is the last time you finished such a book and felt burnt out, never wanting to read again?

What if I like my coworkers? Consider the hypothetical Jeff McRogers. We get along really well at work and have become friends outside the office. I get the difference between us playing Rock Band after hours vs. fleshing out a technical analysis at the office. However, the manifesto clearly compares “hanging out” to…well, to “hanging out” (alright, they say “playing Fußball”, but you get the point). We’re with our coworkers for 40/168 hours a week. It’s going to be natural to form some friendships, and I feel sincerely sorry for those who have no pleasant company in the workplace.

Now, on rock stars, trolls, and other monsters. I know several card-carrying self-identified 501s that are intensely more arrogant and mean spirited than those who code into the wee hours. In contrast, not all who become proficient demand the removal of brown M&Ms. There are plenty of passionate developers who go out of their way to kindly help those who are struggling. You can care deeply without being a prima donna.

I Don’t Like It, So No One Can!

The values are followed up by a set of bullet points describing non-501 developers who are (according to the manifesto) to be pitied. Do you go home and write more code? Pitied. Do you try to help others out by blogging about what you’ve learned, or sharing it with a user group? Pitied. Even if your blog post is the one that helped me leave work on time by describing the solution to a tough bug, screw you, guy, I pity you.

Mr. T. - I Pity the Fool!

When all of this gets boiled down, it just sounds like the 501 Manifesto is just a way to announce that coding is not on the International Compendium of Acceptable Hobbies. You’re not cool if you code at home. You’re not living life to its fullest if you code at home. You’re a corporate suit chasing the fast track if you code at home. I don’t enjoy coding at home, therefore no one could possibly enjoy coding at home, therefore you suck. Q.E.D.

May I submit that no one is surprised when a mechanic goes home and works on an old car in his garage because he enjoys it?

Us Vs. Them?

It is implied that anyone who engages in the pitiable activities will “…become our supervisor.” This makes it sound like anyone who gives back to the community discards 501 values in favor of becoming a fast-tracking suit.

Maybe I’m an outlier here, but I have this blog and I’ve turned up the dial on public speaking. However, I think I spend more time with my family than a lot of 501s, and I have absolutely no plan to move from code to management. This is about optimizing for joy, not about climbing a ladder.

The What Time Is It Developer

To me, it’s not just a job because I enjoy it as a hobby as well. Does it make me some kind of hybrid? Maybe I’m a “What Time Is It?” Developer.

What Time Is It? Developer Flowchart

Is it work time? If I’m on the clock – people are paying me because they trust me to get something done – then I’m not going to screw around. Granted, I might be trudging through it with my head down if it’s a boring or doomed project, but if that goes on long enough then I’m moving on anyway.

Of course, the caveat always stands that I’m not going to neglect my family because some guy in a suit pulled an uneducated estimate out of his golf bag, took a shot at outsourcing it, and then asked me to clean up the mess. Anywhere you go there will be occasional emergencies and crunch times, but family first is a non-negotiable.

Once my responsibilities are met in a reasonable amount of hours in the office, the rest of the time is mine. If my daughter is awake or I want to spend some time with the wife, I’m not coding, blogging, working on talks, or anything else. It’s family time.

Any other time, I should be doing something I enjoy, be it an active hobby or mindless entertainment. It just so happens that for me, code and technology are simply more interesting than reality television. On the other hand, you better believe that when Arkham City came out, my laptop collected a lot of dust. I do what makes me happy, and that ability to choose is what makes it my time.

Closing Thoughts

Maybe I misinterpreted some of the tone in the 501 manifesto, but I felt like it cast a disparaging light on those who code because they love it. It can be more than just a job without crossing the boundary of obsession and unbridled ambition. I consider myself to be just as lucky as that mechanic I mentioned above, or a die hard thespian who made it big on Broadway. It just so happens that my hobby can also pay the bills, and that is certainly nothing to be pitied.

I’m sure that the author of the 501 Manifesto didn’t mean any harm. I absolutely understand and respect the position of a 501 developer who has a certain competency that pays well, but it’s just a job, and (s)he’d rather be carving cabinets, bowling, or flying remote airplanes. All I’d ask is that 501s understand that those you pity – for us, code is our chemistry set. I won’t call you an apathetic slacker for flying your remote airplane if you won’t call me an over-achieving, family-neglecting shill for having a GitHub account.

Please do chime in on this topic, either in the comments below, on your own blog, or anywhere else. It takes all kinds, and we’ll be working together, so let’s try to understand where the other is coming from.

Note: I stumbled upon this shortly after I wrote a much shorter version of these thoughts in a comment on Google Plus. “It’s all just about priorities and sticking up for yourself.” I cannot agree more.

Advertisements

About David Ruttka

I've been "making computers do things" since I first saw King's Quest on a 286 PC in the mid-80's, but I turned it into a career just over a decade ago. While the majority of my experience has been on the Microsoft stack (C#, .NET, ASP.NET), I've recently been diving deeper into JavaScript and exploring the Ruby universe. Occasionally, I'll do a public speaking gig or write a blog post. When I'm not coding, I enjoy spending time with my family, watching hockey, and playing the occasional video game. You can also find me on Stack Overflow, Google Plus, and Twitter. Microsoft Certified Programming in HTML5 with JavaScript and CSS3 Specialist; MCPD Windows Developer 3.5
This entry was posted in Development, Meta and tagged , , , , . Bookmark the permalink.

7 Responses to Reflections on the 501 Developer Manifesto

  1. jon501 says:

    Thankyou for this sane, utterly reasonable and entertaining post (I love the flowchart!)

    >I won’t call you an apathetic slacker for flying your remote airplane if you won’t call me an over-
    > achieving, family-neglecting shill for having a GitHub account

    i dig this completely, and it’s all that i and my 501 colleagues are really asking for.

  2. Pingback: Open source | 501 Coder

  3. John Gietzen says:

    I whole heartedly agree with your outlook. Programming is a hobby. Everyone should try to find a hobby that can also pay the bills.

    • Ryan Williamson says:

      …And yet, if your all-consuming hobby is also your day job, you may need to get a life. That, in a nutshell, is the point of the 501 Developer Manifesto. Get. A. Life.

  4. I think the distinction also needs to be made between “work coding” and “fun coding.” My employer gets a solid 40 hours of work from me every week, but when 5:01 rolls around I’m out and it’s family time. After THAT, I do still code, but it’s always on stuff that I consider fun: writing a game (with my son!), messing around with microcontrollers, etc. Coding is both my hobby and my job, but that doesn’t mean they have to overlap.

  5. Pingback: Randomness: 5:01 A1C « A Geeky Gulati

  6. Pingback: Lessons for Developers Courtesy of The Avengers | The DevStop

Thoughts?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s