Por que é tão difícil recrutar para trabalhos relacionados ao compilador? [fechadas]


16

Na semana passada, alguns colegas e eu estávamos participando de feiras de carreira em três grandes universidades (duas aqui nos EUA e uma na Inglaterra), onde estávamos tentando (sem muito sucesso) recrutar para vários cargos de compilador, desde estágio até de nível de entrada, para mais sênior, para nossa equipe.

Para nossa surpresa, 80% dos alunos com quem conversamos responderam em algum lugar durante muito tempo a linha "Quero criar aplicativos Ansroid", quando perguntados sobre o que estavam interessados ​​em fazer. (E os outros 20%? "Aplicativos para iPhone"!) Alguns até expressaram abertamente que não "queriam construir um compilador, ... é chato"; eles disseram e eu citei.

Então, o que há nos aplicativos móveis que são tão atraentes para (jovens?) "Desenvolvedores" hoje em dia? E da mesma forma, por que o compilador é um tópico tão "chato" para eles? (Eu não acho necessariamente que esses dois sejam mutuamente exclusivos. Certamente é possível criar um compilador para um telefone celular, mas isso não vem ao caso)

O que podemos fazer para atrair mais talentos, ou mesmo apenas candidatos interessados?


8
E antes do iPhone e do Android, eles provavelmente já teriam dito algo sobre a criação de videogames. Descobri que é bastante normal encontrar os "oooh objetos brilhantes!" pessoas nesses eventos e conhece muitos que nunca se preocuparam com feiras de carreira.
Izkata

5
Por que todo mundo quer ser piloto de F1, e ninguém mecânico (ou mesmo engenheiro estrutural)? Eu diria que fama, dinheiro, atenção e emoção são motivos suficientes para a maioria das pessoas.
Kilian Foth

3
Costumávamos caçar pessoas de compiladores que se encontravam em conferências, pessoas conhecidas nas comunidades de código aberto etc. Apenas a caça aleatória nas universidades é inútil. E os compiladores são vistos como "chatos", principalmente devido aos livros muito irrelevantes, como o reverenciado Dragon Book, que ainda são usados ​​para ensinar compiladores nas universidades.
SK-logic

7
PS, em uma nota positiva - disse que os alunos não estão expressando o menor interesse em codificar material CRUD na empresa, embora a grande maioria deles acabe lá de qualquer maneira.
SK-lógica

3
Um problema que eu pude ver, no final, é saber para onde minha carreira vai de 3 anos trabalhando em compiladores. O mercado de trabalho para essa habilidade parece menor na superfície do que a maioria das outras. Se você pudesse vender isso, talvez não doesse também. Presumivelmente, isso levaria ao trabalho incorporado ou no nível do sistema se o trabalho do compilador não estivesse disponível.
Rig

Respostas:


13

Por que é tão difícil recrutar para trabalhos relacionados ao compilador?

Melhor formulado, sua pergunta é perguntar por que é difícil recrutar empregos que não estão na moda atualmente.

E a reformulação está no centro do desafio - tendências . Por si só, não há muito errado com as tendências. Eles sempre ocorrem em algum grau variável.

Qualquer empresa ou domínio de programação que esteja fora do que está na moda atualmente terá um tempo mais difícil no recrutamento de candidatos. É apenas a natureza da besta.

Mas as tendências vêm e vão. Por exemplo, no final dos anos 90 e talvez no início dos anos 00, o RedHat estava chorando e "todo mundo que era alguém" * queria trabalhar lá. Então a economia mudou um pouco, a atenção se concentrou em outros lugares e a indústria pegou novos queridinhos no concurso de popularidade.
* Ok, isso é um pouco exagerado, mas essa é a natureza das tendências

O que podemos fazer para atrair mais talentos, ou mesmo apenas candidatos interessados?

Primeiro, verifique se você está promovendo as partes interessantes desses trabalhos. Todo trabalho tem um trabalho pesado associado a ele, e nós toleramos esses aspectos nas partes divertidas de nosso trabalho. Certifique-se de liderar com as partes divertidas ao descrever o show.

Segundo, certifique-se de promover os aspectos divertidos e interessantes do seu empregador. Por exemplo, se você estiver recrutando nos EUA e na Inglaterra, anuncie sua presença internacional. Se você enviar desenvolvedores para o exterior por períodos de treinamento cruzado, aponte isso. Muitos desenvolvedores estão interessados ​​em oportunidades de viajar internacionalmente e aumentar a amplitude de suas habilidades.

Terceiro, verifique se está divulgando o nome da sua empresa fora da temporada de recrutamento. As tendências vêm e vão, mas você as combate, garantindo que a marca da empresa seja ouvida no mínimo fora de temporada. Existe uma empresa internacional de software realmente grande, sediada em Armonk, que anuncia constantemente para garantir que seu nome seja conhecido. Você provavelmente não tem o mesmo orçamento de publicidade que eles, mas pode segmentar os campi dos quais deseja recrutar.

Quarto, sempre contrate alguém novo a cada ano, especialmente nos anos magros. Não precisa ser a mesma quantia de um ano de crescimento, mas é necessário contratar pelo menos uma pessoa. A mesma empresa que mencionei possui esse tipo de política por várias razões. Dizem que vocês sempre têm um espaço disponível no campus, mesmo nos piores momentos. Essa segurança e força econômica gerarão interesse em sua empresa.

Quinto, verifique se os benefícios e o salário que sua empresa oferece são competitivos. O Word circula sobre a qualidade das ofertas feitas. Os alunos e o centro de carreira do campus sabem quem é barato e quem é competitivo. Não seja barato se você não estiver recebendo candidatos suficientes.

Sexto, verifique se os alunos sabem quais habilidades você está procurando. Eles terão um tempo limitado, na verdade, desenvolvendo compiladores, talvez apenas um semestre ou dois de experiência. Se a percepção deles é que você está procurando anos de experiência ou apenas aqueles que fizeram mergulhos profundos em compiladores, eles não se candidatam a esses empregos. Da mesma forma, os candidatos podem precisar de um grau de garantia de que você os ajudará a fazer a ponte entre o design do compilador acadêmico e o trabalho do compilador industrial.

Por fim, considere doar equipamentos ou softwares ou ambos para os laboratórios de engenharia. Se os alunos não souberem quem é sua empresa, ofereça a eles a oportunidade de descobrir seu produto. A Sun Microsystems se saiu muito bem por um tempo com essa abordagem. Oferecer equipamentos gratuitos ou de baixo custo para as universidades é uma ótima maneira de garantir que os alunos conheçam o seu kit.


30

Bem, primeiro, gostaria de quebrar o estereótipo: tenho 17 anos e contribuo para / escrevi vários compiladores e gosto deles.

Para responder à pergunta, a interação primária de um adolescente com um computador não está examinando um despejo de IL de algum compilador, mas através de aplicativos / sites / videogames. Portanto, é apenas um passo natural que, se alguém decide que quer começar a programar, por que não fazer algo que já "conhece" um pouco e gosta.

Não ajuda que haja uma forte percepção de que trabalhos reais estão centrados na web e em jogos. Então, você já está lutando contra a resposta "Oooh brilhante" dos adolescentes e o fato de eles acharem que é onde está o dinheiro.

Finalmente, ninguém mais ensina compiladores! Muitos cursos de compiladores são relegados a cursos de pós-graduação opcionais. Mesmo quando muitos fazem um curso de compiladores, metade do curso é gasto no analisador, que é sem dúvida um dos bits menos interessantes de um compilador. Portanto, aqueles que se esforçam para se registrar se afastam dizendo: "Ok, escrevemos o analisador, depois a mágica e depois o codegen". Não é exatamente emocionante em comparação com o Angry Birds.

Agora, o recrutamento é geralmente difícil, mas acho que você achará mais difícil do que a maioria, já que muitos estudantes de graduação que estão dispostos a dedicar seu próprio tempo a descobrir como escrever ou contribuir para um compilador já têm planos. Nesse caso, o conselho de Joel para obter bons desenvolvedores é relevante.


1
Meus sentimentos exatamente: a abordagem do Dragon Book ao ensino, com toda a ênfase colocada na análise, está simplesmente arruinando até mesmo o interesse marginal em compiladores que poderia ter sido.
SK-logic

15
Contrate @jozefg . Há problema resolvido.
Reactgular

Sim. Usamos o livro do dragão na universidade. Acoplar isso com um péssimo professor e a turma não foi nem de longe tão interessante quanto eu esperava - meio que arruinou o interesse por mim.
MetalMikester

3

Da perspectiva de um jovem compilador (ish), uma coisa não discutida aqui é a questão de onde as pessoas obtêm sua introdução à tecnologia do compilador.

Se você tiver sorte, eles têm um projeto ou uma classe que discute compiladores. Talvez um curso sobre arquitetura de computadores ou internos que os introduza em várias camadas de abstração e otimização.

Se você não tiver sorte, eles ouvirão dos amigos que os compiladores são: Um problema resolvido, chato, sem impacto, de nível muito baixo, mercado de trabalho muito pequeno etc.

Minha universidade tem um professor que ainda trabalha em compiladores e ele é o motivo de ainda haver pessoas saindo dessa universidade com experiência e interesse na área. Melhor ainda, ele tem muitas conexões industriais e as utiliza para ajudar os alunos a obter experiência de trabalho na área.

Portanto, essa poderia ser uma rota importante: comece a fazer amigos no corpo docente das universidades nas quais você está interessado: comece a tentar associar estagiários e estudantes de pesquisa. Você começará a construir um pool de talentos.


1

Empresa chata Como eles pensam que a construção de um aplicativo móvel é o caminho para a próxima "grande" coisa, então as empresas que as constroem são mais empolgantes e oferecem maiores oportunidades. Vamos ser financiados, ir a público e nos tornar milionários. Não é possível fazer isso com um compilador. Certamente, a melhor coisa da sua empresa não é construir compiladores. Ou é?

Pessoas chatas É difícil recrutar os tipos de desenvolvedores de que você precisa, então intensifique seu jogo. Seja mais criativo em seu recrutamento, anexando-se a professores que ministram aulas de compilação. Encontre seus melhores alunos e corteje-os. Não espere pelo dia da carreira. Todo mundo quer ser procurado e provar isso, oferecer um bônus de assinatura para fazer um estágio.

Sendo comercializáveis, eles podem não ter uma carreira na sua área de produtos / tecnologia. Cabe a você convencê-los de que não é um beco sem saída. Você quer construir aplicativos móveis garoto? É melhor você aprender a trabalhar com falta de memória. Você aprenderá que, em nossa empresa, a esse nível, ele o colocará no 1% superior dos desenvolvedores para dispositivos móveis, caso você escolha mudar. Verifique se eles entendem as armadilhas de alguns trabalhos de desenvolvimento para dispositivos móveis.

Escrevendo código para pessoas Às vezes, pode ser mais libertador escrever código que escreve código. Evite os clientes que desejam adicionar recursos tão inúteis que sugam sua vontade de viver. Você pode consertar essa linha na sua GUI com um pixel desativado?

Steve Jobs se aproximou do CEO da Pepsi e perguntou: "Você quer vender água com açúcar a vida toda ou mudar o mundo?" Eu me pergunto o que a Dell teria dito? "Venha conosco e economizaremos 3 centavos em cada chip que comprarmos!"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.