We have an abundance of human talent in the remote world. However, finding the best engineers for your startup can be difficult. I’d like to share a seven-point checklist for hire backend developers.
Our Objective
As the owner of a startup, you require the best engineers to work on your vision. I’d like to highlight some characteristics of a good back-end engineer, also known as an API REST services developer.
Courtesy of freepic
1. Enforce REST standards
90% of developers still build APIs like /employee/create
The majority of developers do not understand or use REST standards.Ask for a swagger document from your backend engineer. The Swagger can give you a clear picture of the design skills. An ideal REST compliant API can be found here — Twilio
2. Build secure APIs
90% of the products still write back end security code
The code’s security must be 100% external. Look for people with Autho or JWT experience.
3. Experience using industry standard design patterns
Clear separation of concerns must be handled using suitable design patterns. At least basic knowledge of MVC, MVVM etc depending on your tech needs. Proficient developers also exhibit knowledge of micro services, CQRS etc
4. Validation & Exception handling
Business rules and common sense validations are done externally using a rule engine wherever possible. Handling your edge cases and doing proper exception handling to take care of your business edge cases it’s a trivial responsibility to expect from your server-side guy
5. Common Sense Database knowledge
Use ORM where possible. Understanding basic table syntax, when to use an index, how to partition your tables, connection pooling, caching across DB layer, effective joins/views, etc is mandatory. See if your back end engineer can talk about this and share some thoughts
6. 12-factor principles
Micro services app or Monolithic app, I am a big fan of 12-factor principles. Effective use of 12-factor concepts helps build scalable, reliable and secure back end systems.
7. Clear understanding of Git & workflows
Why does merge conflict occur ? How to avoid this ?
Simply asking this question will surprise you at how many competent developers fail to respond. A good developer must have a solid understanding of Git and respect for the code base.
Conclusion
These are just my two cents. Anybody who can reason with you and argue about the 7-points highlighted is your candidate.
Good luck finding the right person !