If you want to attract top talent leave 25% of your job description unwritten.

Imagine walking into an interview and while you're going through the job description with the tech director he stops and says, "Ok here's the part where you fill out what you want to do."  

 

EVERY TOP DEVELOPER HAS SOMETHING THEY'D LOVE TO WORK ON, OR AN IDEA OR PROJECT THEY ARE DYING TO SEE COME TO LIFE. 

 

In fact, I've never met a great developer that didn't.  If the company they are currently working at isn't allowing them to do it, you'll see evidence of it through their Git repos, developer blog or some other side project.  Now just imagine if someone or some company gave them the opportunity to actualize their project as part of their regular everyday job?  You guessed it Charlie, they'd leave your sad @$$ company in a heartbeat.  

I think one of the things that's so attractive about many startups is that they are very well suited to provide an environment that fosters a developers ambitions and dreams.   Startups are great places to stretch a developers limits.  They also allow them to flesh out ideas without being claimed or owned by some giant corporations legal department well....mostly ;).  

 

Instead, this is how most companies are recruiting.

Hey you!  Come join our team.  We're awesome and what we're doing is important to us.  Come work on our stuff and make our company, product or service better.  In return you'll get {insert stupid company perks here}.   These days most technology workers have a choice.  They can leave your company for a line up of others waiting to hire them or simply start their own shop.  

This being the case, it makes sense to partner with them and get involved in their interests and ambitions.   You'll never create more loyal, happy and productive workers any other way.