BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Teorias para as equipes de engenharia moderna

Teorias para as equipes de engenharia moderna

Favoritos

Após um período de cinco anos, Kellan Elliott-McCrea, deixou a empresa de e-commerce Etsy. Elliott-McCrea exercia o cargo de Diretor-Chefe de Tecnologia da Etsy nos últimos quatro anos e Diretor de Engenharia antes disso. Durante esses cinco anos, o produto de software e a equipe de engenharia sofreram mudanças radicais. No artigo anunciando sua saída, Elliott-McCrea expõe cinco teorias que lhe orientaram a lidar com essas mudanças.

No ano de 2009, a Etsy, um grande site de e-commerce para vendas de produtos artesanais, estava com dificuldades em escalar. A confiabilidade do site era pior do que deveria, devido a uma arquitetura decorrente de uma cultura pre-DevOps. Os desenvolvedores, DBAs e administradores de sistemas trabalhavam em seus próprios silos. As implantações eram grandes e pouco frequentes. Os desenvolvedores não podiam tocar na versão que estava em produção. Esses foram os dias pre-DevOps. A primeira conferência DevOpsDays aconteceu na cidade belga Ghent em 2009. Na época essa era a maneira mais comum de desenvolvimento e operação de sites web.

Quando Elliott-McCrea se juntou à equipe, a mudança já estava a caminho e então houve uma oportunidade de testar suas teorias.

Primeira teoria: Nada que "sabemos" sobre desenvolvimento de software deve ser assumido como verdade.

Construção de software é um esforço de equipe, mas a maioria das ferramentas, processos e modelos mentais para desenvolvimento de software assumem papeis individuais.

Segunda teoria: Tecnologia é o produto da cultura que a constrói.

Cultura é o alicerce sobre o qual todo o resto é construído. A cultura permite que a empresa cresça de forma menos acoplada. E a cultura é como se age e não como se fala.

Cultura não significa monocultura. E é como Elliott-McCrea coloca: "Cinco anos atrás, sugerir que um melhor software era escrito por uma equipe diversificada de pessoas amáveis que se importavam uns com os outros era antiético para nossa auto-imagem como indústria."

Terceira teoria: Desenvolvimento de software deve ser pensado como um clico de aprendizagem contínua e melhoria do início ao fim, ou em busca de correções.

A Etsy realiza implantações dezenas de vezes por dia, para assim conseguir aprender e melhorar. Curiosamente, Elliott-McCrea diz que "a maturidade é saber quando fazer o trade off e quando não fazer".

Quarta teoria: Construir uma cultura de aprendizagem decorre de aprimoramento global e não local.

A melhoria deve chegar a toda a equipe, com crenças compartilhadas, ferramentas e modelos mentais. Apoiar-se em cima de alguns programadores não é a melhor solução para a alta produtividade e nem gratificante como um todo.

Quinta teoria: Se quer construir a longo prazo, a única garantia é a mudança.

Respostas atuais, se não estiverem erradas agora, estarão em breve. Assim, a equipe deve constantemente formular perguntas, postular teorias e testá-las para encontrar respostas novas.

Um aspecto distinto de mudanças da equipe de engenharia é como se abriu para o mundo. Essa cultura de abertura trouxe muitas ferramentas de código aberto. Algumas delas são bastante conhecidas, tais como StatsD, um agregador de métricas, Logster, que gera métricas de arquivos de log. As apresentações da Etsy também se tornaram uma característica comum de muitas conferências ao redor do mundo, na qual os engenheiros falam sobre todos os aspectos da engenharia de software, técnicos e culturais. A Etsy também hospeda palestrantes convidados em seus laboratórios, na cidade de Brooklyn, semimensalmente.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT