At a first glance, the difference between three core levels of developers seems evident. But where exactly the ‘junior’ turns into ‘middle’? The primary thing to know is that junior, middle and senior are, generally, the labels. Every company outlines its specific set of measures, different for every corporation, depending on its scope.
Obviously, even with the most accurate job description, you can’t put every employee into a rigid framework. Sometimes outstanding coding skills are coupled with poor decision making and a bare understanding of how everything functions outside of the box. So, it’s crucial to evaluate a person including all the pros and cons and define the specialization level accordingly.
Considering those multiple factors, it’s easy to figure out that developer is represented by lots of additional features besides coding skills. Personal traits, energy to learn, communication with team members and business partners, solving problems and taking responsibilities worth nothing less than an ability to write code, especially at the advanced levels.
Despite a flexible classification, there are general requirements for each level that most of the companies share, especially for Ruby on Rails developers. Let’s get to the insights of those requirements, based on values of Coax Software:
- Basic knowledge of the area;
- Basic knowledge about HTTP protocol (protocol structure, types of nodes);
- Basic knowledge of Rails: MVC, ActiveRecord, work with assets, deployment Rails-application on Heroku;
- Knowing at least one programming language;
- Awareness with Linux, skills in using and customizing one of the editors for Ruby/Rails;
- Redis, Sidekiq, HAML/SLIM and AWS infrastucture knowledge;
- Ability to write simple code under supervision (Ruby language);
- Strong desire to learn, tolerance to criticism.
Can fail at: bug fixing, writing code without supervision, creating a complex image of the problem, communication, and understanding the company’s environment.
Hiring a candidate with a strong desire to learn can be a thoughtful and profitable investment. Juniors can perform basic tasks and improve their skills with a help of experienced colleagues. Moreover, at their first projects juniors try to show their best, so the customer can have the proficient service for less cost. Aside from code-related tasks, a crucial part for junior developer is to absorb the work ethic, how to interact within the company, and how to become a valuable part of the team.