You probably know that to be highly productive you should master your programming language(s), know common data structures and patterns, have a working knowledge of algorithmic analysis, and so forth. But there is more—much more—to being employable, a developer who doesn’t spend any time on the bench, worrying about their future. This may seem like a strange focus. We are in the fat years now, with median salaries for developers increasing rapidly (although, according to my friends, still not enough to match the pace of rising rents in San Francisco). It may seem surprising to talk about a time when a developer might have to fight for a job. But believe me, lean times will come.
The first habit of employability is periodically reviewing your employability. The biggest career mistake I ever made was taking a lucrative two-year contract and allowing myself to become complacent about my knowledge. Ours is an industry that can undergo shockingly fast shifts of what are considered “baseline” skills. The trick is that it’s actually more devastating than missing some industry-wide macro trend than missing a shift in your own technology stack. It’s actually quite rare to work with a codebase that accurately tracks the industry consensus; almost all codebases have some lock-in to an unusual library or build tool or coding style.
Bottom-line habit: Stay up to date with your technology stack and have at least a passing knowledge of its most popular new aspects. You don’t need to be an expert, just visibly competent.
Maintaining visibility is the second habit. This is a part of your online persona. Note that I don’t say your “online presence.” It’s probably true of everyone, but as a developer, it’s guaranteed that you’re going to be Googled, and any troublesome aspects of your Twitter, Facebook, Instagram, Whatever-Comes-Next feeds may come to the attention of potential employers. The public Internet is not the place to let it all hang out. Keep a journal, have a way of sharing photos that does not involve social networks, and embrace the writer’s commandment of “know your audience.” Your audience includes future employers. More developer-specific, you can count on having your Stack Overflow reputation checked and your GitHub account glanced at.
Bottom-line habit: You don’t need a sky-high SO rank or repositories with dozens of stars (“I put most of my effort into contributing to my company’s products” strikes me as a very reasonable position), but you should have at least some presence on these sites, which are proxies for community engagement.
Visibility shades into the next habit, which is sociability. I don’t like the term “networking,” which harkens back to a day when “We once met” could be used to get your foot in the door. No longer. I think this is one of the reasons why that enormous social network for professionals (you know the one I mean) is so worthless. Just being linked to someone is worthless compared to networks in which you can actually cultivate professional friendships. There is no faster way to be hired than to have a friend bring you in the front door and vouch for you.