Como contratar um Hacker

Hacker

Quase todo tipo de trabalho você vê para um desenvolvedor de software tem algum tipo de qualificador linguagem. “Procurando por um experiente desenvolvedor C #”, “Engenheiro de Software (Java)”, “PHP Guru Wanted”, “Ruby desenvolvedores”. Isso está errado. Se você quer um bom desenvolvedor de software, você não deve se preocupar com a linguagem que usei no passado. Um bom programador será capaz de entregar valor, independentemente da língua que usei antes.

Se você perguntar a qualquer programador que os traços de um desenvolvedor de software são bons, você provavelmente vai receber uma lista semelhante ao seguinte :

Muita experiência construtiva e variada

Vê o valor em testes automatizados

Tem uma boa compreensão da arquitetura e planejamento de sistemas

Atitude positiva

Auto-motivado aluno

Capaz de identificar a capacidade pessoal

Motivado para continuar a melhorar

Em nenhum lugar na lista que dizer “excelente com .NET” ou “capaz de usar linguagens genéricas”. Não há um recurso de linguagem específica que faz com que um desenvolvedor de software faça bem o seu trabalho. Então por que estamos tão focados em contratações com base na experiência da língua?

Qualquer valor na experiência de linguagem?

A capacidade de perceber e reagir ao código é algo que você vai pegar com a experiência, e permanecer com você entre os trabalhos, projetos e linguagens.

Sintaxe da linguagem, saber o que uma definição de classe se parece, como acessar um banco de dados – estas são todas as coisas que podem ser facilmente aprendidas, e para a maior parte, você pode aprendê-las gratuitamente online. Sabendo que a duplicação de código é ruim, usando testes automatizados para garantir a qualidade do software, quebrando os componentes do projeto em camadas separadas, que são todas as habilidades que vêm com qualquer experiência em desenvolvimento de software, e não uma linguagem específica. Você precisa se ​​concentrar na experiência baseado em habilidades, não em habilidades que qualquer estudante do ensino médio pode pegar depois de um dia na internet.

Assim como você contratar um hacker?

Você contrata com base na experiência do projeto, e com base na paixão. Se você está procurando um desenvolvedor de software bom, você quer alguém que está motivado para manter-se atualizado. Alguém que esteve nas trincheiras e sabe o código ruim quando parece. Alguém que pode olhar para uma base de código e identificar pelo menos três coisas que podem ser corrigido para melhorar a qualidade, o tempo de desenvolvimento e/ou de desempenho.

Você também quer alguém que pode dizer, “Eu não tenho usado muito Java”. O programador que é capaz de identificar a capacidade confortavelmente pessoal e identificar os pontos fracos em seu próprio conjunto de habilidades também será o primeiro a falar sobre fraquezas no seu próprio software ou soluções. Este tipo de programador vai evitar a pressa em um problema com a única ferramenta que eles têm, em vez de analisar o problema e oferecendo várias soluções aceitáveis.

Contrate para ajuste, a conclusão não o código

Porque, no final, não importa onde você coloca seus suportes ou se você digitar “pacote” em vez de “namespace”, a única coisa que importa é a sua experiência, a sua capacidade de resolver problemas, e que você se importa.

Qualquer programador experiênte deve ser capaz de pegar uma nova linguagem dentro de algumas semanas, e ser produtivo em dentro de um mês. Então pare de ficar pendurado em detalhes e em vez escrever seus anúncios e estruturar a sua entrevista em torno de identificar os desenvolvedores apaixonados, motivados e experientes.

Fonte: rtigger