Como selecionar as habilidades do desenvolvedor JavaScript para encontrar o melhor - guia para recrutamento de TI

1. O que é JavaScript?
O JavaScript (também conhecido como JS) é uma linguagem dinâmica de alto nível, baseada em protótipos, não codificada e dinâmica. Dependendo do ambiente, o JavaScript pode ser interpretado ou compilado. É uma linguagem de programação multi-paradigma, que suporta estilos de programação orientados a objetos, imperativos e funcionais.
O JavaScript começou como uma linguagem apenas de navegador, adicionando muitas possibilidades para melhorar sites já escritos com HTML e CSS. Em 2009 tudo mudou. Agora, o JavaScript pode ser usado em qualquer lugar (literalmente em qualquer lugar, mesmo em trajes espaciais) por causa do Node.js - que é um ambiente de execução JavaScript baseado no motor JavaScript V8 do Google. Aplicações escritas em JavaScript podem ser muito rápidas se forem feitas por desenvolvedores habilidosos. Por causa do nível de entrada muito baixo no mundo JavaScript, agora é um dos línguas mais faladas em uso.
Lembre-se: Java e JavaScript não são a mesma linguagem de programação. Os desenvolvedores são sensíveis às suas linguagens favoritas, por isso é muito importante não confundir nomes.
2. O que é importante para o IT Recruiter saber sobre o JavaScript?
A demanda por desenvolvedores de JavaScript está aumentando muito rapidamente. Há algumas coisas que você deve saber quando estiver procurando por desenvolvedores JS.
- Como mencionei anteriormente, o JavaScript é muito fácil de aprender. Com poucas linhas de código você pode mudar o comportamento do site ou fazer um simples servidor HTTP com o Node.js. E esta também é a armadilha do JavaScript - muitos desenvolvedores estão aprendendo apenas pequenas partes da linguagem só para fazer as coisas. Para escrever aplicações rápidas e de alta qualidade você precisa ter um conhecimento muito bom do próprio JavaScript.
- Há um ditado no mundo JavaScript - "Um dia sem uma nova estrutura JavaScript é um dia perdido". Novas ferramentas estão surgindo como cogumelos em tempo chuvoso. Eu não condeno isto - é bem o oposto - eu encorajo-o. Este fenómeno mostra-nos como é criativa e apaixonante a comunidade JavaScript. Mas tal estado de coisas tem um grande inconveniente - nós exigimos dos desenvolvedores conhecimento sobre frameworks que acabaram de ser criados. Muito bom conhecimento de frameworks populares é importante para escrever aplicativos JavaScript eficientes rapidamente, mas é melhor ter um desenvolvedor com enorme experiência com puro JavaScript e frameworks ou bibliotecas mais antigas para aprender novas ferramentas do que ter um desenvolvedor que segue cegamente o que é novo sem um profundo entendimento da linguagem.
- Por outro lado, por vezes, o JavaScript puro não é suficiente. Você pode fazer tudo do zero, mas é demorado e como todos nós sabemos - tempo é dinheiro. Um bom desenvolvedor de JavaScript deve conhecer pelo menos uma estrutura ou biblioteca popular e testada em batalha. E como o ecossistema está em constante mudança, o conhecimento sobre ferramentas que foram usadas há 2-3 anos atrás pode estar ultrapassado.
- Você precisa saber que tipo de desenvolvedor JavaScript você está procurando - é alguém que vai se juntar à equipe Front-end? Ou é alguém que vai trabalhar com aplicações do lado do servidor?
Ou talvez seja alguém que irá trabalhar em aplicações móveis híbridas ou em dispositivos de Internet das Coisas? O entendimento central da linguagem nestes casos é o mesmo. No entanto, cada um desses desenvolvedores deve ter diferentes conhecimentos relacionados ao seu campo de trabalho.
- Para posições de alto nível, experiência comercial é necessária, mas para desenvolvedores de nível júnior ou até mesmo de nível médio, um portfólio interessante com um código bem escrito em um dos serviços populares de hospedagem de repositório (como o GitHub) pode ser igualmente bom. Pontos de bônus se um candidato é um contribuinte de projetos Open Source.
3. Como verificar as habilidades de JavaScript na fase de triagem?
A triagem é difícil quando você não conhece as tecnologias usadas pelos desenvolvedores. É ainda mais difícil quando tudo está mudando tão rápido como no ecossistema JavaScript. Então, vamos passar para algumas dicas práticas de recrutamento de como verificar as habilidades dos desenvolvedores de JavaScript.
3.1 Triagem técnica das habilidades de JavaScript com base no CV
Tecnologia JavaScript - glossário básico de termos JavaScript para recrutadores de TI
O CV do candidato pode nos dizer muitas informações úteis, mas você precisa saber como escolher o que é mais importante. Há muitas frases técnicas diferentes em cada currículo e é muito importante não ficar confuso com elas. Como Recrutador Técnico que procura o JavaScript Developer, você precisa estar familiarizado com toda a terminologia utilizada pelos candidatos.
Você encontrará informações úteis abaixo - isso o ajudará a manter a sanidade durante a triagem.
Glossário JavaScript para recrutadores técnicos
versões em JavaScript | EcmaScript 5 (ES5 - disponível em qualquer lugar), EcmaScript 6 (ES6 - disponível nos navegadores mais recentes), EcmaScript 2016 (ES7 ) |
Estruturas e bibliotecas JavaScript | Angular.js, jQuery, Reage, Backbone, Ember, Vue.js, Polímero, Aurelia, Knockout, Rx.js |
Estruturas JavaScript para Node.js | Express.js, Hapi.js, Koa, Velas, Meteoro |
Gestores de pacotes Node.js | NPM, Bower, JSPM |
Executadores de tarefas e ferramentas de construção baseados no Node.js | GulpGrunt, Brócolos, Webpack |
Estruturas de teste JavaScript | Casper, Mocha, Jasmine, Jest, Karma |
transpilers JavaScript | Traceur, Babel |
Aplicações Móveis Híbridas | Sencha Touch, Ionic, Apache Cordova, IntelXDK |
Supersets ou linguagens JavaScript que compilam para JavaScript | TypeScript, CoffeScript, Elm, Dart |
Estas são as noções básicas. Agora podemos ir mais fundo. Há uma variedade de ferramentas, estruturas e bibliotecas e cada uma delas é diferente. Para tornar as coisas mais especificas, pode haver grandes diferenças nas versões das ferramentas. Se um candidato afirma que conhece AngularJS, é uma versão de framework que nosso cliente está procurando? Continue lendo e tudo ficará claro.
A maioria dos nomes JavaScript comuns que são usados de forma intercambiável:
- JS, JavaScript, EcmaScript
- Nó.js, Nó, ambiente de execução JavaScript do lado do servidor
- Aplicação híbrida, Aplicação móvel híbrida, aplicação híbrida
Relações entre as respectivas versões da tecnologia JavaScript:
- EcmaScript 6 estende o EcmaScript 5 (JavaScripts precisa ser compatível com versões anteriores, caso contrário, novas versões quebrariam a Web)
- jQuery 1.x , 2.x e 3.x são similares
- O Angular 1.x é totalmente diferente do Angular 2.x
- O conceito central é o mesmo, mas há diferenças entre cada versão principal do React
- A Vue 1.x é totalmente diferente da Vue 2.x
- As aplicações escritas com Ember.js 1.x ainda funcionam com 2.x
- O conceito central é o mesmo mas há diferenças entre cada versão principal do Node.js
- NPM 3.x é a versão mais rica do NPM 2.x
É também valioso estar atento às relações seguintes:
- MV* Frameworks - Se alguém conhece um de Ember, Knockout ou Angular 1.x então será capaz de lidar com o descanso
- Aplicações móveis híbridas - Se alguém conhece Angular ou Reagir, então será capaz de fazer aplicações móveis híbridas
- Aplicações do lado do servidor - Se alguém conhece o Express, Hapi, Koa ou Meteoros, então será capaz de lidar com o descanso
Outras informações sobre o currículo que podem mostrar as habilidades de JavaScript do desenvolvedor:
Devido à constante mudança do mundo do JavaScript, não há certificados que possam comprovar as habilidades do candidato. Bem, há um. E é a conta do GitHub. Bons desenvolvedores de JavaScript freqüentemente participam de projetos Open Source como contribuidores ou estão fazendo software por conta própria para o bem maior. Em tal ambiente, eles são expostos a outros desenvolvedores que estão constantemente verificando sua qualidade de código. Compartilhar seu código com outros é a melhor maneira de ser um desenvolvedor melhor.
Outro aspecto é a participação como orador em conferências JavaScript. Muitas vezes os desenvolvedores com habilidades muito elevadas em uma determinada área são convidados a vários lugares para falar sobre suas experiências com essas tecnologias.
3.2 Triagem técnica das habilidades de JavaScript durante entrevista técnica por telefone/vídeo
O currículo pode nos dizer algo sobre as habilidades do desenvolvedor, mas não vai dizer nada sobre o desenvolvedor em si. É por isso que entrevistas por telefone ou videoconferência são tão populares - habilidades são importantes, mas precisamos saber com que tipo de pessoa estamos lidando - e ainda mais importante - com que tipo de pessoa a equipe do nosso cliente pode trabalhar. É por isso que é necessária uma preparação adequada antes de uma entrevista.
Abaixo você encontrará alguns exemplos de perguntas que lhe dirão mais sobre o candidato. Espero que eles facilitem a procura do candidato certo.
- Pergunta de entrevista em JavaScript sobre a experiência do desenvolvedor
Q1: Com que tecnologias listadas no seu CV, você teve experiência comercial nos últimos 2 anos? Quais eram as suas responsabilidades?
Porque perguntar Q1: Ao fazer esta pergunta, você pode saber mais sobre a experiência, responsabilidades e realizações do candidato em Java. Assim, você poderá conhecer melhor o seu candidato.
- Perguntas de entrevista em JavaScript sobre conhecimentos e opiniões dos desenvolvedores
Q2: Quais bibliotecas de JavaScript você considera valiosas e por quê?
Porque perguntar Q2: Esta pergunta mostra-nos o conhecimento do candidato sobre o ecossistema JavaScript. Podemos ver tudo sobre a escolha da tecnologia.
Q3: Reparei que listaste o quadro X no teu CV. Qual é a sua opinião sobre isso? É uma boa escolha?
Porque perguntar Q3: Estas perguntas mostram-nos conhecimentos sobre tecnologia específica. Respostas incertas e trêmulas podem nos ajudar a encontrar mentiras em um currículo. Você também pode se fazer de advogado do diabo com base nas suas respostas "Mas por que não usar a estrutura Y para isso?". Assim, você pode ver como os candidatos escolhem uma tecnologia, justificar suas escolhas e se suas opiniões estão de acordo com suas equipes de TI.
Q4: Se você gostaria de aprender novas tecnologias ligadas ao JavaScript, o que seria?
Porquê perguntar ao Q4: A resposta a esta pergunta demonstra a abordagem dos candidatos à aprendizagem e pode nos ajudar a encontrar desenvolvedores que ainda estão usando conhecimentos ultrapassados adquiridos no passado.
- Pergunta de entrevista em Java sobre a tomada de decisão do desenvolvedor em relação à tecnologia JavaScript
Q5: Em que estágio você se juntou a projetos recentes? Você esteve envolvido na escolha da tecnologia ou na configuração do projeto? Se sim, que tecnologia você escolheu ou recomendou para o projeto e por quê?
Porque perguntar Q5: Tais perguntas mostram não só como um candidato faz escolhas em relação à tecnologia, mas também se eles foram incluídos na tomada de decisões. Especialmente importante se você está procurando por alguém com experiência.
- Pergunta comportamental para desenvolvedor de JavaScript
Q6: Pense na decisão de programar o projeto que você tomou que foi um fracasso. Porque achas que foi um erro? Porque é que aconteceu? Poderia haver algo diferente a fim de transformá-lo em sucesso? Que passos você tomou para melhorar a situação? O que você aprendeu com essa experiência?
Porquê perguntar ao Q6: Esse tipo de pergunta o ajudará a descobrir como o candidato percebe suas decisões, tira conclusões e o quanto aprende de sua experiência anterior.
Q7: Você está contribuindo para qualquer projeto de código aberto ou talvez você esteja mantendo seu próprio projeto de código aberto? Você está participando de alguma conferência JavaScript?
Porque perguntar Q7: Perguntas como estas mostram-nos se um candidato quer partilhar os seus conhecimentos e quer ser uma parte significativa do ecossistema JavaScript. Pessoas com uma forte vontade de partilhar a sua experiência são muitas vezes bons jogadores de equipa.
Confira nosso completo JavaScript salário do desenvolvedor guia.
Autor - Mateusz Rojecki Front-end Developer @ Laboratório de codificadores
Coders Lab (www.coderslab.pl) é a maior escola de codificação da Polónia, que está activa em Varsóvia, Crakow, Katowice, Wrocław, Poznań e Łódź. Durante seis semanas os alunos do bootcamp aprendem tecnologias de desenvolvimento web: front-end ou back-end. Nossos métodos de ensino se concentram em 4 áreas: prática, trabalho com mentor, construção do portfólio do aluno e apoio à carreira. Ajustamos o programa às necessidades tecnológicas atuais do mercado, a fim de apoiar a educação baseada no conhecimento. Mais de 300 alunos formados em bootcamps.
DevSkiller pronto para usar testes de avaliação de codificação JavaScript online
DevSkiller ajuda as empresas no processo de recrutamento de TI, fornecendo-lhes uma infra-estrutura que lhes permite testar as competências de programação dos candidatos no ambiente que imita o 1º dia de experiência profissional. Permitimos que as empresas utilizem a sua própria base de código, projetos inteiros de TI utilizando frameworks e bibliotecas, para testar programadores online. No entanto, também temos alguns testes de codificação JavaScript prontos a usar que você pode usar em sua campanha de recrutamento técnico.
- Competências testadas
- Duração
- 72 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de Datilografia
Lacunas de código
avaliação do conhecimento de Datilografia
Tarefa de programação - Nível: Médio
TypeScript | Redux, Selectors | HR Department Salary - Implementar Selectors Redux que irão processar dados HR. A implementação será testada contra testes de snapshot.
- Competências testadas
- Duração
- 96 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de JavaScript, Reagir,
Lacunas de código
avaliação do conhecimento de JavaScript, Reagir, ES6
Tarefa de programação - Nível: Médio
JavaScript | React, Class Components, Enzyme | Formulário de contacto - Acabar a implementação de um formulário simples React application.
- Competências testadas
- Duração
- 46 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de Matemática, Probabilidade, Habilidades suaves, Ciber-segurança, Vulnerabilidades, Segurança Web
Lacunas de código
avaliação do conhecimento de Ciber-segurança, Netcat, Reverter, Nmap, Caneta de portas, Curl, Senha, Protecção
Tarefa de teste - Nível: Fácil
Cybersecurity | XSS Pastebin - Neste desafio, o concorrente recebe uma tarefa com uma página de pastebin que é propensa à vulnerabilidade XSS no portal do administrador. Isto permite ao atacante fazer-se passar pelo administrador sem conhecer as credenciais correctas.
- Competências testadas
- Duração
- 46 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de JavaScript
Lacunas de código
avaliação do conhecimento de JavaScript
Tarefa de programação - Nível: Fácil
JavaScript | Jogo de escritório - Tic Tac Toe - Terminar uma versão modificada do popular jogo TicTacToe.
- Competências testadas
- Duração
- 51 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de JavaScript
Lacunas de código
avaliação do conhecimento de JavaScript
Tarefa de programação - Nível: Fácil
JavaScript | Word search - Inicializar o objecto WordSearch para segurar a letraGrid e implementar o método de procura que irá pesquisar uma determinada grelha em todas as direcções.
- Competências testadas
- Duração
- 39 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de JS, JavaScript, Reagir
Lacunas de código
avaliação do conhecimento de JavaScript, Reagir
Tarefa de programação - Nível: Fácil
JavaScript | React, Class Components, Enzyme | Search-Engine Application - Implementar uma aplicação para pesquisar e filtrar produtos numa loja online.
- Competências testadas
- Duração
- 87 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de JavaScript, Nó.JS
Lacunas de código
avaliação do conhecimento de JavaScript, Nó.JS, SQL
Tarefa de programação - Nível: Médio
Node.JS | Restante API | Serviço de backend de notícias - Implementar um serviço de backend de notícias criado em Node.JS com Vanilla JS incluindo autorização de escrita e Restante APIs.
- Competências testadas
- Duração
- 51 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de Datilografia
Lacunas de código
avaliação do conhecimento de JavaScript, Reagir
Perguntas de escolha
avaliação do conhecimento de HTML, CSS
Tarefa de programação - Nível: Fácil
TypeScript | Ganchos de Reacção | Gestão do Estado dos Filmes - Aplicação completa de gestão de filmes utilizando Ganchos de Reacção, implementando a gestão do estado para as visualizações existentes.
- Competências testadas
- Duração
- 62 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de JavaScript, Redux
Lacunas de código
avaliação do conhecimento de HTML, HTML5, CSS
Tarefa de programação - Nível: Médio
JavaScript | Redux Selectors | Treinamentos do Departamento de RH - Implementar corretamente os redutores e seletores redux.
- Competências testadas
- Duração
- 107 minutos, no máximo.
- Avaliação
- Automático
- Visão geral dos testes
-
Perguntas de escolha
avaliação do conhecimento de Reagir Nativo
Lacunas de código
avaliação do conhecimento de JavaScript, Reagir Nativo
Tarefa de programação - Nível: Médio
React Native | Cheeper - um novo aplicativo de mídia social - Termine a implementação para que a socialização básica seja possível.
Partilhar correio