Solving the talent dilution is as simple as paying the talent a ridiculous salary, and/or giving the talent work they enjoy.<p>Getting by in the US is incredibly easy for a programmer, especially young ones that live off virtually nothing. I can freelance for a week and live a month without a problem. I don't really need more money.<p>Unfortunately, my work options are usually narrowed down to these:
1. Freelance a little on things I'm not wildly interested in, but save enough money to spend the majority of time working on something I actually like.<p>2. Spend all my work time on things I'm not wildly interested in and have some more money, but nothing ridiculous.<p>Maybe I'm weird but given the choice, I'm going with #1 every time.<p>However, there are two circumstances where I might end up working for someone else:
1. Give me ridiculous compensation
2. Let me work on something I want to work on<p>Paying a ridiculous salary is easy in a lot of cases, but nobody ever does that (and honestly, I don't know why).<p>The better option, IMO, is just letting people work on what they want to work on. I don't understand why companies are so awful at describing the positions they have available. If you have positions that are appealing to work on, I'm sure you can find people to do it. If not, whip out the checkbook, or expect poor quality talent.<p>Having interviewed with Asana for the Product Engineering role, I could say I still have no idea what I would have been building had I gotten the job. This made it impossible for me to be excited, I was running purely off the fact that "product" was in the title. Luckily, they had #1 (private chefs and a normal work day sold me), but I imagine they want people excited about the work too.<p>Tell me what you're doing, let me understand how I can help, that will make me more excited.