in the comments. And it wasn’t necessarily undeserved…after all, it was about debunking myths that have crept in as supposed truisms over the years. But I left out a tiny little detail about something important.

Older developers are killing their careers from their bad habits.

Sorry, the sound you just heard is your jaw hitting the keyboard. “What!? But Dave, you said experience was valuable and…”

Yes, I know what I said. And I meant it. Every word. But there is one distinct advantage the younger set has over us fogeys: they haven’t formed as many habits yet.

I’m not talking about a $5,000-a-day-hooker-and-blow* kind of habit. I’m talking about the practices that you’ve codified into your daily routines as a developer since you started. Like your (in)ability to write clear, concise comments. Or comments at all. Your constant lack of communication with other team members when you’re making major changes because you don’t think it’s necessary. Your refusal to write documentation. Or your passive refusal to learn new technologies because you think you have enough information to do your job already.

These are all habits we’ve picked up over the years. Some are good, like making sure you always have a bug tracking system in place, or using source control like a religion. But not all of them are, like some I mentioned above. If you’ve been developing for more than 10 years, you’ve got a mix of both. Don’t kid yourself. You get them out of sloth or complacency from doing the same things over and over. You don’t bother changing them because well, they’ve worked just GREAT so far. There’s no motive to change. It’s Newton’s First Law of Motion applied to software learning:

Maybe I'll rest since I nailed that gravity thing...

“Any object in motion will tend to stay in motion; any object at rest, will tend to remain at rest, unless acted upon by an outside force.”

After you reach a certain level of competency, assuming you aren’t subject to the Peter Principle and haven’t been promoted out of your competence yet, your motives for advancement are reduced by your motives for maintaining the status quo. You’ve been considered the Senior Software Engineer for 5 years now and you don’t want to become a Pointy Haired Boss anytime soon, so Senior Software Engineer looks like a happy place to stay.

Wrong. Dead wrong.

This kind of thinking is exactly what generates the age-based bias and discrimination on older workers. An attitude of complacency gets you labeled as a slacker. Being a slacker didn’t get you where you are today, so why would you suddenly think this change of strategy is a good idea?

As a younger worker, your mind was more a tabula rasa than the Statue of David. Adding new habits was easy because everything was new to you–doing design, learning frameworks, figuring out how to estimate schedules. You’re cutting a road in your mind with a wagon. The first time is hard because the ruts for the wheels just aren’t there yet. But every time you complete a project, your mind adds depth to the ruts in the road. And after 10 years, that road is well traveled and harder to veer from.

Habits are hard to break, but not impossible. Studies have shown that a new habit takes about nine weeks to take shape and really stick in your mind. That means, on average if you’re really working at it, you can break around 5 bad habits a year, or add 5 new habits, assuming you want to focus all your extra effort into adding a single habit during a nine week period.

Think about it: You can alter your habits such that every year, you spend the time to add 5 new technologies or practices to your repertoire, one about every 9 weeks. Been thinking about learning Agile? How about picking up a new language? Maybe changing source code repositories from CVS to Mercurial? This is exactly how we can all stay relevant in the face of ever-changing technologies.

As far as the bad habits go, what kind of recommendation would you get from a colleague that saw you go from the least-documented code to the best in a 6 month time frame? Wouldn’t that impress them enough to say, “Hey, that old dog can learn new tricks…I’ll be damned.”

If you’re under 30, don’t laugh too hard about these habit-breaking notes. You’ll be here soon enough yourself. Best to cultivate the good habits upfront so you can add more good ones rather than break the bad ones later.

OK, back to the cheering now…that was more fun anyway:

“Old guys! Old guys! Rah-rah-rah!”

* Although you probably want to stay away from the hookers and blow too. I can’t see how that’s good for your career, either. No experience there, just sayin’.

Pick up a new technology or language in nine weeks? I guess that’d depend on the technology or language, but nine weeks isn’t very much time, and it’s not like you can spend eight hours a day doing it.

“Picking up a new technology” != “Mastering a technology”, and in 9 weeks, surely you can grasp the fundamental syntax of just about any language working on it part time, every work day. That’s what the habit forming work is about.

Maybe older developers develop bad habits like not writing comments or not writing documentation or not learning new stuff.

But “Good” older developers do not have these habits to begin with. That is what actually makes them good.
In fact, your points are completely invalidated when it comes to good developers. They became good by avoiding those habits in the first place.

What might affect older developers is that the new lot has a load of fresh ideas and enthusiasm that comes with a younger age, not just the biological age but the age of a career.