Hi Jacopo,
I've recruited dozens of engineers in several disciplines of software development over the past 12 or so years. Recruiting for software development is challenging and I've made mistakes over the years that helped me develop lessons that I now try to follow when coaching entrepreneurs on this topic.
1. Know Your Risk Level and Be Upfront About It - Some of the best engineers I know are very sensitive to the risk level of companies they are considering. Since you are a startup with (likely) an unproven product/startup idea, you will need to convince candidates that the idea is a clear winner and that the risk is worth it to them. Being upfront about this will act as a filter to eliminate developers who cannot tolerate risk. Ask interview questions that probe for this tolerance level.
2. Try Not to Worry About IP Theft (a.k.a. Share Your Business Model) - If a senior developer you interviewed could take your idea, create a competitive product, launch it and gain market share all before you've brought your idea to market, then it wasn't a very good idea to begin with. The friction in creating great software products is very high and does not begin and end with an engineer. So many things have to fit and be executed well to succeed, that the risk of an interviewee stealing your idea and making it WORK is next to nothing. This should not be your "main concern."
That said, there are ways to protect your intellectual property--once you have something to protect--that you should be aware of. This post from Steve Blank is a good start: http://steveblank.com/2009/12/10/someone-stole-my-startup-idea-%E2%80%93-part-3-the-best-defense-is-a-good-strategy/
3. Have Clear Metrics that Execute the Vision - Perhaps my number one lesson that I try to teach non-technical founders is this: the best recruiting tool you have for technical founders is your passion for the product. The best way a technical person (a.k.a. developers) can gain trust that you know how to achieve that vision is to explain the metric(s) that you will track toward achieving it. A good resource on this topic: http://www.amazon.com/gp/product/1449335675/
4. Go Where the Developers Go - If you want to find talented engineers, then start thinking like one. Go to hackathons (see http://devpost.com for events happening in your area), attend tech-based meetups (http://meetup.com), and scour online communities for talent looking for work. As a more direct approach, advertise your position with services like ZipRecruiter, SmartRecruiter, or Indeed.com. if necessary, hire an agency to find a talented developer for you...this will cost you a non-trivial amount of money (typically 15% of the developers salary) but can be a *fast* way to get high-powered engineers.
--------------------
There are many other variables that make answering your questions more accurately a challenge, such as:
- How finished is your product design? This is necessary to guide your recruiting strategy.
- What is your minimum viable product (MVP) that will prove your idea? Has this been validated?
- In the first 90 days of the developer's time with your company, what do you want that developer to achieve? What does success look like. Re-review this every 90 days with the developer.
- What is the market for talent like in your area? Are you looking for someone local or is a remote developer acceptable?
- Do you need someone to manage the entire "stack" for you? Is there an expectation that this person can architect, code, and deploy the software on his or her own (e.g. a full stack, devops-capable talent)?
I'd be happy to help answer any additional questions you have on a call.
Best,
Brad.