3 vagas | Código: 328

Desenvolvedor

Atenção! Esta vaga foi publicada há mais de 30 dias e pode já não estar mais aberta

Características esperadas de um desenvolvedor alocado pela consultoria:
 
Qualidade de software

Já trabalhou com Code Review: seja Pull Request ou Merge Request, já fez e gosta que seja feito. Entende que é de grande importância para garantia de qualidade.
Entende a criticidade de testes: não ter pelo menos teste unitário é terrível. Não gosta de ficar sem alguma cobertura de teste. Software é bom, é software testado e ter testes regressivos automatizados é uma garantia para isso. Precisa conhecer pelo menos uma tecnologia de teste das linguagens que trabalhou ou ter alguma estratégia para testar

Conhecimento técnico

Já mexeu com infraestrutura: Seja Windows, Linux, Docker, banco de dados, ambiente cloud, ambiente on-premise, gerenciamento de ciclo de vida de aplicações (CI/CD), configurações de redes, entre outros. Não é só saber usar ou só ter mexido algumas vezes, é realmente configurar algo. O importante aqui é ver se a pessoa sai da caixinha de \"só programo\", porque desenvolvimento é só um dos problemas de tecnologia. Se a pessoa tem problema em mexer com infraestrutura também e não quer essa responsabilidade, não é algo que serve. Aqui o time terá autonomia sobre a solução.
Já desenvolveu ou participou de discussões da arquitetura de uma solução: avaliação de qual cloud utilizar, qual serviço utilizar, qual linguagem seria melhor, qual framework é mais adequado, entre outras. Se o profissional já participou de alguma discussão desse tipo, ele sabe um pouco avaliar tecnologias e precisamos disso.
Fala com propriedade sobre sua tecnologia principal: Se um profissional trabalha há algum tempo com uma linguagem, eu espero que conheça bem a plataforma e quais os perigos que ela tem. Isso demonstra que o conhecimento que ele absorve não é raso. Formas de identificar este ponto:
Verificar se o candidato entende bem da plataforma e características da linguagem que trabalha e sua relação com as outras;
Identificar alguma certificação técnica do candidato. Seja de nuvem, Java, banco de dados, etc;
Conhecer vários frameworks da linguagem que trabalha e conseguir compará-los para tomada de decisão;
Caso o candidato trabalhe com Ruby ou Python, ele está ciente do gap de performance da linguagem;
Para Ruby ou Python, o candidato já ter testado ou estudado outras plataformas fora a padrão, como sobre Rubinius ou JRuby (Ruby) ou Cython, Jython, Pypy, etc (Python).
No caso de NodeJS, conhece bem sobre Event Loop e a diferença de threads x processos que motiva ao ganho de performance desse modelo

Comportamental

Estudo constante: sempre está pesquisando coisas novas e gosta de perguntar de novas tecnologias.
Entendimento do negócio: conhece minimamente o negócio dos lugares que trabalhou. Não precisa ser apaixonado ou dar detalhes, mas sabe que precisa entender para fazer um bom produto
Quer aprender mais e mais: o que nos dá retenção nos candidatos é isso. Temos um ambiente que se aprende muito todo dia. Se o candidato não tem isso, os outros pontos comportamentais não se sustentam.
Ama tecnologia: isso também sustenta todos os de cima. É isso que faz uma pessoa ir um pouco além.
Não é grosseiro ou reativo à críticas: temos um problema que muitos candidatos não gostam de receber críticas e ficam extremamente reativos quando corrigidos. Ser corrigido e criticado é um imperativo na nossa empresa. Toda hora erramos e dependemos de revisões para sermos melhores e por isso somos bem abertos a receber críticas.