
Eu tive a chance de tocar nos resultados do HackerRank 2018 Developer Skills Report, com base em uma pesquisa com mais de 39.000 desenvolvedores de todo o mundo. Por trás do corte, uma breve recontagem do que vale a pena aprender e o que procurar se de repente você quiser que a matriz o leve uma vez ao seu mundo digital do futuro.
Treinamento e educação
Todos os quarto desenvolvedores que participaram do
estudo HackerRank começaram a codificar muito antes de ele ter permissão oficial de dirigir por lei.
Nunca é cedo ou tarde para iniciar a programação. Dos aproximadamente 39.000 desenvolvedores entrevistados em todos os níveis profissionais, mais de um quarto escreveu seu primeiro pedaço de código antes de completar 16 anos.
Enquanto isso, de todos os desenvolvedores que começaram a codificar após 26 anos, 36% agora são desenvolvedores seniores ou mesmo superiores que estão crescendo rapidamente em suas carreiras.

A revolução do PC provocou ambições únicas entre as crianças dos anos 70. Diferentemente das gerações subsequentes, se os filhos dos anos setenta quisessem ver tecnologias inovadoras, teriam que criá-las sozinhos - não tinham outra escolha. Não havia recursos generalizados para ensiná-los a criar software. Quase metade de todos os desenvolvedores (47%) entre 45 e 54 anos começou a codificar antes dos 16 anos. Enquanto isso, desenvolvedores entre 18 e 24 anos são, de longe, os menos propensos a começar a codificar até 16 (apenas 20%).
Os desenvolvedores entre 45 e 54 anos foram os primeiros a colocar em mãos PCs relativamente poderosos, como Acorn Archimedes, TRS-80, Commodore 64 e Apple II. Em condições de acesso limitado à educação formal, os jovens que participaram da revolução do PC tinham um desejo extraordinariamente forte de aprender a programar de forma independente.

O Reino Unido possui liderança na educação de jovens programadores. Dos 17 países representados na pesquisa, a terra natal de Sherlock Holmes e o futebol se destacam com a maior proporção de jovens desenvolvedores que começaram a codificar aos 5 a 10 anos. Há uma explicação muito razoável para isso. A Inglaterra foi o primeiro país a modernizar seu currículo de forma que agora as crianças com menos de 5 anos de idade sejam obrigadas a frequentar as aulas de programação.
O governo citou repetidamente o fato de que o conhecimento precoce da codificação é um passo importante na criação de portas para uma carreira em software e na compreensão dos princípios do pensamento computacional e do software que afeta a vida cotidiana.
Aprenda, estude e estude novamente!Parece que todos os anos há uma nova linguagem de programação, estrutura ou biblioteca, que é distribuída através dos blogs dos desenvolvedores. Auto-educação é a norma para desenvolvedores de todas as idades. Apesar de 67% dos desenvolvedores possuírem formação acadêmica, aproximadamente 74% disseram que eram pelo menos parcialmente autodidatas.
Em média, os desenvolvedores conhecem quatro linguagens de programação e desejam aprender outras 4. O grau de sede de aprendizado varia de acordo com a geração - jovens desenvolvedores de 18 a 24 anos planejam aprender 6 idiomas, enquanto pessoas com mais de 35 anos planejam aprender apenas 3.
Como a programação é focada em pesquisas independentes destinadas a solucionar novos problemas, a autoeducação é uma parte importante de um desenvolvedor de sucesso. Ao escolher o que estudar em seguida, o melhor princípio orientador é se colocar na mesma disciplina e aprender ferramentas como meio de crescimento. As ferramentas sempre mudam. Por fim, é a curiosidade e o interesse genuíno em programas que devem estimular o desejo de aprender novas ferramentas e se adaptar ao cenário tecnológico em mudança.

Uma nova geração de auto-estudo em vez de livros prefere o YouTube. Os desenvolvedores apreciam o conselho passo a passo dos colegas que vieram, viram e superaram os desafios que enfrentaram.
A própria natureza do aprendizado está mudando. Gerações mais jovens migram para o YouTube, enquanto gerações mais velhas preferem livros para aprender novas habilidades.
Ambos têm vantagens únicas. O YouTube fornece um paradigma de aprendizado sistemático, permitindo que você alcance um progresso estruturado e sustentável imitando os currículos da universidade, com a única diferença de que você pode fazê-lo no seu próprio ritmo. Outra vantagem é a adaptabilidade. Embora o YouTube possa oferecer a você um fluxo inesgotável de avanços flexíveis em software, os tutoriais são uma espécie de relíquia atemporal dos fundamentos de CS. De qualquer forma, é claro que estamos à beira da evolução da educação.
Os desenvolvedores aprendem os idiomas que os empregadores procuramEmbora muitas vezes surjam novos idiomas, o mais importante para os desenvolvedores é dominar os principais idiomas, incluindo os obsoletos. Em geral, os requisitos mais comuns dos empregadores atualmente são: JavaScript, Java, Python, C ++ e C.

Se compararmos os idiomas mais exigidos pelos empregadores com os idiomas mais comuns que os desenvolvedores conhecem, não há diferença. Java, JavaScript, C e C ++ e Python estão no topo da lista de linguagens que os desenvolvedores conhecem.
Existem pequenas diferenças nos idiomas mais populares por setor. Java, por exemplo, é popular no mundo dos serviços financeiros há muitos anos. C domina o hardware por causa de seu desempenho, API direta de hardware de baixo nível e disponibilidade do compilador em muitas plataformas. E o C # é mais comum entre organizações governamentais.
Bois de JavaScript!JavaScript é a única linguagem versátil o suficiente para criar extensões de front-end, back-end, dispositivos móveis e navegadores. Portanto, o JavaScript controla a Internet. Na maioria das vezes, os empregadores precisam de desenvolvedores que conhecem AngularJS, Node.JS e React.

A propósito, essas três estruturas também têm a maior lacuna entre o que os desenvolvedores sabem e o que os empregadores querem. O React tem a maior diferença entre a porcentagem de desenvolvedores que conhecem a estrutura e a porcentagem de empregadores que procuram candidatos com esse conjunto de habilidades. Em outras palavras, hoje os desenvolvedores têm uma grande oportunidade de aprender a responder às demandas do mercado e desenvolver exatamente as habilidades de que as empresas precisam.
Competências exigidas pelos empregadores
As habilidades de resolução de problemas são quase unanimemente as qualificações mais importantes que os empregadores buscam ... mais do que conhecimento de linguagens de programação, depuração e design de sistemas. Uma demonstração do pensamento computacional e a capacidade de resolver problemas grandes e complexos é tão valiosa (se não mais) quanto as habilidades técnicas básicas necessárias para o trabalho.

O que você realmente sabe fazer é mais importante do que o que é refletido no seu currículo. Existe uma crença comum de que os recrutadores buscam diplomas em universidades de prestígio. Mas, na verdade, eles analisam o que você realmente fez, e não onde e como você estudou na escola. A grande maioria dos gerentes de contratação disse que está procurando resultados verificados e confirmados do seu trabalho, fatos que confirmam seus muitos anos de experiência e projetos / GitHub. Independentemente do tamanho da empresa, 9 em cada 10 gerentes de contratação afirmam que a experiência anterior e os anos de experiência - ambas qualificações - estão entre as qualificações mais populares. A propósito, suas habilidades práticas são mais significativas para pequenas empresas. As pequenas empresas atribuem mais importância ao seu portfólio de projetos: 80% versus 66% nas grandes empresas.
As qualificações que geralmente dão suporte a um currículo (prestígio, grau de instrução, aprovação de habilidades ou certificados) ocupam o lugar mais baixo entre as empresas que mais se preocupam. Esses fatores não indicam qualificações comprovadas. A única qualificação com a classificação mais alta que pode ser facilmente visualizada no currículo é de "anos de experiência", pois a experiência de trabalho e o portfólio às vezes são correlacionados com esse qualificador. Como é mais difícil revisar carteiras individuais em escala, muitos anos de experiência são um sinal alternativo, baseado em currículo, para excelência comprovada, embora isso negligencie completamente os de alto desempenho que cresceram rapidamente em suas funções.

As empresas estão analisando o GitHub e os projetos para complementar currículos e avaliar melhor as habilidades. Quando o estudo filtrou os dados da função, verificou-se que aqueles em posições de nível C, incluindo fundadores, CTOs e VPs, valorizam os projetos do GitHub com mais de muitos anos de experiência. O prestígio dos graus avançados caiu ainda mais em importância para essas pessoas.
Quando os desenvolvedores conhecem pessoas de nível C, há mais tempo para avaliar habilidades comprovadas com base em projetos, trabalho anterior e portfólio.
Os desenvolvedores migram para idiomas que se tornaram populares entre os gigantes da tecnologiaQuando o estudo analisou os idiomas com maior diferença entre o que os desenvolvedores não sabem e o que desejam saber mais: Go, Kotlin, Rust, Scala e Swift ocuparam o lugar mais alto. Há uma clara tendência de desenvolvedores individuais, seguindo o exemplo dos gigantes da tecnologia do Vale do Silício.
Amor para sempre!O JavaScript pode ser a linguagem mais procurada entre os empregadores, mas o Python cativa desenvolvedores de todas as idades, de acordo com nosso índice de amor e ódio. Python também é a linguagem mais popular que os desenvolvedores desejam aprender como um todo, e uma proporção significativa já a conhece.

O Python é conhecido por sua simplicidade, legibilidade e poder das bibliotecas científicas. Também está crescendo como parte dos cursos introdutórios de ciência da computação.
Há uma tendência incomum de gerações entre os novos idiomas: os desenvolvedores jovens não gostam de novos idiomas (por exemplo, Go, Kotlin e Scala) mais do que os desenvolvedores antigos. De fato, o Go cria uma das maiores lacunas. Os desenvolvedores entre 18 e 24 anos não se importam com isso, mas as pessoas de 45 a 54 anos o consideram um dos idiomas favoritos. O inverso é verdadeiro sobre JavaScript.
Node.js - novo e muito favoritoO Node.js vence como a estrutura mais favorita da maior parcela de desenvolvedores. Como o único método para o back-end do JavaScript, o Node.js governa. Quanto às estruturas de front-end, AngularJS e React estão na moda aqui. Mas acontece que esse amor é mais comum entre as gerações mais jovens.

Atrair talentos
A avaliação de habilidades acaba sendo o maior problema de contratação, mais do que falta de talento.
De acordo com mais de 7.000 empregadores, os currículos ainda são a maneira mais comum de avaliar os desenvolvedores atualmente. Um estudo mostrou que 81% dos gerentes de contratação usam currículos como um primeiro passo no processo de seleção.
Quando perguntados qual é o maior problema de contratação, os mesmos gerentes de contratação disseram que avaliar habilidades é o problema número um, não a falta de talento. Enquanto isso, apenas 55% dos desenvolvedores disseram que os currículos são um bom reflexo de suas habilidades.
Equilíbrio trabalho-vidaSe você olhar para qualquer descrição de uma vaga técnica, o RH geralmente aloca uma pilha técnica, informações sobre a missão, tarefas, compensações e outros benefícios. Em outras palavras, tudo para incentivar o desenvolvedor a responder à vaga. No entanto, como mostra o estudo, vale a pena se concentrar em outras coisas.
O número um na "Lista de desejos" dos desenvolvedores é uma forte referência ao equilíbrio entre trabalho e vida pessoal. As pessoas classificaram o equilíbrio entre trabalho e vida pessoal como a característica mais desejável. Um pouco mais do que crescimento e treinamento profissional, que ficou em segundo lugar. Mais especificamente, os americanos almejam um equilíbrio entre vida profissional e pessoal mais do que desenvolvedores em outras regiões, como Ásia e Europa.
O equilíbrio entre vida profissional e pessoal é mais importante para desenvolvedores com 25 anos ou mais, e não é de surpreender que esse critério ocupe um lugar menos importante para desenvolvedores entre 18 e 24 anos.
Horário de trabalho flexívelÉ claro que o equilíbrio entre trabalho e vida pessoal pode significar coisas completamente diferentes para pessoas diferentes. É por isso que os pesquisadores se aprofundaram no tópico do que os desenvolvedores realmente querem.
Em geral, o equilíbrio entre vida profissional e pessoal pode ser mantido em horários flexíveis - horários das 10 às 20 horas são comuns.
Os desenvolvedores querem trabalhar para gerentes focados no resultado, e não no tempo gasto na cadeira do escritório. E opções remotas também são úteis. O trabalho remoto é um desejo particularmente forte para desenvolvedores com 25 anos ou mais, e as pessoas entre 25 e 44 anos são os maiores defensores do fechamento de e-mails após o expediente.
O crescimento profissional é importante para os alunosO crescimento profissional aumenta para o primeiro lugar em que os estudantes procuram trabalho, e a remuneração também cai notavelmente de 3º para profissionais e 7ª para estudantes. O equilíbrio entre vida profissional e pessoal ainda é importante para os alunos, embora caia do primeiro para o segundo.
Os alunos se esforçam para aprender e realizar seu potencial; portanto, no momento de suas carreiras, é dada prioridade ao equilíbrio entre trabalho e vida.
Enquanto isso, o desejo dos profissionais de compensar o equilíbrio entre vida profissional e pessoal mostra como a experiência prática abre os olhos das pessoas para a indústria. Às vezes, vale a pena dedicar algum tempo a si mesmo, flexibilidade e tranqüilidade geral.
MetodologiaO HackerRank conduziu um estudo de desenvolvedores para identificar tendências em educação, habilidades e práticas de contratação. Um total de 39.441 desenvolvedores profissionais e estudantes participaram da pesquisa. A pesquisa foi organizada pela SurveyMonkey e HackerRank, que recrutaram os respondentes por e-mail por meio de comunidades profissionais de mídia social com mais de 3,2 milhões de membros.