Executando verificação de segurança...
1

Sei que você é orientado a OBJETOS, mas e a DADOS?

Começo esse texto com a seguinte pergunta:

Estamos preparando nossos programadores para serem tão orientados a dados quanto são a objetos?

texto

Sou especialista de dados há um pouco mais de 10 anos e atualmente tenho entregue soluções de dados para diversos clientes através da Gooru Data Solutions e à medida que as ferramentas digitais se tornam cada vez mais centrais em nossos processos de engenharia de dados, a capacidade de gerar, acessar e anaisar dados de forma eficiente tem se tornado um grande desafio.

Muitas vezes nos deparamos com plataformas poderosas, como sistemas de CRM e outras plataformas SaaS gigantes por ai, que apesar de suas amplas funcionalidades, possuem APIs que deixam a desejar. Isso não apenas torna a análise de dados um desafio maior do que deveria ser, mas também pode transformar essas ferramentas em gargalos significativos dentro das organizações.

Quer um exemplo?

Tem um CRM famoso por ai que começa com R e termina com Station, que tem uma API tão ruim por questões tão simples que gera um aumento de 70% no custo da infraestrutura de dados:

  • Não tem um parâmetro de updated_at, o que nos obriga a consumir toda a base para que os dados possam ser atualizados.
  • Não retorna informações relevantes como data de alteração do status. Como é possível identificar de forma fácil quando o cliente deixou de ser um contato para ser uma venda?
  • Endpoints que parecem um tabelão do excel. Junta tanta informação em um único endpoint que faz com que o limite de items por página seja o mínimo possível o que gera um número muito maior de requisições.

São questão tão simples, mas que geram um grande desafio para consumir os dados de forma automatizada e eficiente.

Se a ferramenta que você desenvolveu é execelente em suas funcionalidades, mas não tem um simples relatório de fácil acesso para que o seu usuário possa baixar e analisar os dados, ou se quer uma API bem estruturada e orientada a insights, desculpe, ela vai se tornar um problema maior do que a solução que ela gera.

É crucial refletir sobre como as APIs são desenvolvidas, pensando em quais níveis de detalhe devem ser expostos e que tipos de filtros devem ser disponibilizados. Essas decisões têm um impacto direto na capacidade das organizações de extrair valor dos seus dados. Uma API bem projetada pode ser a chave para desbloquear insights profundos sobre o negócio, enquanto uma mal elaborada pode ser uma barreira quase intransponível.

A principal dúvida desse texto está na formação dos desenvolvedores. Estamos preparando nossos programadores para serem tão orientados a dados quanto são a objetos? Eles estão sendo equipados com o conhecimento necessário para projetar sistemas que não apenas funcionem bem, mas que também sejam fontes ricas e acessíveis de insights analíticos?

Me diz o que você acha:

Você como desenvolvedor é orientado à dados?
No seu time de desenvolvimento, tem algum especialista em dados?
Como funciona o processo de desenho das APIs que serão entregues ao mercado?

Gostaria muito de ver o Lucas Montano do canal Lucas Montando falando um pouco sobre isso.

Claudio V Souza
Linkedin

Carregando publicação patrocinada...
1
1

Estamos preparando nossos programadores para serem tão orientados a dados quanto são a objetos? Eles estão sendo equipados com o conhecimento necessário para projetar sistemas que não apenas funcionem bem, mas que também sejam fontes ricas e acessíveis de insights analíticos?
Estamos preparando nossos programadores para serem tão orientados a dados quanto são a objetos? Eles estão sendo equipados com o conhecimento necessário para projetar sistemas que não apenas funcionem bem, mas que também sejam fontes ricas e acessíveis de insights analíticos?

Acredito que este não seja o pensamento correto. Na minha experiência como desenvolvedor, vivencio APIs que começam razoavelmente bem, mas que com o passar do tempo se tornam aberrações.

O que ocorre muitas vezes é que a API começa com apenas alguns campos e depois aumenta em escopo não planejado. No entanto, as equipes frequentemente não têm os incentivos corretos para refatorar o código – estão sempre lidando com prazos apertados, a liderança não enxerga benefícios na refatoração da API, os desenvolvedores não são firmes o suficiente para insistir na melhoria da API, há a falácia do custo afundado (sunk cost fallacy), e o medo de que, se alterarem a API, os clientes da API poderão enfrentar problemas, entre outros.

Com o tempo, as APIs acabam se tornando cada vez piores e mais difíceis de serem refatoradas.

1

Raf, entendo que a sua resposta pode justificar o motivo pelo qual as APIs podem cair em um cenário de se tornar uma aberração e não ter a atenção devida, mas você discorda de que elas são importantes e deveriam ter uma atenção maior?

Posso até entender as justificativas disso, mas acreditar que não é um tema crítico para o negócio, pode ser um erro grave.

1

Concordo sim.

Na minha opinião, os desenvolvedores estão cientes desses problemas. No entanto, existe resistência por parte da liderança, especialmente quando esta não possui um embasamento técnico sólido. Meu argumento para a liderança não técnica é que, se a qualidade de nossa API diminuir, concorrentes podem tomar nosso negócio.

Bom, acredito que estamos na mesma sintonia. Abraços.