one point al3x didn't talk to: not all startups will teach you to be an awesome engineer. If a startup is really hiring the best of best, a less experienced programmer is not likely to make the cut. Ever look at your code from 6 months, a year, 5 years ago? and how bad it is? Many tech startups don't have time for that, the quality of your work can make or break a startup. Elite startups want "ex-googlers". So if you…
I run a bootstrapped company and we hire the cheapest engineers we can find. I interview for competence in the one thing they understand, and then just how fast they learn. I cannot overstate the number of people out there that are incredibly smart, but can't describe basic information like how the HTTP protocol works. It is completely baffling. These people can be explained how the protocol works in 10 minutes, and…
The other end of the spectrum is, you could contract someone like Tony Morris[1] at $250 an hour for 20 hours a week, and he will build your product faster than a team of untrained engineers, or more likely, build a product that untrained engineers aren't capable of building, with a defect rate close to zero.
Not every strategy is right for every business, but generally, the harder the technical challenges, the more cost effective it is to pay for a superstar.