Let’s start with few historical facts:
- React was released in 2013, that is 4 years ago.
- Vue was released in 2014, that is 3 years ago.
- Angular (2) was released in 2016, that is 16 months ago.
- ECMA 6 was published in 2015.
- ECMA 7 was published in 2016.
- TypeScript was released in 2012, that is 5 years ago.
- NodeJS was released in 2009, that is 8 years ago, and that’s when all has begun.
And some findings from own recruitment processes in last two years:
- Most of the candidates considering themselves as senior had no idea about vanilla features of arrays and objects, not mentioning prototypes and functions as class constructors.
- Most of the candidates considering themselves experienced in Angular 2 had no idea what observables are and how binding works in either Angular 1 or 2/4.
- Most of the senior-ish candidates confused dependency injection with imports, could not explain how callbacks or promises works or had no idea of differences between fat arrow functions and normal ones (even when they used them in their own portfolio).
- Hardly any candidate I interviewed for either frontend or backend role was aware of CORS.
Questions I always ask were mentioned before in the article 10 questions I ask each senior Angular candidate.
So what’s the problem?
Currently, we experience massive growth of frameworks and stacks using this language and its subsets (like TypeScript). That created also a huge demand for specialists in that area. Supply is not even close to matching it.
One of the main problems we face in the search for the candidates is the way to assess their seniority. As you see above technology we operate in, as well language used is fairly young. Based on own experience it’s not a rare case to meet developers with over a decade experience and very weak understanding of fundamentals of the language they operate.
So what is the answer?
There is not a single one and my opinion here can’t be used as a rule. And even I promised myself to not build posts on opinion, here I will make an exception (at least I tried to use some data).
- First, seniority in vanilla is quite rare, therefore expensive in time and money. Anyhow adds massive flexibility and should be appreciated.
- Second, seniority in frameworks have little value these days as they simply evolve too fast. It makes sense to focus on it while hiring contractors, but not perms.
- Third, attitude, openness to learn, pro-active behaviour and ambition is a far better indicator of the quality of the candidate than years on the CV.
- Fourth, open source contribution is a massive help and should be a sign. I worked with a number of developers who were afraid to contribute back to libraries they used or did not like the idea of it and often had problems following shared standards or along to changes in the environment.
- Fifth, after few stupid and insulting responses to remote tasks I did in the past I will never do them myself. Same I won’t do them with my candidates. Best interviews I spent with teams that tested my skills in person.
- Last but not least important, we have probation periods forsake. We should use them.
What are your thoughts on that topic? Tweet me at @sielay or comment below.