Prologue

In late 2002 I was laid off by a mismanaged company with a Tier 1 Internet network and one of the largest web hosting operations on the planet. It was a long time coming; more than a year prior they had started the process by laying off a good chunk of the management above me, and in subsequent rounds had given the boot to most of my peers. The company pursued a strategy of growth through acquisition, changing focus every few months. By 2002 I was a minister without portfolio, a man without a country. The people who knew what I did – frankly, who had any institutional knowledge at all – were long gone. My managers came from acquired companies, and my teammates were the leftovers from other groups similarly wracked by layoffs. By the time the inevitable reduction in force came for me, I had been reorganized into a team where my skills might have been a good fit, had the previous year not left my morale so low, my attitude so toxic.

Shortly before the layoffs, a somewhat optimistic director had managed (somehow) to convince her bosses that the endless reorganizations had left her with an entire department of strangers, and that a week of meetings and team building exercises would benefit the company. Those of us who didn’t work around the San Francisco Bay booked flights across land and ocean to meet our teammates. And then the Monday before the meeting, rumors surfaced that there were to be staff cuts.

My own team was broadly distributed (I was farthest east, in DC; our westernmost colleague was in Honolulu), so our travel arrangements all required us to arrive early in order to catch the first official meeting the next Monday. We met up on Friday night in a San Francisco patio bar, where our manager chose for himself the awkward task of talking to each of us individually, to say that he hadn’t been told the layoffs were coming, but he had been instructed to rank his team. He was sheepish as he told me the bad news I’d been ranked the lowest, and didn’t know how to take my answer (I agreed, and admitted I hadn’t been productive, because I had long since given up on caring).

The following Monday, the official team meeting began with our director’s boss admitting officially to the elephant in the room. Six weeks later I was out of a job.

The Life of the Itinerant Coder

Since 2002 I’ve done a lot of looking for jobs. There have been a number of jobs I haven’t gotten largely because I’m too old, too experienced, and thus too expensive. I once got a phone call from one of the founders of a startup being spun out of another company, who was sincerely disappointed that their plan didn’t allow for someone at my level that early in the game. Since most employers don’t even bother to tell you they’ve given the job to someone else, this did offer some small comfort. “I wish I could hire you” is, at least, slightly better than “this other guy is cheaper.”

After a stint at a startup whose backers denied a bridge funding round (costing me my job), and another tour in Big Networking, I worked as a contractor for a few years. Eventually the declining economy took my clients with it, and I turned out to be very bad at the “finding new clients” part of contracting. I started looking for salaried work again.

I’ve been with my current employer since 2010, and I took a substantial pay cut (compared to my rate as a contractor) just to get the steady paycheck. The first year or so involved me being largely overqualified and underskilled for the work I was doing. Since “programmer” roughly translated in most people’s eyes to “web monkey,” I got saddled with a lot of things like pasting HTML ad codes into place and resizing images in Photoshop. Eventually I did land in a position that has allowed me to apply myself, and allowed my employer to profit by giving me the right responsibilities and the freedom to do things my way. I’m now in a position to hire people, although the disappointing reality is that my employers don’t have a habit of paying for experience. I’ve gotten a raise and a promotion, but I’m still underpaid. My salary now is roughly what it was in 2002, in non-inflation-adjusted dollars.

We have hired a couple junior programmers and have posted job listings for more, but the company has a long history of hiring cheap workers and treating them as disposable, relying on contractors to fill in the gaps in experience. For months I have been stating the case that we need more experience in house, but have had to make do. The result of this is that I can come up with ideas, but then I’m the only person who has a chance of making them work. The contractors don’t have any understanding of what we’re doing, and usually lack the communication skills required to gain that understanding; the junior programmers lack the technical skills to turn my shorthand into working code, and lack the experience to recognize a problem they’ve solved before so they can do the same thing again. Both the contractors and the junior employees lack any sort of institutional knowledge.

“Good, Fast, Cheap: Pick Two” is Obsolete

Inexperienced programmers cost more money than you’d expect, because they’re neither good nor fast. “Cheap” isn’t cheap in the long run, because you lose too much productivity to on-the-job learning. Mentoring inexperienced programmers is the only way to turn them into good programmers, and the market is largely unwilling to bear the cost of the experienced programmers who could be suitable mentors.

The Myth of America’s Tech-Talent Shortage, The Atlantic

The market for programmers is broken. The cost of housing alone should have driven that graph up, with salaries rising to match the increasing housing costs of the real estate bubble. Instead, salaries have been flat for those workers who can get jobs at all. There has been no recovery since 2002, the year I first got laid off.

Employers who are unwilling to pay for experience sow the seeds of their own demise. Everybody wants to pay only junior or mid-level salaries, so they hire junior and mid-level programmers. They’ll inflate titles to “senior” to flatter people, but they won’t pay senior salaries. The market is flat. After six or eight years you’re “senior” and your opportunities for growth are done.

The depressing result of this is that each company bears the cost in other ways. If your company is only paying junior programmers, it is losing money as they learn to do their jobs. It suffers the loss of continuity when the junior programmers who did learn something leave for greener pastures, taking their institutional knowledge along with the skills they were paid to learn. Your company then has to pay new junior programmers to learn on the job, all over again.

And if your company is paying contractors, you’re losing twice; once because your employees have to manage them (and thus can’t do other jobs), and once because the contractors come with no guarantee of continuity. Contractors by definition aren’t gaining any institutional knowledge as they do your work for you. Every time your contractors change, your company is back at square one.

Good, Fast, Expensive

It takes an experienced employee less time to do the same work as a junior employee, or one who is new to your company. The advantage of experience is thus that you can solve more problems, faster, than someone who is green behind the ears.

In software this means that an experienced programmer has probably seen your problem before and remembers (or can find) how to fix it, again. The specifics of the platform matter less than the experience that identifies the problem and knows how to start solving it.

This truth is universal. Experienced attorneys know their case law and can cite precedents from memory; experienced doctors know when a diagnosis fits or doesn’t; experienced electricians know instinctively when a circuit has inadequate capacity. Experience comes with an internal library of solved problems. The more problems an employee has solved, the more likely he or she is to know how to solve new problems.

If your company is unwilling to pay for experience, it is paying in other ways. The experienced employee might be cheaper in the end thanks to his or her increased productivity. And as your employees become more experienced, their institutional knowledge should make their value increase. If you are not rewarding that added value, you are likely to lose it.

If you do as my employers did in 2001 and 2002 and attempt to buy and slash your way to prosperity, you will rip your business apart. That company went bankrupt and was sold at auction. More recent history isn’t any kinder, with Microsoft, Yahoo!, and Google all offering long lists of companies and products that were bought, cannibalized, and discarded as their champions moved on and the institutional knowledge was lost.

If you devalue experience, you devalue your company. The cost of inexperience is paid every time you reinvent the wheel. You could be inventing new things instead. Not only can you teach old dogs new tricks, the old dogs are better equipped to teach those tricks to the new dogs when the time comes.