Here’s a sentiment with which I strongly agree:

And here’s one where, uh, less so:

Listen: I’m a poster child for programming outside of work. I freelance; I do open source; I start (and sometimes abandon) side projects.

I don’t do any of these things because they make me a better developer. 1 I do them because I want to do them!

Your job as a developer is not to be enthusiastic about your work. Your job as a developer is to deliver value to the organization that employs you — over the expected duration of your employment, that value should exceed your cost as an employee.

If enthusiasm helps that value prop, then great! But it’s not a required ingredient. Additionally, enthusiasm does not connote I love this job/career/industry so much I am going to spend unpaid time demonstrating my love.

You can demonstrate forty hours of software enthusiasm a week and then spend the rest of your time demonstrating enthusiasm for the other parts of your life.

In fact, the best developers I’ve worked with over the course of my career have done exactly this: they work very hard and then they go home and they don’t think about their job. No spare time spent learning new frameworks or messing around with open tooling or brushing up on paradigms.

It turns out the key ingredient to being a good employee is being a good employee, and the other stuff can be left on the wayside.

(Oh, and one parting shot: the idea that enthusiasm about technologies is a precursor for being a great employee belies the fact that dealing with technologies is pretty much the easiest part about being a software developer! Working with others, communicating well, managing your time effectively, and demonstrating emotional intelligence are all much harder — and none of them are going to improve just by virtue of learning PureScript.)

  1. I think they do make me a better developer, but in much the same way that reading I, Claudius on this flight to DC makes me a better developer. 

Liked this post? Follow me!