In the process of recruiting programmers, the company's own situation and the position being recruited are very critical factors. If recruiting for key positions at BAT, HRs don't need to put in much effort to easily receive an abundant number of high-quality resumes. But if it is a startup that is not very well-known, and the position is not a core one, the quality of the job description is very important to the effectiveness of the recruitment.
HRs who understand the programmer community can write high-level, attractive job descriptions, while those written by some HRs make programmers feel very unprofessional, greatly reducing the attractiveness of the position.
So what do programmers like and dislike? In a word, concise, clear, informative, and professional recruitment is what programmers favor most.
Error cases and analysis
The table below lists some common mistakes in unprofessional job descriptions (JDs) and how programmers interpret this information.

How should a proper job description be written?
A high-quality programmer job posting should include the following parts:
1. Company information
Briefly introduce what the team is currently doing. If it is BAT-level, specify the business unit or project.
Tips: In this part, include the URL of the company's product. If the official website looks very unprofessional, job seekers will question the level of the team members. Therefore, the company website is also very important.
2. Team members
Programmers care a lot about the level of the people they work with. If the team is full of top talents, the attractiveness of the position will greatly increase.
3. Job requirements
Keep it concise and clear. This is a disaster area where many HRs make mistakes. Using words like "proficient", "familiar", and "deep understanding" throughout — little do they know that this kind of pile-up
of technical terms is the worst kind of description. Experienced programmers can tell at a glance that the JD was written by an HR who doesn't understand technology.
A recommended approach is to simply and clearly list the tech stack, for example:
Operations engineer: Docker+Ruby on Rails+AWS+HAProxy+CDN
4. Salary and benefits
In the buyer's market of recruiting high-end programmers, writing the salary and benefits section is very important. Especially when describing employee benefits, remember the key principle: "be specific and highlight distinctive features."
Below are some specific examples to illustrate how to use the "be specific and highlight distinctive features" technique to attract excellent programmers.

Source: http://www.codeceo.com/article/programmer-like-job-desc.html