How to hire the best developers?

Our approach

How to hire the best web or software developers?

The labor market continues to experience pressure after the quarantine restrictions. However, the crisis hardly affected the IT sector. The supply on the market will not cover the needs, probably for a very long time. 

The demand for good developers, system administrators, engineers, analysts, and testers will continue to grow in 2021. The business focused on optimizing costs, automating business processes, increasing companies’ migration to the cloud, and paying increased attention to data protection issues. At the top are website and mobile app developers, cybersecurity specialists, Big Data analysts. 

It is good news for job seekers, spoiled offerings in the market. For HR departments, the search for a competent specialist in high technologies becomes a real headache. Consequently, the task of HR is not just a suitable candidate, to test him for professional suitability, to conduct an interview, but to be able to keep an IT specialist in his team. Sannacode HR shares her secrets on finding a highly qualified developer and bringing them to the company. 

Where to hire a web or software developer?

The search for a good developer, IT analyst, administrator begins with the formulation of specific tasks. IT professionals want to understand what conditions are in place and what results they need to achieve. The job description must be detailed. 

HeadHunter analysts surveyed 2,000 IT and telecommunications professionals. They found out that the vacancy should contain: the name of the company (54% of respondents), the size of the salary (31%), working conditions - the schedule, the location of the office, the possibility of remote work (30%), a description of the company's activities (27%), the stack of technologies used ( 18%), a description of the social package (12%), a specific project proposed by the employer (10%). 83% of respondents preferred to work in a small company on an exciting project rather than on a tedious task in a large and well-known organization. 

Recruiting agencies and job aggregator sites should be the last resort. There is no single operation of finding a good developer that a company cannot carry out on its own with minimal costs. The in-demand IT specialist does not send a resume to the agency and does not post it on a job search site. 

Automated recruiting apps can’t replace the skills of an experienced recruiter. The best option for an IT company that regularly needs new employees is to develop and keep on hand its database of candidates. 

Channels you can find developers and IT specialist:

  1. Professional resources (GitHub, Gravatar, Brainstorage, MoiKrug, Codeforces, etc.)

  2. Special services (email generators and email verifiers)

  3. Boolean search (search for pages with contacts of candidates matching a specific request)

  4. Social networks

With the help of these resources, it is worth looking for contacts of senior developers and middle developers, architects, analysts, consultants. Junior specialists do not know the rules of the game, so use classic recruiting sites. 

Professional resources

Some professional sites are suitable for finding IT specialists of any profile. Others intended for finding specialists with a narrow profile, for example, engineers working with specific programming languages ​​(Rubygems, Djangoprojects, CPAN) or exclusively on the Android platform. Typically, a user profile will contain at least one contact (in most cases, email). 

Special services

Exceptional services and Boolean search are used to search for contacts (e-mail) of a developer, IT specialist through the company’s name in which he works or his name. 

Email Hunter gives out all the contacts available on the company's website and their sources. VoilaNorbert finds an email address given the name, surname of the person, and the organization's domain. AnyMailFinder.com works on a similar principle, additionally verifying the authenticity of the found contact. 

Boolean search

The Boolean search method builds on searching for pages relevant to the request (with an IT specialist) through the search string’s characters. Quotation marks indicate a search for an exact phrase, * - missing items, incl. URL, | - search by any word. There are detailed instructions for recruiters on how to use this technique. 

In general, the search for contacts of a candidate looks like this: 

  1. You can found a person's e-mail through a search engine by entering [firstname] [lastname] "@ gmail.com" into the search box

  2. We receive the e-mail on the page with the specialist’s mention by entering *@gmail.com into the search box | *@*.com | @ *. * [all information available to us]

  3. You can search the corporate site by designating site: [company] .com [firstname] [lastname] email or site: [company] .com [firstname] [lastname] contact

Social networks

Social networks remain the most straightforward and most convenient tool for recruiting employees for companies’ IT departments. CV Recruitment specialists conducted a study of Internet sources’ effectiveness in searching for IT personnel: among the 11 finalists who scored the maximum five points were LinkedIn, Facebook, and Twitter. It can also include professional communities: Programmersforum, PHPforum, Cyderforum, PHPclub, and others. 

You shouldn’t neglect the opportunities provided by professional conferences, round tables, events for software developers. Finally, the recommendations of colleagues and acquaintances can also play a decisive role in finding suitable personnel. 

How to hire a developer: recruiting routine breakdown

At the interview stage, there is an opportunity to find out if the candidate is suitable for the company. There is a big difference between first impressions, recommendations, and how the new employee gets the job done. Some developers, analysts, system administrators know how to sell themselves, have a good background, know all the necessary functionality but are entirely unable to work in a team. 

Two tasks determine the interview algorithm with the applicant: 

  1. to find out about the candidate's capabilities

  2. to provide him with the opportunity to learn about the company to which he is applying. 

The structure of an interview can consist of the following stages: 

1. Telephone interview. At this stage, your task is to weed out all unsuitable candidates. We recommend conducting a telephone interview in the following order: Explain the reasons for your call and schedule an exact time for a telephone interview if the time you called does not suit the applicant. Ask about the candidate's salary expectations. If his expectations do not match yours, it is better to say so immediately and politely end the interview. Describe the position in a thesis Ask if the candidate has any questions Discuss logistics issues - possible business trips, moving Explain next steps in the interview process 

2. The first face-to-face interview. At this stage, we recommend that you select the best candidates that fit the requirements of the vacancy and invite them to the first meeting with HR. There are many techniques for conducting an orientation interview. In any case, it is necessary to ask behavioral questions: they will provide basic information about the developer’s skills and professional qualities. 

3. Conducting interviews with the best candidates. If it were possible to find two or more suitable candidates for the vacancy at the previous stage, the re-interview would allow making the final choice. Invite a team lead of developers and CTO for an interview. They will help to professionally assess the knowledge and skills of a developer or engineer. 

Discuss with the candidate his motives, schedule, and benefits package. After finishing the interview, do not forget to say when the final decision will be made. 

We have prepared a list of questions for you to find out all the necessary information about a web or software developer. 

Developers interview questions 

Work experience questions 

1. Tell us about a project that you are genuinely proud of? What have you done to implement it successfully? 

Start your interview carefully to reduce candidate anxiety. The answer to this question will give an idea of ​​the specialist’s ambitions and show his view of success and work. Notice if the developer has mentioned other team members or is focusing on their efforts. 

2. Tell us about a project that disappointed you. What would you change while working on it? 

This question will show whether the developer can analyze his work. Don't hire someone who repeats mistakes all the time. 

3. What is the hardest part of programming for you? 

In other words, what weaknesses does the developer see in their technical skills? 

4. What do you think about testing? 

A good developer pays a lot of attention to quality testing. Choose a developer who understands the need for testing at all development stages and will share acceptable practices. 

5. How do you keep up with the latest trends in web development? 

The IT market is developing very rapidly. You need a specialist who will continuously learn and follow development trends. For example, ask what technical publications he reads, what authors and personalities in the IT community he admires, and why. 

6. What development technologies do you prefer? 

It doesn't matter where the candidate works - you need to find someone who can adapt to different technologies and share their opinions. The answer to the question will also show his experience with other frameworks, version control systems, unit testing, and so on. 

Questions about communication and management skills 

7. Tell us what qualities help you in your work? 

You need to find someone who fits into the existing team and culture of the company. Therefore, focus on those qualities that will help the developer successfully cope with your company’s tasks. Depending on the vacancy, some skills will take precedence over others. 

For example, time management and communication skills will be more critical for a remote worker than a full-time developer. 

8. Tell us about the problem you solved outside of programming 

The problem can be anything. For example, a candidate repaired a coffee machine or helped a colleague fix a bicycle. It doesn't matter what exactly he did. The main thing is that you will see his ability to solve problems and interact with people. 

9. How would your colleagues describe you? 

It is a great way to understand how a candidate evaluates himself and his skills, his role in the team, and how he performed in past positions. 

10. Imagine that you cannot solve a development problem. What will you do to find a solution? 

Will he ask colleagues, go to StackOverflow or other resources? There are no right or wrong answers here. It is essential to understand how the candidate overcomes work difficulties. 

11. Have you ever worked directly with a customer or in any way interacted with him? If not, would you like to try it? 

The answer to this question will explain ​​how the candidate reacts to other people's opinions about his work. If you are looking for someone to develop an application or grow within the company in the future, they will inevitably face criticism from users and colleagues. 

Questions to test the developer's technical skills 

12. Please describe the process of creating a web page or mobile app

It is a great way to gauge how well a candidate is performing basic tasks. Do they use snippets to create a basic HTML page quickly, add jQuery and start coding, or use development aids like Bower or Yeoman? 

13. What tools do you use to find bugs? 

The answer to this question will depend on the development environment the candidate is using. Different programming languages ​​use other profilers, and some frameworks have built-in bug fixing tools. It is essential to learn not the device but the approach to solving the problem. 

14. What do you know about CORS? 

CORS (Cross-Origin Resource Sharing) is a core HTML5 element that should be familiar to most front-end developers. The technology allows you to request access to various resources of another domain (jQuery, font libraries). 

15. Can you explain the purpose of each type of HTTP request in a RESTful way? 

Does your candidate know the difference between a GET request and a POST request? Did he forget to mention the PATCH and CONNECT requests? It is a tough question to assessing basic HTML understanding.

16. You have five different stylesheets. What is the best way to integrate them into your site? 

This question tests your understanding of CSS. Will the candidate bundle the styles into a single CSS file or bundle just the application-specific types? And how does it use style libraries like Bootstrap? 

17. How do you organize your JavaScript code? 

The answer to this question will show how the candidate organizes their code. Does it separate JavaScript and HTML? JS is split into logical blocks and stored in separate files? Does it use a script to combine these files into one package? And what about the namespace in JavaScript so as not to clutter up the global namespace? 

18. How do you take SEO, performance, security and UX into account when building your app? 

It is a fundamental question. The ability to understand and combine these factors at work is a crucial skill for any web developer. It will also be clear from the answer what the candidate gives priority in programming. For example, if you are a large financial company, security will be more important to you than SEO. If you are an online publication, website performance and SEO come first. 

Useful tips as a conclusion 

  1. Don't get hung up on a university master's degree. Smart programmers may not have it. Think of David Karp, who dropped out of school at 15, created Tumblr, and then sold it to Yahoo for $ 1,000,000,000. After all, even Zuckerberg left Harvard in his sophomore year. 

  2. Tell the developer what to expect from working for your company. Your expectations must be aligned in the long run. For example, suppose a developer is looking for a job that does not require communication with customers. In that case, he is unlikely to be happy if he finds out that he continually has to go to interviews. 

  3. Before the interview, provide the candidate with links to materials, projects, and products worth exploring. It is what Google and Facebook do. You will understand how interested in working for your company and how executive he is. 

  4. Invite your friends (including on social networks) to search and ask them for recommendations. Representatives of many companies say that it often brings more significant results than using specialized sites. In particular, this approach is practiced in ICONIC MOBILE, HTML Academy, Google, etc. 

  5. Hackathons and competitions are a great resource and opportunity to collaborate with talented developers. 

  6. Take advantage of services like Greenhouse, SkillSurvey, СlearCompany, Jobvite. They help in effective search and selection. 

  7. During a pandemic, you can bring the process of hiring a web or software developer online. You shouldn't neglect some of the stages of the interview. Just use Google Meets or Zoom.

  • News

    Sannacode listed among the Top iOS App Development…

  • Web development

    How to create a website like Netflix?