A experiência do desenvolvedor é onde está! Experiência do desenvolvedor (DX) significa adotar uma abordagem de experiência do usuário para a jornada do desenvolvedor. DX (também abreviado como DevEx) é comumente aplicado a áreas como documentação, ambientes sandbox, ergonomia do SDK e muito mais. Ao melhorar a experiência de um desenvolvedor com uma ferramenta, os fornecedores de software podem aumentar a aderência e reter mais usuários.
Hoje em dia, ter uma experiência de desenvolvedor elegante é uma vantagem competitiva, especialmente porque os desenvolvedores geralmente têm o poder de adquirir novas ferramentas. E em meio uma lacuna de habilidades contínuamanter DX de qualidade para ecossistemas de software internos também é importante para manter engenheiros satisfeitos e evitando esgotamento. Todos esses fatores significam que a experiência do desenvolvedor está se tornando um objetivo do C-suite. Então, para onde está indo o DX? Como o fluxo de trabalho do desenvolvedor mudará no futuro próximo?
Recentemente, encontrei-me com Ash Arnwine, diretor de relações com desenvolvedores, Nylas, para refletir sobre o que está por vir em relação à experiência do desenvolvedor. De acordo com Arnwine, DX ainda é um conceito muito novo. No entanto, tornou-se um aspecto integral do posicionamento de software moderno, especialmente para SaaS voltado para o público, e sem dúvida orientará as decisões de compra no próximo ano. Abaixo, compartilharemos algumas previsões de como o DX evoluirá em quatro categorias gerais: integração, construção, implantação e manutenção.
Estado da Experiência do Desenvolvedor
Em primeiro lugar, qual é o estado da experiência do desenvolvedor no mundo da tecnologia em geral? Bem, Arnwine é rápido em notar que o conceito ainda é relativamente incipiente. “A experiência do desenvolvedor era algo sobre o qual não falávamos há muito tempo.” No entanto, a ideia está crescendo em mente como os desenvolvedores exercem maior controle ao longo do ciclo de vida do software.
Na verdade, o Pesquisa StackOverflow de 2022 descobriu que 66% dos desenvolvedores profissionais têm pelo menos alguma influência sobre as compras de novas tecnologias de suas organizações, contra 56% em 2020. Além disso, a forma como os desenvolvedores aprendem está mudando. A nova geração de programadores é principalmente autodidata, contando com bootcamps de codificação ou outros recursos online. Impressionantes 70% dos desenvolvedores aprenderam a codificar a partir de recursos online.
O que acabamos tendo, disse Arnwine, é uma crescente população de desenvolvedores com uma gama muito maior de habilidades do que no passado. E como não há ninguém para segurá-los, a tecnologia em si deve ser utilizável e intuitiva – a responsabilidade recai sobre o provedor de software para criar fluxos de trabalho de autoatendimento sem atrito. E com a crescente influência dos desenvolvedores nas compras, o DX se torna uma vantagem competitiva e um ponto de conversa executivodisse Arnwine.
Integração
A experiência do desenvolvedor é um tópico amplo, mas geralmente está associada ao tempo que leva para começar a usar uma ferramenta. Isso é muitas vezes referido como ‘Hora do primeiro Hello World.’ Mas, embora seja um passo importante, a métrica nem sempre carrega muito significado. O tempo para avaliar, por outro lado, disse Arnwine, leva isso um passo adiante e é uma medida melhor do sucesso.
Por exemplo, a integração a uma API da Web provavelmente envolveria o processo de inscrição, criação de uma conta, obtenção de chaves de API e leitura da documentação – tudo antes do envio da primeira chamada. De acordo com Arnwine, existem técnicas a serem aplicadas neste estágio para ajudar os desenvolvedores a se moverem mais rapidamente ao longo do processo de integração para alcançar valor mais cedo.
Aqui estão algumas maneiras pelas quais a integração do desenvolvedor está se tornando mais simplificada:
- Gerando chaves automaticamente após a inscrição.
- Fornecer um terminal no painel do desenvolvedor para testar o código de amostra.
- Entregar aos desenvolvedores o código que eles precisam para ser personalizado para sua pilha específica.
- Usando as especificações como uma única fonte de verdade para a documentação.
Prédio
O que as empresas SaaS podem fazer para ajudar a melhorar o DX durante a construção? Bem, uma maneira é ativar o preenchimento automático nos IDEs. Quando os desenvolvedores embarcam com uma nova ferramenta, geralmente recebem um SDK e documentação de referência. Mas não agrega valor enviar programadores de um navegador para outro para procurar nomes de métodos. Em vez disso, Arnwine acredita que as ferramentas do desenvolvedor devem ser “incorporadas ao IDE de uma maneira que um desenvolvedor moderno esperaria”.
Um exemplo de preenchimento automático com esteróides é FIGuma linha de comando de última geração que oferece suporte ao preenchimento automático para mais de 500 ferramentas CLI populares. Levando isso um passo adiante é GitHub copiloto, um assistente de IA que pode receber solicitações de linguagem natural e gerar sugestões de código bastante complexas. A indústria parece estar caminhando para mais Desenvolvimento de software low-code alimentado por IA— uma tendência que pode melhorar significativamente a experiência de um desenvolvedor durante o processo de construção.
No entanto, uma possível desvantagem do aumento automação de desenvolvimento de software é garantir que a IA sugira trechos de código corretos. Assim, Arnwine disse que antecipou possíveis problemas de solução de problemas e depuração. Além disso, os provedores de SaaS terão que examinar os sistemas que geram código cola para garantir que sejam precisos e atualizados com as versões mais recentes. Seu conselho aos provedores de SaaS é encontrar os desenvolvedores onde eles estiverem, mas fazer o possível para manter uma experiência de qualidade que eles possam controlar.
Implantando
Por um longo período da história do desenvolvimento de software, os administradores de TI foram os únicos capazes de implantar software. O método antigo exigia obter um provedor de hospedagem, instalar o Ubuntu e muitos outros trabalhos braçais. Hoje em dia, no entanto, a implantação de software tornou-se muito mais arrastar e soltar. O DevOps tornou-se mais democratizado nos últimos anos e provavelmente veremos uma maior usabilidade surgir nos próximos anos.
Uma maneira de aumentar a experiência do desenvolvedor para implantações é por meio de rotinas automatizadas mais personalizadas por meio de Ações do GitHub ou sistemas semelhantes baseados em eventos. E as ações pré-construídas plug-and-play podem reduzir a barreira ao uso de tais sistemas. Essa conectividade é necessária para permitir uma abordagem de documentos como código, disse Arnwine.
mantendo
Outra área que poderia usar uma atualização séria da experiência do desenvolvedor é o gerenciamento de dependências. As dependências de software passam por um ciclo de vida. Eles são versionados, atualizados, retirados e às vezes substituídos imediatamente. Dessa forma, acompanhar uma área de superfície em evolução de dependências de terceiros pode ser uma dor de cabeça. Para piorar as coisas, ameaças da cadeia de suprimentos de software complicaram a integridade de muitas dependências de software livre consumidas pela maioria dos aplicativos.
Embora seja imperativo para as organizações manter a paridade com as dependências, uma única pessoa raramente é encarregada de verificar continuamente as dependências e monitorar as ameaças à segurança. Portanto, é necessária mais automação para gerenciamento de dependência e monitoramento de segurança. Por exemplo, Arnwine usa Snyk, que envia um relatório semanal sobre o estado de suas dependências.
Pensamentos finais
Supondo que você tenha a funcionalidade matadora para apoiá-la, um investimento na experiência do desenvolvedor pode ajudar uma ferramenta de desenvolvedor a se destacar em um mercado lotado. Mas é claro que melhorar o DX significa muitas coisas diferentes, dependendo do seu contexto. pode ser um ajuste sutil da interface do usuárioadicionando amostras de código relevantes ou tornando sua documentação mais intuitiva.
Por outro lado, um experiência negativa do desenvolvedor pode afastar usuários em potencial e causar frustração durante todo o ciclo de vida do suporte do aplicativo. Isso pode criar uma má reputação entre os programadores.
Para revisar, em um futuro próximo, provavelmente testemunharemos a evolução da experiência do desenvolvedor nas seguintes áreas:
- Métodos aprimorados que agilizam o processo de inscrição.
- Sugestões de código de preenchimento automático e orientadas por IA que entendem a pilha de um desenvolvedor e as atendem onde trabalham.
- Modelos de implantação mais intuitivos e automatizados.
- Maior automação em torno da manutenção de dependências.
Embora a experiência do desenvolvedor seja uma preocupação crescente, não deve ser a única medida de um SaaS — o valor contínuo que ele traz para os consumidores desenvolvedores e usuários finais é tão (se não mais) importante a ser considerado.