Hello, readers! Today’s topic is for those who want to employ Angular developers and are looking for some tipps.
First step to do it is, of course, to make an interview. I recommend you to split the interview into two phases. At the first stage, you should check technical skills: it means that the applicant solves several problems online with discussion of solutions. At the second stage, which takes place in the office, you find out the personal qualities of the candidate and discuss with him the details of the work.
It is very important, together with the whole team, to find out which technical skills (hard skills) and personal qualities (soft skills) really matter to you. A big mistake that many teams make is focusing the interviews only on hard skills. At the same time, teamwork skills, organization and other important qualities go are not considered.
I have formulated a few key points below for both stages of the interview. These things are easily applicable not only for developer vacancies, but in general for any that are open in your Angular development company.
Technical interview: main points
1. Formulate key competencies
It is very important to understand both the minimum level of technology proficiency and the maximum of it. Unfortunately, quite often the paragraph with the description of the vacancy, ends with an indication of a technical stack with years of experience for each technology.
Keep in mind that an experienced Angular developer has to possess the following skills:
- Deep knowledge of AngularJS and Angular practices and modules that are usually used
- Building self-contained, reusable, and testable modules and components
- Ensuring a clear dependency chain, in regard to the app logic as well as the file system
- Ability to provide SEO solutions for single-page apps
- Thorough understanding of the responsibilities of the platform, database, API, caching layer, proxies, and other web services used in the system
Skills indicated above are good for junior Angular developers, but, in fact, it won’t be enough for you if you plan to create complex software. So you’d better pay attention to skills of middle and senior developers:
- Good knowledge of CSS and JS methods for providing high-performance visual effects and keeping the framerate above 30fps at all times
- Validating user actions on the client side and providing responsive feedback
- Writing non-blocking code, and resorting to advanced techniques such as RxJs Observables, when needed
- Building custom, general use modules, and components which extend the elements and modules of core Angular
- Experience with all levels of operation available to the front-end, such as from creating XHRs in vanilla JS to using a custom wrapper around HttpClient
- Experience with building the infrastructure for serving the front-end app and assets
- Architecting and automating the build process for production, using task runners or scripts
- Documenting the code properly using JSDoc or other conventions
- Writing comprehensive unit tests using automated TDD tasks
- Creating end-to-end test suites for all components and run them using test frameworks
- Creating configuration, build, and test scripts for Continuous Integration environments
2. Build tasks based on practice
Both a job seeker and a recruiter, I faced various synthetic problems that are not relevant to the future work of the candidate. In addition to the fact that you can cut off the people who are right for you with such tasks, you also form false expectations in the people who do pass through them. So, give such tasks so that you can easily understand if a candidate can handle your usual work.
3. Optimize your time
Try to calculate how much time your employees spend on interviews and how much money it costs the company.
To spend less time, start the conversation with a little acquaintance and go straight to the tasks that you marked as “easy”. If the candidate does not cope with them, then you can give him constructive feedback and finish the interview.
4. Formulate summary and feedback
In six months or a year, the same applicants who you have refused will come to you. Keep a record of the questions you’ve asked them before: first, so as not to ask them again; secondly, to find out if the candidates tightened up those weak points for which they were rejected last time.
It will also be useful to formulate this feedback for the candidate himself in case of rejection. If you clearly and politely point out to the person his gaps and mistakes, the next time he will definitely do better.
What personal qualities should you pay attention to?
The general approach here is still the same as in the technical part: find out what you want from a person and what skills questions you are asking.
- Readiness for your tasks
Many candidates in their resume or in conversation mention that they want “interesting tasks”, and each understands something different under this. Here, it is important for both sides to make sure that the developer’s typical and planned tasks fit into this definition.
- Ability to ask questions
In the first months, the new employee will not understand everything, and in the future, difficulties may arise. It is important that he knows how to ask what is not clear to him, and in the end does what was really wanted from him.
- Ability to reasonably defend own opinion
It is very important to be able to both voice dissatisfaction and criticism, and stand at your ground. The developer’s code will not always be accepted for review for the first time, and the proposed innovation will not always suit him or his colleagues. In general, development in general is an environment prone to discussion.
To test this skill in an interview, ask the candidate to come up with a general solution to a problem of yours, and then discuss the strengths and weaknesses of the proposal. See how he reacts to criticism and draw a conclusion for yourself.
- Ability to take responsibility for their work
The “complete” status in the tracker does not mean that the work on the features is over. There may be bugs in it, there may be suggestions for changes or improvements. It may not stand the test of time and scale.
This means that the developer must be ready to maintain the made component or service, improve it and involve colleagues if his skills are not enough here. It will be very good to talk at the interview about the previous experience of the candidate. To dispel doubts, it is worth asking for feedback from past jobs.
- Cultural fit
Each company has its own established style of communication, a set of business and not only meetings and traditions. Be sure to check how prepared the candidate will be for your conditions.
I had a rather curious hiring when a person went to work and left after a week, because the style of communication adopted in the company did not suit him at all. This, of course, is a wasted week of your and his time, but it is much less frightening than when such a person stays on work for several months and at the same time suffers.