Tech recruiting 101: How to hire a developer
Hiring the right developer can make a world of difference to your business. However, if you are a non-techie, then it may seem like an uphill battle. That’s why we have created this guide to get you started. So grab your coffee and let’s do this!
In this article, we will cover the following:
1. Defining the project
2. Speaking their language – Understanding basic technology terms
3. Conducting a job analysis and writing a job description
4. Sourcing technical talent
5. Screening candidates
6. Interviewing candidates
7. Making a job offer
8. Creating an onboarding process
Making the project plan before hiring a developer
To begin with, you need to know what project you want your developer to work on and what’s the objective behind it. For example, maybe you want to create an app to establish an online presence and enable online payments.
Next, design the user journey. If you already have a UX designer, then this would be a breeze. If this is your first development project, then fret not! You just need to put yourself in the shoes of your user and think what kind of experience would they want to have. You can do this by answering questions such as:
1. Who is the user?
2. What is the user trying to accomplish? What steps do they need to take to accomplish this task?
3. Is my app beneficial to the user? How is it different from the existing apps (if any)?
4. What happens when the user opens the app?
5. What are the features that the app must have? (e.g. login page, payment gateway)
This will help you design a basic product that you can present to the developer and subsequently launch in the market. Once you have launched this product, you can take user feedback and make improvements.
Lastly, you need to decide on a budget for the project.
After you have defined your project plan, it’s time to start looking for a developer. However, before you begin, take a moment to acquaint yourself with basic tech terms so that you are able to communicate your requirements better. This will give you the necessary confidence in each step of the hiring process, be it sourcing or interviewing candidates.
Technical terms you need to know to hire a developer
You have probably heard these terms in passing, but now’s the time to dig deeper.
1. Software development lifecycle (SDLC) – This refers to the process of planning, creating, deploying, and maintaining software.
The planning stage is where you decide your project requirements and convey it to the software developer/software development team. The team then gets together to analyse the requirements and make a plan.
2. Minimum Viable Product (MVP) – This is the product that has essential requirements needed before a market launch. Once it is launched, new features can be added or the product can be improved based on user feedback/data. The idea is to test out your idea in the market on a minimal budget before making a huge investment.
3. Front-end – This is exactly how it sounds. Front-end refers to the front part of a website or app that a user sees and engages with. The design of the website is taken care of by website designers while the coding part of it is done by a front-end web developer.
A front-end developer needs to have a good grasp on a few programming languages such as HTML, CSS, and JavaScript. Additionally, they should know how to use libraries such as jQuery, Angular, and React.
4. Back-end – To make the front-end work, you need servers, applications, and databases a.k.a the back-end.
For example, your front-end team has created a login page. The data entered by a user in this form is stored in a database. The next time a user logs in, this information is fetched from the database so that the user can log in easily.
Back-end developers will need skills like server-side programming in PHP, Java, Ruby on Rails, Python, and Node.js. Additionally, they need to have an understanding of databases, APIs, and frameworks.
5. Full-stack – A full-stack developer knows both front-end and back-end development. They can switch between both roles and even lead web development projects.
6. UX/UI – Think about the last time you ordered a meal online. Was the process leading you from one step to another with ease? Or did you have a hard time? All of this makes up the UX/UI of a website or an app.
User interface (UI) and user experience(UX) has become an essential part of every business today. It involves making an online experience intuitive for the user. This helps a user in accomplishing their objective easily and increases the engagement and conversion rate.
UI is how the user navigates your website. UX is how the user feels when going through the website.
7. Cloud computing – Surely you have used Google Drive to share a large file? Companies nowadays are using this technology for building applications, collaborating during work from home, and so on. This is because cloud computing allows one to easily scale up or down infrastructure such as servers and storage. This permits them to innovate faster and save on infrastructure costs.
8. Database – The word ‘data’ is so widely present in the tech industry that you can’t possibly escape it. Most companies these days store and organise their customer’s data such as name, email address, orders, etc. in databases.
Another related term that you should know is DBMS. Database management systems (DBMS) are used for storing, retrieving, and modifying data. They define how the data will be stored in a database.
Common DBMS include MySQL, PostgreSQL, Oracle, Cassandra, and DynamoDB.
9. API – APIs is basically code that allows 2 software products to talk to each other. The most commonplace example is the option to ‘login with Google’ or ‘login with Facebook’. The application that offers this option uses the API of Google or Facebook to authenticate users.
10. Waterfall – It is a SDLC model. In this practice, the project moves in a sequential manner like a waterfall. So, each phase can only begin when the previous one has been completed. One of the disadvantages of this approach is that goals are set at the beginning and any changes are difficult to adapt once the project has begun.
12. Agile – It refers to software development practices that focus on collaboration, regular communication, and openness to change in requirements. Unlike Waterfall, this does not follow a sequential approach.
13. DevOps – This term is made up from ‘development’ and ‘operations’. The development team is responsible for implementing and testing the software while the operations team is responsible for maintenance and troubleshooting.
In the traditional software development lifecycle, these 2 teams worked independently. However, DevOps is a culture that encourages more collaboration between the 2 teams so that any user problems can be dealt with faster.
Hope this helps you in understanding the basics of the tech world, and you can follow along and speak the lingo of tech candidates.
Conducting a job analysis and writing a job description
You now need to figure out the skills your developer must have and the tasks they need to accomplish.
While you may have a general understanding, it can still be difficult to understand some specifics such as:
1. Which programming language should we use?
2. Should I hire a full-stack developer?
3. Do I need more than one developer?
4. Should I hire a freelancer or a full-time developer?
To make this process easy, tap into your network (family, friends, and alumni) to find a technical advisor. You can even get in touch with professionals via LinkedIn to understand what are the technologies being used.
When conducting a job analysis, figure out what’s absolutely essential and what’s nice to have. Not every aspect of your tech presence needs to be perfect from the get-go. Get the basics right, test your idea in the market, and scale sustainably.
By now you would have a clear idea of what kind of a developer to hire, so it’s time to write a job description. Make sure you include the following:
1. Location
2. Project that the developer would be working on
3. Hard skills and soft skills. Divide this into must-have and nice to-have
4. Compensation and benefits. Benefits such as equity can be especially important if you are a startup and cannot offer a high compensation package
5. Starting date
6. Company description
To learn more, read how to write a job description that attracts the right candidates.
Sourcing the candidates
The first step to sourcing tech candidates can be to advertise your job posts. You can explore the following sites to do the same:
1. Fresher Jobs on Internshala
2. GitHub
3. Instahyre
4. LinkedIn
5. StackOverflow
6. Toptal
7. Upwork
Besides posting your jobs, you should actively network and build your talent pipeline. This can be done by attending industry events, blogging about your business and the problem it’s trying to solve, etc. In addition to networking yourself, you can also tap into the network of your employees through an employee referral program.
Screening candidates
At Internshala, we follow a four-step process for screening developers:
1. Shortlisting the resume or cover letter
2. Giving an assignment
3. Conducting a preliminary phone interview
4. Conducting 1-2 technical interviews
In the first step i.e. shortlisting resumes, we filter candidates based on the essential skills and their motivation to learn. If it’s an entry-level role, then instead of looking for prior experience, we look for any projects that they may have done that show their skills in action.
The next step is giving an assignment. This is assessed by our in-house team. If you don’t have a tech team yet, you can take a skill assessment test.
Conducting interviews
Once you have found a suitable candidate, move fast and set up an interview.
The interview round can be a mix of common HR interview questions and behavioral questions such as:
1. Why do you want to work for this company?
2. Tell me about the most challenging projects that you have worked on. What were the challenges that you faced and how did you overcome them?
3. Tell me about a time when you worked on something where you had to learn a new technology. How did you approach it?
4. What are some gadgets that you love and dislike?
5. What kind of side projects do you work on?
6. How would you explain [technical concept] to a non-technical person?
7. Tell me about a time when you had to work with a coworker who you did not get along with.
8. Do you have any feedback for us?
To find more technical interview questions, read 17 Must-Ask Tech Interview Questions.
At the end of the interview, you can ask what their salary expectations are so that you can save time and effort if the compensation isn’t what they are looking for.
Making a job offer
Given that the tech market is extremely competitive, you should make your job offer as soon as you find the right candidate. You can first make a verbal offer over the phone so that both of you can be on the same page before extending the written job offer.
The official job offer should consist of the following:
1. Company logo and letterhead
2. Job title and their responsibilities
3. Compensation, bonus, and benefits
4. Company policies
5. Probation period
6. Terms for termination
7. Job offer deadline
To get more tips, read How to make a job offer that candidates don’t have second thoughts about.
Onboarding a developer
Onboarding plays a crucial role in an employee experience. It helps establish a connection with the team and helps a new hire settle down. Therefore, it should include more than completing paperwork and setting up their laptop.
1. Arrange meet-ups with other teams
This will help them understand how different teams work and make it easier for them to approach them whenever the need arises.
2. Give them an engaging first project that they can handle with ease
A small project can create a feeling of accomplishment. It can also help them get acquainted with existing technology (if any). For example, at Facebook, new hires can fix minor bugs that improve the experience of millions of users. At Apple, new joinees are asked to set up their iMac.
3. Assign them a buddy
A new employee would have a lot of questions that they may not feel comfortable asking you or their manager. In this case, you can assign them a buddy who can help them navigate the new workplace and integrate more easily.
4. Tell them about the company mission and culture values
Learning about the company mission and how their role fits into it can create more employee engagement.
5. Arrange regular one-on-ones
Regular one-on-one should be an opportunity for questions and feedback. This will help you identify roadblocks and help them learn their work faster.
This was all about hiring a developer. If you are ready to hire one, then register and post a job on Fresher Jobs on Internshala. May the force be with you!
Image credits: <a href=’https://www.freepik.com/photos/technology’>Technology photo created by pressfoto – www.freepik.com</a>