Ninguém pensa que o desenvolvimento de software é fácil, mas quem poderia imaginar que poderia ser difícil de tantas maneiras diferentes? A Evans Data estima que existam 26,9 milhões de desenvolvedores de software em todo o mundo. Recentemente, mais de 100 desses desenvolvedores opinaram sobre o projeto de Ali Spittel pergunta“Qual é a parte mais difícil do seu trabalho como desenvolvedor?”
Eu esperava que as respostas se reunissem principalmente em torno de alguns temas-chave, mas as respostas foram muito variadas. Vale a pena investigá-los para ver como sua empresa pode melhorar a vida de seus desenvolvedores.
Oportunista
Às vezes amamos demais nossos desenvolvedores. Contamos com eles (os novos fazedores de reis e de rainhas) para inovar e continuar inovando. Como Kyle Shevlin notas, “A ameaça constante de aumento do escopo do produto e do design” torna a vida dos desenvolvedores difícil. Isso decorre de uma confiança saudável nos talentos dos desenvolvedores, mas o aumento do escopo se traduz em software inchado, que é difícil de manter, algo que Sofiene Salem destaques. Junte isso a “prazos irrealistas estabelecidos por não desenvolvedores”, como Brian Shimkus estressae você acaba em apuros duplos.
Os desenvolvedores também não gostam do “desalinhamento da equipe em termos do que realmente deveríamos construir e dos resultados esperados”, como disse Danielle Heberling. aponta. Ah, e adivinhe? Como desenvolvedores, vocês sempre terão “dúvidas constantes sobre se existe uma solução melhor”, porque, é claro, existe, como Jelena Perfiljeva sugere. Você simplesmente não resolverá isso até muito mais tarde. A chave, como Javier González argumenta, é descobrir “quando interromper o ciclo infinito do perfeccionismo”. Seu código nunca será perfeito. Aceite e siga em frente.
O ritmo de aprendizagem
Para cada desenvolvedor que tem se concentrado em sua compreensão do Cobol nas últimas décadas, existe a realidade do fluxo de estrutura hoje. Como Brandon Trabon chama, “Acompanhar as constantes mudanças em linguagens e frameworks” pode ser um sério desafio. Conforme ele continua: “Você realmente precisa escolher aqueles que acha que ganharão mais força e começar por aí”. Mas isso não é suficiente. “É claro que você precisa estar pronto para mudar” para algo novo. Os frameworks muitas vezes deixam os desenvolvedores subutilizando um banco de dados ou outro sistema, mas às vezes é a única maneira de um desenvolvedor manter a cabeça acima da água com o ritmo da inovação. Mesmo assim, Trabon está certo: embora os enquadramentos ajudem, eles também mudam, e essa mudança cria problemas.
Relacionado a isso está a arquitetura do próprio aplicativo. De acordo com para Michał Zakrzewski, “antecipar como a aplicação evoluirá para preparar a melhor arquitetura possível, mas não exagere no início”. Isso é difícil. Por exemplo, como desenvolvedor, você pode precisar se preparar para a escala, mas não com provisionamento excessivo a ponto de quebrar o banco antecipadamente.
'Se eu pudesse codificar mais'
“Tudo o que não é codificação” dificulta o desenvolvimento de software, diz Lucas Prosser. Segundo algumas medidas, um desenvolvedor gastará apenas 5% do tempo escrevendo código, com outros 70% gastos tentando entendê-lo ou fazendo coisas que parecem apenas tangencialmente relacionadas ao código. Como um comentarista estilos isso inclui “tentar obter todos os detalhes para iniciar o processo de codificação”. Outra questão espinhosa: “colaboração entre equipes… (especialmente) em empresas maiores” notas alguém. Por mais que queiramos nos concentrar em uns e zeros, o desenvolvimento de software é, em última análise, alimentado por pessoas e, bem, as pessoas são difíceis.
E quanto ao medo comum de que a IA elimine os humanos do desenvolvimento de software? Bem, a IA simplesmente não vai substituir as pessoas. Nem agora, nem nunca. Então, para Jessica Leigh e todos vocês, desenvolvedores de software qualificados, que preocupado sobre “Acordar todas as manhãs e ter que me convencer de que ainda me importo com o trabalho ou com esta indústria, já que tipos gerenciais alegres prevêem como grandes modelos de linguagem tornarão obsoletos a nós e a todos os outros impulsionadores de valor real”, vamos terminar com esta verdade. À medida que as máquinas assumem mais o trabalho pesado de desenvolvimento de software, o trabalho verdadeiramente atencioso e inovador será para sempre feito por desenvolvedores criativos e maravilhosos como vocês.