Análise detalhada dos principais pontos problemáticos do desenvolvedor da Web

Uma coleção de insights sobre os principais pontos problemáticos dos desenvolvedores, coletados de várias conversas individuais.

Há alguns meses, Paul Kinlan publicou uma postagem sobre os principais pontos problemáticos dos desenvolvedores em 2021, então seria adequado começar este artigo com uma atualização sobre os últimos dois trimestres. Os números mudaram um pouco, mas a classificação não mudou.

Desafio 1º trimestre de 2021 2º trimestre de 2021 3º trimestre de 2021 4º trimestre de 2021
Acompanhar as mudanças na plataforma ou nos padrões da Web. 27% 26% 27% 22%
Acompanhar um grande número de ferramentas ou frameworks novos e atuais. 26% 26% 25% 21%
Fazer com que um design ou experiência funcione da mesma forma em todos os navegadores. 26% 28% 24% 21%
Testes em vários navegadores. 23% 24% 20% 20%
Entender e implementar medidas de segurança. 23% 25% 20% 19%

Como mencionado na postagem do blog do Paul, precisamos resolver esses pontos fracos. Como parte de um esforço maior para isso, meu colega Kadir Topal e eu entrevistamos mais de 18 desenvolvedores. Nosso objetivo é investigar e começar a entender o caminho para corrigir os principais problemas dos desenvolvedores.

Discussões de desenvolvedores

Exoneração de responsabilidade:esses insights são baseados em um pequeno número de conversas com desenvolvedores. Ao usar "todos" ou “alguns”, se refere aos desenvolvedores entrevistados, não a toda a comunidade. São necessárias mais pesquisas para extrapolar esses insights de maneira mais ampla.

Essas conversas foram um grande lembrete de como a comunidade de desenvolvedores da Web é incrível e diversificada, e eu gostaria de agradecer a todos os desenvolvedores que conversaram conosco. Alguns desenvolvedores têm mais de 25 anos de experiência, enquanto outros começaram em 2020. Alguns desenvolvedores começaram suas carreiras com um diploma formal de ciência da computação, enquanto outros começaram suas carreiras de forma independente. Alguns desenvolvedores procuram ativamente as novidades e se mantêm atualizados lendo as notas da versão do navegador, enquanto outros descobrem novidades por meio de colegas e amigos. Alguns acham que a complexidade faz parte do trabalho e gostam de ser desafiados, enquanto outros só querem fazer seu trabalho. Ao pensar em resolver esses aspectos problemáticos, é importante ter essa diversidade em mente!

Uma das coisas comuns entre todos os desenvolvedores é que todos eles estão usando um CMS ou uma estrutura para fazer seu trabalho. Wordpress, React, Bootstrap, Angular e Tailwind foram mencionados. Nenhum dos desenvolvedores usava a plataforma da Web baunilha na produção. Escolher um framework ao iniciar um projeto é um desafio, e os desenvolvedores frequentemente consideram requisitos não técnicos. Por exemplo, se é fácil contratar um desenvolvedor para trabalhar com essa estrutura. Não podemos melhorar os pontos problemáticos dos desenvolvedores se as estruturas e os CMSs não estiverem incluídos na solução.

Falando em plataforma web, a maioria dos desenvolvedores entende a plataforma como aquilo que está desenvolvendo. Isso inclui não apenas a definição clássica da plataforma da Web, mas também os CMSs, a estrutura, as ferramentas e os polyfills. Em muitos casos, estar a par desses problemas é a maior dificuldade. Isso mudou nossa interpretação dessa pergunta, e agora sabemos que precisamos atualizar nossa pesquisa para dividi-la em partes diferentes que sejam menos ambíguas.

Outra área ambígua é a definição dos padrões da Web. Quando questionados sobre exemplos de conformidade com os padrões, muitos desenvolvedores apontaram dificuldades em seguir as práticas recomendadas. Essa é outra área que precisamos esclarecer na pesquisa.

Os desenvolvedores procuram práticas recomendadas ao implementar casos de uso e padrões específicos. As postagens do blog e o StackOverflow são mencionados como fontes de práticas recomendadas, mas os desenvolvedores geralmente se perguntam se as informações que estão lendo são mesmo a prática recomendada e se estão atualizadas com os recursos e as APIs mais recentes. Eles querem uma fonte mais oficial para ler esses textos.

Acompanhar os recursos e APIs que permitem novos casos de uso é um problema menor. Os desenvolvedores têm mais dificuldades com recursos, APIs e mudanças na plataforma que resultam em uma mudança nas práticas recomendadas.

A maioria dos desenvolvedores concorda que a compatibilidade é um dos maiores desafios. Muitas coisas estão melhorando com iniciativas como o Compat 2021 e o Interoperabilidade 2022, mas está claro que os desenvolvedores ainda não consideram isso um problema resolvido.

A maioria dos desenvolvedores usa os polyfills de alguma forma. Em muitos casos, no entanto, o uso é transparente para os desenvolvedores, uma vez que o polyfill pode ser adicionado automaticamente por uma ferramenta como o Babel ou uma estrutura. Para aqueles que gerenciam seus próprios polyfills, descobrindo se um polyfill é "bom" pode ser um problema. Os desenvolvedores mencionaram usar o número de instalações no NPM e o criador do polyfill como sinais. Alguns desenvolvedores mencionaram que estavam trabalhando para remover os polyfills que se tornaram desnecessários devido à queda na compatibilidade com o IE 11.

Os frameworks introduzem problemas de fragmentação. Os desenvolvedores ficaram "presos" para uma versão mais antiga de um framework e com limitações nos recursos que poderiam usar por causa disso. No entanto, migrar para uma versão mais recente do mesmo framework pode ser caro e difícil de justificar.

Conclusão

O desenvolvimento da Web moderno tem muitas partes móveis, incluindo padrões, navegadores, bibliotecas, polyfills, CMSs, estruturas, práticas recomendadas e ferramentas. Essa diversidade é uma das melhores coisas da Web, mas, no momento, cabe a cada desenvolvedor entender cada parte e saber como elas são compatíveis entre si.

Será que existe uma maneira de deixar mais claro para os desenvolvedores como tudo se conecta e mais alinhamento entre todas as partes, sem comprometer a diversidade? É um problema grande, complexo e difícil de resolver de uma só vez. Mas por onde começar?

Caso tenha pontos de vista e opiniões que queira compartilhar. Eu também adoraria conversar com você. Vou configurar uma forma de agendar conversas diretamente, mas, enquanto isso, minhas mensagens diretas estão abertas no Twitter. Entre em contato para marcarmos um horário para conversar.