![Como executar consultas complexas com SQL em bancos de dados vetoriais](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715039043_Como-executar-consultas-complexas-com-SQL-em-bancos-de-dados-150x150.jpg)
Como executar consultas complexas com SQL em bancos de dados vetoriais
6 de maio de 2024![O que as equipes de incidentes podem aprender com o gerenciamento de crises?](https://optimuscloud.com.br/wp-content/uploads/2024/05/1715043605_O-que-as-equipes-de-incidentes-podem-aprender-com-o-150x150.jpg)
O que as equipes de incidentes podem aprender com o gerenciamento de crises?
6 de maio de 2024Todos nós tivemos um corte de papel. Eles são pequenos, mas deixam um impacto excessivo. E muitas vezes atrapalham nossa capacidade de digitar e entregar trabalho.
Uma experiência ruim para o desenvolvedor é a morte por mil cortes de papel. É por isso que Jason Kennedy e sua equipe de experiência em engenharia da One Medical estão procurando remover as fontes de cada pequena dor no corte.
A empresa opera clínicas de cuidados primários e adotou uma abordagem de cuidados de saúde baseada na tecnologia – baseada na crença de que a experiência do desenvolvedor afeta a experiência do paciente. Isso faz com que a empresa aplique uma abordagem quase meditativa a ambas as experiências do usuário, baseada na observação, investigação e empatia.
A One Medical se concentra na alegria do desenvolvedor, assumindo que a produtividade do desenvolvedor será o efeito final.
Da eficiência de engenharia à experiência em engenharia
Quando a equipe DevEx da One Medical foi formada em meados de 2022, ela era originalmente chamada de eficiência de engenharia, mas logo passou por uma reformulação de marca para se concentrar em toda a experiência de engenharia.
Em outubro de 2022, Kennedy ingressou na empresa como gerente sênior de engenharia e líder de equipe, em parte porque a equipe já estava estabelecida, sinalizando que já havia adesão de toda a empresa.
“Alguém internamente já havia feito parte do trabalho braçal e convencido a organização de que essa equipe era necessária”, o que ele disse ser algo que faltava em outras empresas em que havia trabalhado antes.
A equipe de EE, como se autodenominam, concentra-se na criação de uma experiência de desenvolvimento eficiente e alegre para os engenheiros da One Medical. Mais recentemente, a equipe está expandindo seu escopo para incluir todo o ciclo de vida de desenvolvimento de software, independentemente do que os engenheiros estejam trabalhando. Isto faz com que eles se expandam além do desenvolvimento local no monólito, para a criação de serviços, testes, engenharia de dados e manutenção.
Com esse foco mais amplo em mente, a equipe de Kennedy expandiu de quatro para oito engenheiros, incluindo alguns engenheiros de qualidade que já faziam trabalho de plataforma — tudo pronto para atender os 150 engenheiros em tempo integral da One Medical. Como quase “engenheiros de plataforma de qualidade”, essas novas adições são responsáveis por trabalhar na manutenção das estruturas de teste, desenvolvendo uma estratégia geral de testes para toda a empresa e melhorando a experiência de engenharia em diversas plataformas.
Gemba: Compreendendo os pontos problemáticos do desenvolvedor
Há cerca de 18 meses, a One Medical iniciou sua jornada DevEx com uma pesquisa em toda a organização de engenharia, buscando identificar as áreas de maior impacto para trabalhar.
“Queremos realmente saber o que está acontecendo, e não apenas adivinhar o que achamos que deveria ser melhor”, disse Kennedy. “Queremos realmente perguntar aos engenheiros o que está errado. É realmente motivado pelo que os engenheiros estão vendo. Eles sabem onde estão os maiores problemas.”
A One Medical segue a prática de gestão enxuta do Gemba. Japonês para “lugar real”, envolve observar a realidade do trabalho em ação. Quando permitido, toda a equipe, incluindo a liderança, é incentivada a acompanhar as operações clínicas. Isso fundamenta todos, disse Kennedy, no propósito de “o que estamos fazendo: estamos cuidando dos pacientes e melhorando os resultados, e nosso trabalho é fundamentado em melhorar isso”.
Da mesma forma, a equipe de experiência em engenharia começou e continua acompanhando os engenheiros, fazendo perguntas sobre os dolorosos cortes de papel com os quais os desenvolvedores trabalham todos os dias. Isso estreita os ciclos de feedback do desenvolvedor e cria empatia em torno da experiência do desenvolvedor.
Todas as visitas dos engenheiros são feitas virtualmente.
Cuidado com cortes de papel, grandes e pequenos
Além das caminhadas contínuas pelo Gemba, no início de 2023, a equipe de experiência em engenharia introduziu uma enquete semanal no Slack, que incluía o pedido: “Conte-nos o que impactou sua produtividade esta semana”.
Várias respostas foram dadas, como problemas com desenvolvimento local, testes e ambientes de banco de dados, bem como opções personalizadas para preencher as lacunas. Essas pesquisas semanais acompanham a experiência do desenvolvedor e, mensalmente, a equipe de Kennedy agrega essas informações para ver a tendência das coisas.
Eles também realizaram uma pesquisa trimestral Net Promoter Score (NPS).
Trimestralmente, a equipe de Kennedy leva tudo em consideração para ver quais preocupações importantes chegam ao topo.
No ano passado, a pesquisa revelou que os dados em seus ambientes de teste não representavam um pequeno corte, mas um grande problema. Em resposta, a equipe de experiência em engenharia da One Medical criou scripts e processos onde as equipes poderiam redefinir seu ambiente de testes em menos de meia hora.
“Nós nos livramos da necessidade de eles realmente cavarem, depurarem e descobrirem: ‘OK, o que realmente está quebrado neste ambiente?’ antes de realmente fazer meus testes”, disse Kennedy.
Agora os desenvolvedores podem reindexar completamente o banco de dados e o ambiente de teste. “Essa é provavelmente uma das opções mais intensas de ‘quebrar vidros’. Temos algumas outras opções, (mas este é um) tempo de resposta mais curto.”
Sua equipe também busca vitórias rápidas. Um dos primeiros incluía desenvolvedores reclamando de ter que fazer login no Amazon Web Services toda vez que precisavam iniciar o monólito. Acontece que havia algo na inicialização do servidor que estava acionando algo aparentemente não relacionado na AWS que exigiria um novo login desnecessariamente. Sua equipe passou alguns dias construindo uma maneira de pular essa etapa extra para obter uma grande vitória no DevEx.
Como coletar feedback do desenvolvedor
Durante grande parte de 2023, o processo de pesquisa dos desenvolvedores foi totalmente manual.
“Começamos a nos perguntar: ‘Como queremos melhorar esse mecanismo de feedback? Será que nós, como equipe, queremos nos esforçar para construir nossas próprias pesquisas, realmente investindo em uma forma interna de obter esse feedback? Ou queremos comprar algo na prateleira que sabemos que podemos simplesmente operar?’”
Para a equipe de Kennedy e seu objetivo de aumentar a alegria e a eficiência dos desenvolvedores para melhorar os resultados dos pacientes, construir sua própria plataforma de feedback dos desenvolvedores simplesmente não era uma prioridade. Eles adotaram a plataforma DX Developer Insights.
No momento da nossa entrevista, a equipe de experiência em engenharia da One Medical havia acabado de concluir seu segundo “instantâneo”, que é uma pesquisa realizada em toda uma organização de engenharia. Cada instantâneo é muito completo, disse ele, mas leva apenas de cinco a seis minutos para os desenvolvedores concluírem. Sua equipe obtém então uma “amplitude e profundidade de informações”.
Às vezes, um monólito não consegue ficar sozinho
A experiência do desenvolvedor é um empreendimento sociotécnico, então quais são algumas das mudanças técnicas nas quais a equipe de Kennedy está trabalhando em resposta ao feedback do desenvolvedor?
Desde o início, eles sabiam que os desenvolvedores estavam gastando muito tempo em tarefas de desenvolvimento local, então esses engenheiros da DevEx trabalharam na experiência daqueles que trabalham no monólito Ruby on Rails baseado em nuvem da One Medical. Eles renovaram o desenvolvimento local e os scripts e adotaram os Codespaces do GitHub para criar um ambiente de desenvolvimento em nuvem com um clique.
Com uma arquitetura monolítica, observou Kennedy, é difícil estabelecer um senso de propriedade no nível da equipe, o que dificulta as mudanças e a criação de serviços, por isso sua equipe está procurando reduzir a dependência do monólito como “uma forma de criar um ambiente onde um equipe pode operar de forma muito mais autônoma”, disse Kennedy. “Eles podem tomar decisões e operar tão rápido ou tão lentamente quanto quiserem, sem se depararem com códigos realmente antigos sobre os quais ninguém sabe nada.”
Essa mudança não visa apenas aumentar a alegria dos desenvolvedores, mas também a alegria dos engenheiros de infraestrutura.
A equipe começou a traçar caminhos dourados, incluindo a estrada pavimentada mais fácil e aprovada para criar um novo serviço, mas não obrigatório. Da mesma forma, os desenvolvedores ainda são bem-vindos para configurar e manter um ambiente local completo, mas são incentivados a seguir o caminho de menor resistência do Codespaces.
O que um médico não mede (mais ou menos)
Até agora, a obsessão de 2024 com a produtividade do desenvolvedor não atingiu a One Medical. Pelo menos não diretamente. Na época em que usaram a pesquisa semanal do Slack, eles tentaram fazer estimativas de tempo por meio da pergunta: Quanto tempo você está perdendo na manutenção do desenvolvimento local?
“Se você traduzir isso em custos de desenvolvedor e nos custos dos ambientes de desenvolvimento em nuvem, obterá um ambiente em um minuto e não precisará de manutenção contínua.”
Kennedy disse que isso se traduziu no fato de eles serem “capazes de mostrar quanto está custando aos desenvolvedores fazer toda essa manutenção, e é quanto custa para eles basicamente não terem manutenção alguma”.
Desde então, a equipe mudou daquela pesquisa semanal para uma combinação de prática contínua do Gemba e os resultados da plataforma DX, bem como entrevistas de acompanhamento: “Ei, sua equipe foi muito boa nessa métrica – vamos falar sobre o que você estamos indo bem” e “ei, sua equipe identificou isso como algo em que você precisa de ajuda. Vamos descobrir onde você pode ter alguns problemas específicos.”
Antes do segundo trimestre de 2022, a One Medical não tinha uma equipe de produtividade de desenvolvedores, embora houvesse uma equipe de infraestrutura, uma equipe de engenharia de confiabilidade do site e, ocasionalmente, uma equipe de plataforma. Mas embora este foco no DevEx seja relativamente novo, tem havido uma adesão de cima para baixo desde o início. Kennedy disse sobre a liderança da empresa: “Eles reconhecem a importância de os desenvolvedores terem uma boa experiência e o quanto isso contribui certamente para o bem-estar geral dos funcionários, mas também teremos um produto melhor se os engenheiros se sentirem melhor trabalhando em coisas.”
A produtividade do desenvolvedor é um resultado, não um objetivo
Como é uma suposição comprovada há muito tempo que desenvolvedores felizes são desenvolvedores produtivos (e vice-versa), a equipe de experiência em engenharia da One Medical não se sente obrigada a definir e medir a produtividade do desenvolvedor.
É claro que a experiência de integração do desenvolvedor é importante, e novos engenheiros agora podem acelerar seu ambiente no Dia 1 e comprometer coisas no Dia 21. Como a equipe de Kennedy tem acesso a muito mais métricas em DX, ela está analisando coisas como facilidade de lançamento e tempo para trabalho profundo, como desenvolvedores classificando a frequência e duração da interrupção. A One Medical também busca limitar reuniões recorrentes e até praticar as terças-feiras sem reunião.
“Nós, como equipe de experiência em engenharia, provavelmente não podemos afetar isso diretamente no nível organizacional. Mas o que posso fazer é trazer esses resultados para o nosso grupo de gestão.” Para seus próprios colegas de equipe, a cada trimestre Kennedy pede que eles analisem as reuniões recorrentes e perguntem: esta reunião ainda é necessária? Este é o momento certo para realizar esta reunião? Se a resposta for que a reunião não é necessária, ele promete que não acontecerá novamente.
O segundo trimestre vê um foco na implantação contínua para ajudar a reduzir a quantidade de tempo que os desenvolvedores têm de esperar até que seu código chegue à produção.
“Porque eu sei que, quando eu era desenvolvedor, o que me trazia alegria era fazer as coisas rapidamente, passar para a próxima etapa e receber aquele feedback de ‘Legal, meu material está funcionando, vamos implantar na produção’. Depois passarei para o próximo.”
A postagem Aumente a produtividade do desenvolvedor reduzindo seus ‘cortes de papel’ apareceu pela primeira vez em The New Stack.