There is a lot of advice on how to hire great developers, which I don't think is quite relevant as far as startups are concerned.
The reason why I am saying this is because we--as a startup in the field of a very specialized niche (CAD applications)--have had significant difficulty in attracting the best talent. Candidates rejected us after learning that:
How can you hire great developers for startups?
Why don't you ask your sales team for advice on how to "sell" these positions? If you are posting the standard developer job listings, you will draw the standard crowd. But you don't want the standard crowd. You want a freedom lover, not a security lover. You want someone who wants to go deep, not broad. I don't know how you are recruiting but you may be offering the wrong job description.
There is a worldwide shortage of great programming talent. Your problem is shared by every other company, large and small. Google, Microsoft, Twitter, Facebook, and Zynga are all having a lot of trouble hiring great developers.
It takes a different type of person to work in a small company:
To solve your recruiting problem, start to think about where you are recruiting. The perfect candidate is not a new graduate from college, but rather someone who has a track record working for small startups... someone who is confident that even if this startup goes bust, they will still be able to find another job somewhere else. The perfect candidate may not be a local, first-generation college graduate on whom the entire extended family is pinning their hopes on a great job for a multinational... it might be someone who went to school in the US, worked for a successful startup (so they understand how fun it is), saved up some money, and is now interested in moving back home.
In other words, the candidates you want might be substantially more experienced, with money saved up, and startup experience. If you're not finding that kind of person you might be looking in the wrong places.
This may be a random idea, but you might try looking around Silicon Valley for expats from your country. They've probably got a nice nest egg saved up, they understand startup culture, and they might be interested in moving home.
Pierre is definitely right. The developers you hire need to be proud and enjoy working for you. And I think the best way to do this, is to basically "sell" them your vision of what the company will/should be. And if they "buy" into the idea, the developers will tag along, which in turn helps everyone reach that goal.
You may not get a lot of people jumping on board, but the people who do will probably share the same vision and those are the people you want. Since those people will most likely be the people who are dedicated to the company.
You can try to offer potential employees the opportunity to buy shares to your company when you go public (if you go public). This might be an incentive for some people.
But from my experience of working in a startup, the things that kept me motivated was mainly the change/opportunity to work with technology that I love. The flex hours, parties, and experience was all just a bonus for me.
I hope that helps a little...
That pretty much depends on your definition of "Great" developers.
Are you aiming at the type of talent Microsoft/Apple/Google are fighting over? This is a market you cannot compete in, if that's the case. Can you give someone a $400K sign-on bonus? I think not, not as a startup.
If you're aiming for the creme de-la-creme of developers, you should know that even in this economy, it'll be they who interview your company, not the other way around. The chance of rejection doesn't exist in their universe because of their absolute mastery of their trade, and should that happen, they will have another offer within days. When money and stability issues are not a problem, it's the other things that will attract them. Pampering work environment (Google lunches/dinnerS?) combined with decent technical challenges and exposure. To be honest, it's hard for me to see how a CAD startup can provide enough competition in that area to say, a cool new internet/mobile/social startup. You're also indicating you can't attract them with ludicrous salaries or ownership of your company. So there's very little you can do in case you're aiming for real major league top tier talent.
Perhaps it's okay for you to just do with good, experienced developers, who'll appreciate a steady workplace and a decent, if "uncool" technical challenge, even though they won't be featured on the "What's buzzing on the web" fashion show?
A company can be stable, but that doesn't mean they're going to keep their current team of developers forever. Convince them that having developers is a must with your company and outsourcing to another firm is not an option. Can you demonstrate you can pay salaries for the next year? Not sure anyone can get any lengthier job guarantee than that.
It's better for a developer's career to create great software in an unpopular language than to have experience creating bad software in a popular language. They have to show they can learn and grow.
Some people don't know what they have until it is gone. Seems like you are talking to candidates that don't value freedom. Maybe junior developers require more direction and boundaries at this stage. You may have to be the mentor and hopes that someone can become a senior developer.
Your salaries are competitive but they are not superior. Do you think this is an issue? You may be forced to have quality instead of quantity. One good developer is better than two bad programmers.
You never mention the opportunity for developers to get any equity in your company. Why else would anyone take the risk of joining a startup with no reward?