Todo desenvolvedor passa por vários traumas e desafios que mudam conforme ele ou ela se aperfeiçoa na profissão.
No começo da carreira, é preciso escolher uma stack de desenvolvimento para sair do ponto zero. Depois, os obstáculos propostos desafiam essas stacks e é preciso pensar na solução em si, antes da tecnologia.
Até desenvolvedores que chegam a cargos de CTO têm que lidar com os traumas de seus clientes e funcionários. Principalmente quando esses desafios são de criar sua API, onde tantos sistemas e produtos devem ser levados em consideração na construção de cada endpoint.
Hoje quem trabalha com tecnologia e produtos digitais, já entende a importância de se ter um projeto centrado no usuário, e como sua experiência afeta na tomada de decisão e aquisição do produto.
Esses termos e idealizações que são cunhados pelo termo de UX, User Experience, vêm sendo difundidos cada vez mais em produtos digitais e sendo até pilares principais de startups consolidadas, como o Nubank, por exemplo, onde a experiência do cliente é colocada em primeiro lugar.
Mas e se meu produto é ou possui uma API e meus usuários são desenvolvedores? Como aplicar esses conceitos em nossos projetos de desenvolvimento?
A solução existe e o termo já é bem conhecido: DX, Developer Experience, ou a experiência do desenvolvedor. É um segmento do UX onde o usuário principal é um desenvolvedor.
É o pensamento de projetar um software, produto, API ou qualquer outro entregável, pensando primariamente em quem irá consumi-lo e adaptá-lo para que este usuário tenha a melhor experiência possível. Basicamente, é tratar quem está consumindo sua API como prioridade.
Já está comprovado que aplicar princípios de DX aumenta a aquisição e a retenção dos usuários técnicos, o que resulta em melhores resultados para toda a empresa. Porém, a aplicação destes conceitos em APIs têm resultados ainda mais surpreendentes.
Se você quiser saber mais sobre DX, recomendo a leitura deste artigo. Agora, apresento alguns conceitos de DX aplicada às APIs e suas vantagens.
Dica #01: Foque na funcionalidade da API
Para desenvolvedores em geral, a função tem uma parte importante em qualquer ponto do produto. Deve-se levar em consideração quão simples é executar uma tarefa, ou pensar em tarefas que demandem muito tempo.
Elas são realmente necessárias? Elas realmente funcionam? Não adianta gastar recursos em boas interfaces, marketing e promessas milagrosas.
Os desenvolvedores querem a solução. E se sua API não soluciona o problema dele, será difícil mantê-lo por perto.
Ou seja, somente a criação de endpoints com uma visão completa de engenharia não é suficiente, é necessário conciliá-los com uma visão clara de negócio e uso, onde a solução do desafio do consumidor é o foco principal.
Dica #02: Tenha uma API estável
Além de realmente funcionar, sua solução precisa ser confiável. E isso você deve provar aos seus usuários. Serviços com arquiteturas mal desenhadas e com grande quantidades de bugs, podem perder espaço para APIs de alta performance.
O valor disso é inestimável quando o desenvolvedor precisa resolver problemas diariamente. Se sua API se torna mais um problema para ele, o nível de confiança depositado cairá drasticamente, e é algo difícil de recuperar, principalmente se tratando de desenvolvedores.
Notem que ao chegar na sétima requisição, então a API não deverá permitir mais requisições, e retornará o HTTP status code 429 – Too Many Requests.
Dica #03: Clareza e facilidade de uso da API
Todo desenvolvedor já encontrou alguma API super complicada, documentações com péssima legibilidade e respostas de API pouco descritivas. Quem já sofreu isso na pele sabe o quanto é frustrante e dá vontade de abandonar todo o projeto.
Existem soluções fáceis de serem aplicadas no desenvolvimento da API. Durante a construção da sua API, pensar como o desenvolvedor se comporta e o que ele espera de sua API já é um grande passo. Personalizar respostas e status codes com dicas e links para documentação ou até mensagens mais claras, já ajudarão muito.
Dica #04: Tenha empatia com o usuário da API
À primeira vista, pode parecer complicado aplicar empatia, um princípio tão intangível, a um ambiente tecnológico. E aplicar esta empatia vai além de “pensar como o usuário”.
É pensar em quais desafios um developer encontra quando conhece uma nova API e aplicar melhorias a fim de minimizar a curva de aprendizado. É tornar sua API mais humana.
Dica #05: Tenha uma documentação consistente e clara
Quando se expõe dados publicamente, é necessário documentá-los de modo direto e claro. Ter uma documentação é um requisito principal, mas ter uma boa documentação é um desafio.
Porém, uma boa documentação é o suficiente para que um desenvolvedor vire promotor da sua API. Por outro lado, ter uma documentação mal organizada e com poucos exemplos, pode causar o efeito contrário e afastar de vez qualquer desenvolvedor.
Um ótimo exemplo de boa comunicação e documentação é o Stripe. Uma sólida introdução, seguida de seções organizadas e claras referências. Um guia compreensivo de introdução, exemplos e testes.
Dica #06: Faça com que seja fácil de utilizar
Você pode ter a melhor API do mundo, mas se ela não for fácil de usar, a experiência de consumo será frustrante. Considere diminuir a curva de aprendizado e de setup ao mínimo necessário.
Passos como criar contas, baixar aplicativos, se inscrever para planos pagos e falar com um vendedor podem ser deixados de lado no começo da jornada do desenvolvedor. Quanto mais rápido o setup, mais fácil será a aceitação dele a seguir com estes passos no futuro.
Dica #07: Possibilite testes e ambientes de erro
Os desafios dos desenvolvedores podem ser infinitos, por isso a rotina de testes é um assunto tão complexo e corriqueiro nesses ambientes.
Fazer com que sua API seja fácil de ser testada e validada pode ser um divisor de águas para essa jornada. Debugar APIs e seus testes deve ser um processo natural e simples, com respostas claras sobre o que está errado e quais passos o desenvolvedor deve tomar para resolver certo erro.
Dica #08: Converse com o desenvolvedor
Esse é um princípio necessário em UX: ouvir o usuário. É fácil imaginar e assumir o que ele está pensando, mas isso pode levar a tomadas de decisão erradas; apenas seu usuário sabe quais são suas dificuldades e desafios.
Deixar um canal aberto entre sua API e o developer é um passo principal para uma boa evolução. Faça com que buscar ajuda não seja uma tarefa difícil ou embaraçosa. Deixe claro que você está aberto a feedbacks e sugestões de melhorias. Isso fará com que esta relação fique ainda mais forte.
Pode parecer pouco, mas essas pequenas otimizações podem trazer resultados significativos na questão de experiência de consumo de sua API. As melhorias são imensuráveis em relação a performance, segurança e escalabilidade, além de aumentar a maturidade da sua API e dos desenvolvedores parceiros.
Como melhorar a experiência de consumo de APIs
Tente não vender para desenvolvedores. Gere conteúdo rico e os ajude com problemas reais, assim você pode trazer resultados mais duradouros e contribuições espontâneas para sua API, criando relações de sucesso.
Trabalhe orientado a microsserviços. Conforme sua operação for crescendo, segregue sua API para ser exponencial, separando serviços, chamadas, versões e até APIs inteiras.
Utilize API gateways. Considero essa uma das dicas principais, porque ela engloba grande parte dos conceitos que mostrei até aqui. Utilizar um gateway irá te ajudar com DX, segurança, escalabilidade e performance para sua API, com baixo ou às vezes nenhum custo.
Aos poucos, você notará os resultados da aplicação desses conceitos na prática, e consequentemente, a melhora de como os desenvolvedores enxergam e consomem sua API, tornando-os parceiros chave da sua operação.
Se você se interessa por APIs e integrações, confira o conteúdo do nosso blog. Temos um artigo sobre Como chegar ao nível supremo de APIs RESTful.