There's a great post trending on Hacker News today about non-hiring practices.
The key idea is that you should always follow up with people that you're not going to hire so that they know where they stand. A "thanks but no thanks" email.
That's great, but it doesn't go far enough.
Every candidate that you decide not to hire should get a "thanks but no thanks" email, but you should do something special for the strongest candidates that you reject.
If the candidate is strong, then I send them links to job openings at some of our peers, partners, and even competitors. Over the years, I've interviewed people who are solid technically but just not the right fit for our culture, team, or organization for whatever reason. In these cases, I'd argue that your meta goal is to get strong candidates to work in the ecosystem that surrounds your company, not just your team.
Getting great people to work in and around your company will drive long term success for the people involved. It builds a strong network of talent can cross organizations, providing you with a culture of support rather than competition.
This extra step always surprises and delights candidates (regardless of if they apply for the jobs you point them to). It's an incredibly nice thing to do that will pay dividends. They'll go on to think and say great things about you and your company. I'm Twitter "friends" with several candidates we passed on by took this approach with. It's lead to several business development meetings, a partnership, and even a speaking engagement. They've also referred new candidates to me for other positions we've had open.
I've had nothing but win from this approach and strongly encourage others to try it.