I don’t know the answer to your question. Here are some hypothesis:
- Diversity: IDK if your pictures above are representative of the team as a whole, but where are the african americans and mexicans? Also, more experienced people are older. Its good to see Fred George there, but do you really have to be a superstar to be old and a programmer? Again, I’m just speculating here, I don’t know your actual explicit or implicit hiring policies.
- Is your pay really competitive? In a free market, there’s no such thing as shortages; supply is equal to demand, by definition.
- Is the XP/Pair Programming/Agile methodologies really the way to go? If we observe that as programmers get more and more senior, less and less of them see the value in such methodologies, is that telling us something? Is this a wisdom of the crowds-kind of signal which we should be paying attention to?
I’ll stress again, I don’t know enough about your particular situation to really express an opinion here. But I’ll share my story: Around the turn of the century, I was very in-demand as a programmer, and was in demand at both big-name companies and at a very successful startup.
Then, about two years ago when my beard started being obviously grey, it all dried up. I couldn’t get a job for the life of me. After 8 months of looking, I got one offer for almost $10,000 less a year than I made back in 1996 as an intern at Intel.
Finally, I had to think outside the box. I got a job in Manhattan at a financial firm, and its a 180-degree difference. I actually have black co-workers now. I don’t know why that surprised me so much, I guess I had just bought into the valley mindset that we’d love to hire them but they don’t exist. My years of experience were viewed as a value I brought to the table, not as a sign of senility. Moreover, my salary doubled, and I can actually live a middle-class life in the city I’m located in.
Best of luck in staffing up; please let us know how it went and what the real solution was!