An interesting paradox in the technology world is that there is both a shortage and a surplus of engineers in the United States. Talk to those working at any Silicon Valley company, and they will tell you how hard it is to find qualified talent. But listen to the heart-wrenching stories of unemployed engineers, and you will realize that there are tens of thousands who can’t get jobs. What gives?

The harsh reality is that in the tech world, companies prefer to hire young, inexperienced, engineers.

And engineering is an “up or out” profession: you either move up the ladder or face unemployment. This is not something that tech executives publicly admit, because they fear being sued for age discrimination, but everyone knows that this is the way things are. Why would any company hire a computer programmer with the wrong skills for a salary of $150,000, when it can hire a fresh graduate—with no skills—for around $60,000? Even if it spends a month training the younger worker, the company is still far ahead. The young understand new technologies better than the old do, and are like a clean slate: they will rapidly learn the latest coding methods and techniques, and they don’t carry any “technology baggage”. As well, the older worker likely has a family and needs to leave by 6 pm, whereas the young can pull all-nighters.

At least, that’s how the thinking goes in the tech industry.

In their book Chips and Change, Professors Clair Brown and Greg Linden, of the University of California, Berkeley, analyzed Bureau of Labor Statistics and census data for the semiconductor industry and found that salaries increased dramatically for engineers during their 30s but that these increases slowed after the age of 40. At greater ages still, salaries started dropping, dependent on the level of education. After 50, the mean salary of engineers was lower—by 17% for those with bachelors degrees, and by 14% for those with masters degrees and PhDs—than the salary of those younger than 50. Curiously, Brown and Linden also found that salary increases for holders of postgraduate degrees were always lower than increases for those with bachelor’s degrees (in other words, even PhD degrees didn’t provide long-term job protection). It’s not much different in the software/internet industry. If anything, things in these fast-moving industries are much worse for older workers.

For tech startups, it usually boils down to cost: most can’t even afford to pay $60K salaries, so they look for motivated, young software developers who will accept minimum wage in return for equity ownership and the opportunity to build their careers. Companies like Zoho can afford to pay market salaries, but can’t find the experienced workers they need. In 2006, Zoho’s CEO, Sridhar Vembu, initiated an experiment to hire 17-year-olds directly out of high school. He found that within two years, the work performance of these recruits was indistinguishable from that of their college-educated peers. Some ended up becoming superstar software developers.

Companies such as Microsoft say that they try to maintain a balance but that it isn’t easy. An old friend, David Vaskevitch, who was Senior Vice-President and Chief Technical Officer at Microsoft, told me in 2008 that he believes that younger workers have more energy and are sometimes more creative. But there is a lot they don’t know and can’t know until they gain experience. So Microsoft aggressively recruits for fresh talent on university campuses and for highly experienced engineers from within the industry, one not at the expense of the other. David acknowledged that the vast majority of new Microsoft employees are young, but said that this is so because older workers tend to go into more senior jobs and there are fewer of those positions to begin with. It was all about hiring the best and brightest, he said; age and nationality are not important.

So whether we like it or not, it’s a tough industry. I know that some techies will take offense at what I have to say, but here is my advice to those whose hair is beginning to grey:

Move up the ladder into management, architecture, or design; switch to sales or product management; or jump ship and become an entrepreneur (old guys have a huge advantage in the startup world). Build skills that are more valuable to your company, and take positions that can’t be filled by entry-level workers. If you’re going to stay in programming, realize that the deck is stacked against you. Even though you may be highly experienced and wise, employers aren’t willing or able to pay an experienced worker twice or thrice what an entry-level worker earns. Save as much as you can when you’re in your 30s and 40s and be prepared to earn less as you gain experience. Keep your skills current. This means keeping up-to-date with the latest trends in computing, programming techniques, and languages, and adapting to change. To be writing code for a living when you’re 50, you will need to be a rock-star developer and be able to out-code the new kids on the block.

My advice to managers is to consider the value of the experience that the techies bring. With age frequently come wisdom and abilities to follow direction, mentor, and lead. Older workers also tend to be more pragmatic and loyal, and to know the importance of being team players. And ego and arrogance usually fade with age. During my tech days, I hired several programmers who were over 50. They were the steadiest performers and stayed with me through the most difficult times.

Finally, I don’t know of any university, including the ones I teach at, that tells its engineering students what to expect in the long term or how to manage their technical careers. Perhaps it is time to let students know what lies ahead.