There is a shortage of experienced developers and when it comes to job offers, most of us get our fair share on a weekly basis.
Most job posts, however, are just terrible. They give us no information and will make sure we select ourselves out of jobs that might actually be a good match.
In a standard market, job ads and résumés are tools to filter out unwanted candidates and only interview the select few. In a market where the demand outweighs the supply, you don’t have that luxury. The senior engineer sitting across the table from you has a steady job and three other potential employers on his phone. You’ll have to convince her and give her good reasons why she should work for you. Not the other way around.
We tend to complain a lot about pushy recruiters and clueless customers, but we never seem to give any useful feedback. Here is an attempt to explain what makes a great job post for senior developers. Feel free to disagree.
Tell us who you are
“Java developer in the London area” doesn’t tell us anything about the job. What is the product? Are you a bank? A start-up? Are you looking for someone to maintain old junk or is it a brand new project? What challenges do you have at the moment? Where can you use our help? Tell us about the team.
Keep the tech talk real
Listing every buzzword you can think of makes you sound incompetent.
It seems whoever posts these requirements believes more is better. It’s not. It’s confusing and scares away potential matches. If you need a specialist in a certain technology, state it. Otherwise, leave it out. Only list hard criteria, because we will assume every one of them is a must-have.
Understand that we can learn
Technology moves so fast, developers can hardly keep up. Don’t require all expertise from day one. Again if you need a specialist in a certain technology, make that clear. In all other cases, clarify what you expect us to know from day 1 and what you expect us to learn. The promise of learning something new is often a great incentive to take the job!
Good: Tensorflow specialist
Good: .NET developer with an interest in Machine Learning.
Bad: .NET, Machine learning, Tensorflow, Perl, Python
Years of experience are meaningless
It’s a running gag among developers: 5 years experience in something that just got launched. It’s also a sad reality for most job posts. 1 year hands-on experience makes you a specialist. 4 years is just a ridiculous demand.
Offer flexible work
Make sure developers can manage their own time. Yes, that means remote work is the norm. Yes, that means coming in at 11 should be acceptable. Show us you offer an environment where we can get stuff done. Most senior developers have a family and a busy professional life. If you don’t facilitate that, they’ll go to the competitor that does.
Attracting in-demand talent means you are constantly competing with other companies. You’ll have to seduce them if you want to stand out. This is not about prima donna employees. This is about attracting experienced people with high market value who have plenty of options.
Most companies have a horrible meeting culture and a 9-5 mentality. Use that to your advantage. Attract the right people by showing them they can learn and grow at your company. Show them that you support their time management.
On the one hand, there is a place that’s happy to have you and will meet you half way in growth and flexibility. On the other hand, there is an organisation that tells you what tools you should use and only cares about the amount of hours you spend on-site. One is a partner in your career, the other one is a bossy manager.
Senior developers have the options to pick. And they always pick option 1.