Entregando uma árvore de ativos grande de ponta a ponta, do SQL recursivo ao prefetch progressivo
Entreguei busca e navegação rápida sobre árvores de ativos muito grandes de ponta a ponta, com SQL recursivo no backend e uma UX de busca com cache em memória e prefetch progressivo em segundo plano no frontend, eliminando o carregamento repetido que tornava o fluxo mais usado lento.
Contexto
Esta é minha evidência mais forte de ownership full-stack e raciocínio de performance. Por ser dona do banco de dados, do backend e do frontend, pude colocar cada parte da solução na camada a que pertencia, travessia no banco de dados e ocultação de latência no cliente, em vez de forçar uma camada a compensar outra.
Isso também mostra uma decisão de UX em nível de produto tomada como um trade-off de engenharia: escolher revelar resultados de busca expandindo a árvore em vez de filtrá-la mudou tanto o que o usuário vê quanto como os dados precisam carregar.
Problema
Ao construir ou editar uma rota de inspeção, usuários navegam por uma hierarquia de ativos que pode ser muito grande. Eles precisavam ver descrições de ativos e buscar ativos por nome, mas a árvore carregava devagar e não havia busca. No fluxo mais usado do módulo, isso significava espera repetida e nenhuma forma de pular para um ativo conhecido.
03Restrições
Decisão
Coloquei cada responsabilidade na camada adequada a ela.
05Trade-offs
Impacto
07Lições Aprendidas
Conhecimento de engenharia reutilizável que levo adiante disso: