Choosing Your Ideal Back End Developer from A Sea of Options
Back end developers are the guys operating behind the scenes setting up and configuring your servers, maintaining them and connecting them to the User Interfaces & databases of your App.
Their involvement in the project is purely technical with all business requirements being described by the Product Owner and coordinated by the Project Manager. Because back end developers must transform requirements into a “dry” code format, potential candidates for the position of back-end developer must possess extensive programming experience.
The six most important traits of a Back End Programmer
Based on our experience, here is a summary of the skills you will need to look for as part of your recruitment process for back end specialists.
- Skills in the required programming languages. The CTO usually decides upon the Technology Stack and corresponding main programming languages for a particular project himself. However, skill in languages such as Python, Java, Elixir, Go, Rust, C#, Ruby, Scala, and PHP will, undoubtedly, be an advantageous experience for your potential candidate to have. So:
– Clarify with your CTO or client-side advisor what Tech Stack you need, and then;
– Compile a set of technical questions for testing skill levels in the relevant languages of those listed above. Alternatively, you can use special developer skill testing platforms like CodeWars or HackerRank to help you filter out the unsuitable candidates.
- Experience of working with data structures & databases. Back end developers must have extensive experience working with the structures and databases, which a majority of web applications are built on top of. This is an essential requirement, which must never be ignored.
- Code refactoring experience. When a company decides to scale or enhance its product, it will often need to refactor some of its code. This is mainly the responsibility of the Back End developer. That is why it is important to understand the amount of experience the candidates have with refactoring code. One way of testing this skill is to give them a sample code to shortened and/or enhanced in terms of its effectiveness (reduced memory usage, decrease the number of iterations, renamed variables, etc.).
- Web-application development and/or API creation experience. Ask candidates to give you a rundown of their achievements and practical experience in the creation of web apps and application interfaces. This is another important primary requirement for candidates looking to fill Senior Back End development roles for Product and Software companies alike.
- An understanding of the working principles of HTTP & other network protocols. Developers need to know how server connections work to ensure that processing on the “client-server” is protected from SQL-injections and other typical hacker tricks. Otherwise, all bets are off with regards to how to secure web apps are once deployed.
- Autotest creation skills. As a rule, in small IT-companies, testers only conduct the manual testing procedures. As result, creation of autotests is usually the responsibility of the back end programmer.
Once you have verified their general level of professionalism, you should also check how well they can learn in a group. In order to do that, you might:
- Test how they react to critical feedback
- Ask them about what opportunities they see for growth within your company;
- Get them to interpret a highly irregular code sample, noticing how they apply themselves to the challenge
We hope that our little back-end developer position interview tutorial will help you pick the best candidate out there.