Algum tempo atrás eu havia respondido o questionário do hackerRank e hoje recebi um email com a resposta da pesquisa. A pesquisa é dividida em 3 Categorias: Habilidades, Ambiente de trabalho e pesquisa de emprego. Você pode conferir a pesquisa clicando aqui
Skills
Já na primeira categoria me surpreendi. Achei que os novos devs estariam aprendendo a programar com jogos, mas o resultado da pesquisa me mostrou que a maioria dos jovens programadores tem como seu primeiro projeto uma calculadora, enquanto os mais antigos na área começaram com jogos.
Eu imagino que isso é devido as mudanças na forma de programar. Antigamente, desenvolvimento de interfaces gráficas não eram tão comuns como são hoje, e por este motivo fazer jogos acabava sendo mais interativo que uma calculadora. Hoje em dia, aprender a construir a parte gráfica chama mais atenção (e é tão importante quanto a lógica por baixo), e por isso fica mais fácil para ensinar, acompanhar o resultado e mostrar para a família.
A linguagem mais popular para 2019 foi, obviamente, javascript. Apesar de não estar entre minhas linguagens preferidas, javascript resolve muitos problemas, em diversas áreas da programação. Com a chegada e popularização do Node, Dá para resolver (quase) qualquer problemas com javascript. Conheço pouco, mas conheço o suficiente para tirar o chapéu para esta linguagem. No último documento que vi do StackOverflow eu lembro de ter visto javascript como a linguagem mais popular, enquanto no hackerRank ela está em segundo no ano de 2018. Como as pessoas que responderam os questionários são diferentes, essas divergências acontecem. A pesquisa também aponta que estudantes universitários não conhecem javascript como pessoas do mercado, e a pesquisa ainda aponta que muitas universidades não ensinam javascript nos cursos. Já as minhas linguagens preferidas (c# e typescript) tem uma previsão de aumento para 2019 :)
Dentre os frameworks conhecidos houve um aumento em .net core e vuejs, que no momento estão entre os meus frameworks preferidos, junto com ionic. React e angular estão sempre brigando pelos primeiro e segundo lugar, e para desenvolvedores react uma noticia boa: Existe mais gente contratando para desenvolver do que desenvolvedores qualificados!
A última parte da seção Skill, que fala sobre o uso real sobre diversos temas como IoT, Deep Learning, blockchain, etc... apontou que IoT é a tecnologia que os desenvolvedores mais acreditam que irá ser adotada. Blockchain foi considerada como "Overhyped", ou seja, "falam muito sobre ela, mas não é tudo isso".
Workplace
A primeira seção do Ambiente de trabalho mostra os gostos musicais de cada geração de desenvolvedor. A música clássica fica em segundo em quase todas as idades, exceto para os mais de 54, onde passa para a primeira posição. Música eletrônica ficou em primeiro lugar. Lembro de um professor meu falando sobre o som que estava tocando na primeira Global Game Jam que ele foi. Música eletrônica e rock tocando alto. Para ele aquela música ia atrapalhar o pessoal que programa, mas ele se surpreendeu ao ver que o pessoal programava tranquilamente.
Quanto ao problema número 1 para os desenvolvedores achei engraçado. Enquanto para jovens programadores o problema é a documentação mal escrita, para os sênior ou superior os problemas são código spaghetti e "tudo é prioridade". Eu imagino que estas visões sejam diferentes pela experiência que cada um teve até o momento. Enquanto um desenvolvedor ainda está no processo de descoberta sobre como as coisas ainda funcionam, e ele precisa ler muito mais a documentação, o outro que precisa fazer a análise dos fontes e gerenciar chamados tem problemas diferentes. Imagino que com o tempo os problemas dos desenvolvedores júnior também mudem para os mesmo que os do sênior.
Quando foram perguntados sobre o maior bug em produção, mais da metade admitiu ter enviado um código que não funciona, ou sem teste. Outros ainda admitiram ter apagado a base de dados inteira (culpado. eu já fiz isso, você pode ler aqui). mas o que ficou em segundo lugar foi "outros". Tenho minhas dúvidas se o problema realmente foi outro, ou se o desenvolvedor ficou com o ego dolorido de admitir o erro (nós somos todos um pouco assim, não é mesmo?)
Job Search
A pesquisa de emprego mostrou que o principal motivo para se perder o candidato na hora de contratar é a falta de clareza sobre o que o candidato vai fazer se contratado. logo atrás fica falta de follow up/follow up lento. Cuidado com isso na hora de contratar.
O crescimento profissional e aprendizado é o que mais conta na hora de procurar emprego. Muito disso porque sabemos que o aprendizado em nossa profissão é constante e muito rápido (com javascript, por exemplo, sempre tem um framework novo que está na moda)
Conclusão
Muitas coisas já eram esperadas, como crescimento de Javascript e Typescript, enquanto outras foram novidades para mim. Esta visão geral do mundo é muito interessante para compreender para onde estamos indo, e como as coisas serão daqui para frente. Podemos ver que as linguagens estão convergindo para linguagens independentes de Sistemas Operacionais, cross platform, e que usam interfaces leves.
E você, o que pensa sobre tudo isso?