Skip to main content

Cultura de engenharia na Snyk: os valores que sustentam e motivam nossas equipes

Escrito por:
Sergey Vasilkov
Sergey Vasilkov

8 de maio de 2023

0 minutos de leitura

A Snyk sempre foi uma empresa com uma cultura incrível e fortemente definida. Conforme crescemos, queremos ser determinados no compartilhamento e disseminação de nossos valores essenciais, mas preservando o espaço para que os diferentes departamentos e divisões desenvolvam esses valores. Dessa forma, ajudamos a Snyk a manter sua identidade exclusiva e as novas contratações a terem êxito na sua integração.

A cultura da engenharia se baseia nos valores da empresa, acrescentando convicções e valores que afetam a forma como nossos engenheiros de software tomam decisões ou medidas em seu trabalho. Neste caso, podemos transformar todas as motivações, padrões, práticas recomendadas, escolhas de ferramentas etc. em uma cultura de engenharia bem definida. Assim, podemos manter e disseminar essa cultura para todos os nossos colegas engenheiros.

Queremos que a cultura de engenharia da Snyk defina a forma como nossos engenheiros de software abordam a resolução de problemas, inovação e colaboração. Ela ajuda a criar o ambiente que apoia os engenheiros para que alcancem seu pleno potencial e promove o sucesso da organização como um todo. Na Snyk, acreditamos que nossa cultura de engenharia é um aspecto crucial dos valores gerais da empresa, baseados em nossas prioridades e valores, que nos ajuda a atrair e reter os melhores talentos.

Além disso, acreditamos que uma cultura de engenharia bem documentada nos ajudará a aumentar a eficácia:

  • Evidenciando inconsistências e forçando as discussões necessárias.

  • Tornando a cultura mais previsível.

  • Capacitando as pessoas a agir (se estou alinhado com a cultura e tenho as melhores intenções, não há como me complicar).

  • Coordenando os esforços dos engenheiros na mesma direção.

  • Reduzindo o atrito entre as pessoas.

  • Atraindo candidatos alinhados com a cultura (e desencorajando os demais).

  • Ajudando na integração de novos engenheiros e na definição de valores e expectativas compartilhados.

Como definimos a cultura de engenharia da Snyk

A Snyk tem uma cultura forte e bem definida no nível organizacional. Quando conversamos uns com os outros, nossos valores são usados para ajudar a alinhar nossa atenção e manter o foco nela. 

  • Uma equipe - Celebramos a força de nossa comunidade, colaborando com entusiasmo e determinação para alcançar grandes realizações.

  • Dedicação total - Temos orgulho de liderar com paixão uns pelos outros, pelos clientes, pelo planeta e pelas comunidades onde vivemos e trabalhamos.

  • Entregar já - Operamos com agilidade, adotando a inovação contínua para entregar resultados aos nossos clientes e sempre aprender, revisar e aprimorar.

  • Pensar maior - Celebramos a força de nossa comunidade, colaborando com entusiasmo e determinação para alcançar grandes realizações.

  • Aprender sempre - Acreditamos que sempre há mais a aprender e que o aprendizado é a essência do nosso crescimento como pessoas e como empresa. Nunca deixe de aprender.

Cada um desses valores essenciais pode ser aplicado em diferentes situações. Notamos que a concentração nesses valores nos ajuda a alcançar o sucesso. Agora, como podemos aproveitar esses valores essenciais para ajudar todos os nossos engenheiros a terem o mesmo entendimento e serem bem-sucedidos?

Reunimos líderes de toda a área de engenharia, mostramos os nossos valores e fizemos uma sessão de brainstorming sobre tudo o que torna a engenharia da Snyk incrível. O alinhamento de nossos valores essenciais às nossas práticas de engenharia resultou no documento Cultura de Engenharia da Snyk, que é a base desta postagem de blog.

Uma equipe

Celebramos a força de nossa comunidade, colaborando com entusiasmo e determinação para alcançar grandes realizações.

Comunicação nunca é demais

Como uma empresa distribuída, falamos muito sobre avanços, processos, problemas etc. Para isso, usamos comunicação, documentação e práticas recomendadas para compartilhar informações. Alguns exemplos:

  • Compartilhar regularmente o progresso e as atualizações dos projetos, sem que ninguém precise solicitar.

  • Demonstrar recursos novos ou em desenvolvimento.

  • Gravar e compartilhar regularmente vídeos disponíveis para qualquer pessoa.

  • Um grupo de documentação técnica que promove práticas recomendadas sobre como criar documentação e textos técnicos excelentes.

Oferecemos e recebemos feedback regularmente

Incentivamos nosso pessoal a fazer revisões frequentes e solicitar feedback de colegas e lideranças. Também sabemos como aplicar feedback e como obter benefícios dele. O feedback é um recurso precioso. Sempre oferecemos e aceitamos feedback dentro desse contexto. Para incentivar o feedback, temos revisões anuais/trimestrais/não agendadas, feedback privado em reuniões individuais e um canal público de reconhecimento no Slack.

Nunca trabalhamos sozinhos

Tomada de decisões, execução de tarefas simples e complexas, resolução de incidentes: sempre temos alguém para nos apoiar. As pessoas não têm receio ou vergonha de interagir e colaborar uns com os outros. Preferimos errar pelo excesso de colaboração e incentivamos o uso do valor "Uma equipe" como apoio.

Por exemplo, muitas equipes usam programação em pares, em grupo ou colaborativa para apoiar uns aos outros, manter o foco e encontrar as melhores soluções.

Nossa cultura desconhece a culpa

Todos são parte integral do que fazemos. A forma como respondemos, crescemos e aprendemos é mais importante do que qualquer retrospectiva do tipo "quem fez isso". Quando discutimos problemas, sempre mantemos o foco em melhorias e medidas futuras. 

Demonstramos claramente nosso reconhecimento pelo trabalho dos outros

Sempre reconhecemos os outros em canais de comunicação públicos, como em #appreciation, um canal dedicado do Slack.

Dedicação total

Temos orgulho de liderar com paixão uns pelos outros, pelos clientes, pelo planeta e pelas comunidades onde vivemos e trabalhamos.

Consideramos requisitos de qualidade e não funcionais

Quando fornecemos valor aos clientes, consideramos até mesmo requisitos implícitos, como usabilidade, confiabilidade, testabilidade, eficiência e preparação geral para produção. Nós:

  • Corrigimos problemas em vez em vez de escondê-los

  • Realizamos um número razoável de testes para cada recurso

  • Fornecemos as métricas, painéis e alertas adequados

  • Usamos internamente os mesmos produtos e funções que criamos

Consideramos as implicações éticas do nosso trabalho

Em nosso trabalho, permanecemos atentos às nossas responsabilidades éticas perante a sociedade e tentamos aplicar considerações éticas aos nossos requisitos. 

  • Consideramos requisitos que fornecem valor a comunidades vulneráveis, como requisitos de acessibilidade na experiência do usuário.

  • Tratamos dados de acordo com os regulamentos aplicáveis e levamos a governança de dados a sério.

  • Não empregamos padrões de design enganosos (por exemplo, que forçam pessoas a fazer inscrições ou as enganam de outra forma).

  • É responsabilidade dos engenheiros manifestar preocupações sobre possíveis violações éticas. Eles devem sentir que têm autonomia para fazer isso sem medo de retaliação ou represálias

Pensamos primeiro nos clientes

Todos os problemas dos clientes são importantes. Apoiar os clientes e as equipes de linha de frente é uma tarefa vital para nossas equipes.

  • Os engenheiros participam de chamadas de depuração com os clientes para agilizar as correções.

  • Mantemos uma visão nítida dos problemas, que são priorizados em conjunto com o trabalho nos recursos.

  • Pesquisamos todos os novos recursos entre os usuários para orientar nosso design em função direta de suas necessidades e casos de uso.

Incentivamos (mas não forçamos) conexão e socialização

Ajudamos os que adoram interação a interagir ainda mais. Mas não forçamos ninguém a ser sociável, pois sabemos que não é o que todos desejam. Para ajudar, oferecemos canais de diversão e do Donut no Slack, diversão em equipe, eventos sociais, happy hours e muito mais (online e offline).

Sabemos que cada pessoa tem um dia/experiência diferente

A Snyk sabe como operar em um ambiente de vários fusos horários e tem experiência com equipes distribuídas. Respeitamos as agendas das pessoas (cuidar dos filhos, consultas médicas etc.), seus fusos horários (sem reuniões ou esperar respostas no Slack) e oferecemos uma sessão de aprendizado chamada Fusos horários para gerentes e gerenciados.

Consideramos diversidade, equidade e inclusão (DEI) um princípio fundamental

Fortalecemos a cultura inclusiva da Snyk: abraçamos diferenças, mantemos um senso de unidade e nos capacitamos mutuamente a sermos nossa versão mais autêntica no trabalho. Oferecemos diversos grupos de recursos da Snyk (SRGs) para diferentes comunidades marginalizadas e o objetivo da nossa missão interna Mosaic@Snyk é fortalecer a cultura inclusiva da Snyk.

Entregar já

Operamos com agilidade, adotando a inovação contínua para entregar resultados aos nossos clientes e sempre aprender, revisar e aprimorar.

Trabalhamos com cortes verticais

Cada parte do trabalho que realizamos começa com um objetivo claro e voltado ao usuário em mente. Essas fatias devem abranger toda a pilha para ajudar a reduzir o risco do trabalho futuro que teremos de fazer. Aplicamos desenvolvimento iterativo para receber feedback antecipado.

Leitura sugerida:Marshmallow Challenge, Innovation Games: Creating Breakthrough Products Through Collaborative Play, Mark Finnern | Any significantly advanced work is indistinguishable from play, Visible Architectures, How Big Tech Runs Tech Projects and the Curious Absence of Scrum

Nossas equipes têm liberdade para escolher seu próprio processo

Qualquer processo que ajude a entregar: XP, Kanban, Shape Up, Scrum: você que sabe. Ao mesmo tempo, temos liberdade dentro de uma estrutura para que ela funcione para a equipe. Mas a equipe deve manter um certo alinhamento com o grupo. As equipes dentro do grupo devem ser capazes de planejar, estabelecer dependências e comunicar em conjunto sobre objetivos no curto prazo.

Por exemplo, temos algumas equipes que seguem XP (por exemplo: sem sprints, sem pontuar histórias), outro grupo usa Shape Up e a Infra usa um modelo de 1 página/6 páginas para comunicação e tomada de decisões.

Nossas equipes usam as "Definições de pronto" para controlar quando o trabalho está realmente concluído

"Pronto" vai além de estar em produção: significa estar nas mãos de usuários engajados e partes interessadas reais. Nos canais internos, trabalhamos continuamente na "Definição de pronto".

As ferramentas de DevEx e desenvolver/comprar que apoiam você são extremamente importantes para nós

Estamos sempre interessados em implementar aprimoramentos. Isso significa que podemos sugerir, testar e validar novas ferramentas que se tornam parte de nosso conjunto padrão de ferramentas disponíveis. Por exemplo, Polaris, Jira e CircleCI estão disponíveis para os engenheiros e temos canais no Slack para apoiar o uso dessas ferramentas e adicionar outras.

Pensar maior

Somos movidos por nossa ambição de alcançar o extraordinário, ultrapassando limites para criar soluções que podem mudar o mundo.

Automatizamos

Não desperdice tempo e esforço em processos rotineiros, etapas repetitivas, operações demoradas.

Refinamos processos

Não se apegue a algo só porque sempre funcionou assim. Aprimore e ajuste processos para que funcionem melhor para a empresa.

Pensamos além das fronteiras da equipe

Consideramos e descobrimos dependências, pertencer a um grupo (e não apenas à equipe). Estamos sempre compartilhando nosso progresso com os níveis superiores, coletando feedback em todo o nosso grupo e incentivando grandes ideias (por exemplo, vamos mudar o funcionamento de X). Para promover a colaboração entre as equipes de forma divertida, organizamos hackathons e outros eventos para reunir todas as pessoas.

Projetamos para o futuro e desenvolvemos para o presente

Buscamos alcançar um equilíbrio entre "Pensar maior" (arquitetura e design) e "Enviar já" (cortes verticais) e aumentar a escala do escopo na implementação.

Aprender sempre

Adotamos uma mentalidade de abertura e curiosidade, aprendendo uns com os outros e sempre buscando maneiras de crescer.

Incentivamos e praticamos a mentoria e o coaching

Nada se iguala a uma sólida cultura de mentoria entre pares. É uma vantagem competitiva para o crescimento rápido da organização. Para apoiar essa mentalidade, temos os canais miyagi-academy e mentorship-*. Temos prazer em solicitar e compartilhar conhecimento. Também oferecemos uma sessão de aprendizado sobre Como ser um educador eficaz.

Oferecemos um programa de intercâmbio de funcionários na Snyk

Para melhorar por iteração, lançamos um programa de intercâmbio de funcionários. O programa permite que funcionários de diversas equipes de engenharia mudem para uma equipe diferente durante um sprint para aprender novas tecnologias, vivenciar novos processos e melhorarmos todos como Uma equipe.

Incentivamos os Snykers a usar os recursos de aprendizado

Valorizamos o conhecimento, o aprendizado e o autodesenvolvimento. A Snyk nos motiva a investir mais em aprendizado. Somos incentivados a bloquear nossa agenda para aprendizado (e respeitar esses bloqueios), temos um orçamento anual para educação e podemos acessar recursos de aprendizado como Learnerbly, Udemy e O'Reilly, entre outros.

Realizamos regularmente retrospectivas e aprendemos com nossa experiência

A maioria das equipes realiza retrospectivas de sprint/projeto, mas também fazemos retrospectivas nos estágios iniciais de novos processos e iniciativas para identificar o que pode ser alterado, corrigido ou melhorado. Os processos de revisão e ajuste são a nossa essência.

Realizamos revisões de incidentes

Realizamos revisões após os incidentes e aprendemos com o que deu errado. As revisões nos ajudam a melhorar de duas maneiras: a forma como lidamos com incidentes e o que fazemos para evitar incidentes semelhantes no futuro. Para apoiar esse processo, temos um grupo de incidentes e um projeto dedicado a incidentes graves.

Frequentamos a Snyk School

A Snyk School é um fórum envolvente e interativo liderado por Snykers que oferece a oportunidade de saber mais sobre tópicos cruciais para nosso aprendizado e crescimento.

Demonstramos nosso trabalho

Temos grande interesse em compartilhar mudanças técnicas demonstrando-as em software em funcionamento. Compartilhamos nosso sucesso e progresso em reuniões diferentes para grupos distintos: pares, suporte, negócios. Esse processo inclui demonstrações quinzenais para toda a empresa e chamadas de demonstração mensais.

Nossas funções de engenharia estão bem definidas

Funções bem definidas apoiam o crescimento profissional e pessoal no sentido de um plano de carreira. Os engenheiros conseguem entender sua posição atual e quais aspectos devem ser aprimorados.

Conclusões

Agora que colocamos todas as nossas convicções e práticas em palavras, fica mais fácil compartilhá-las com todos os nossos talentosos engenheiros espalhados em todo o mundo. Podemos iterar sobre elas conforme aprendemos (Aprender sempre!) e apoiar os engenheiros na tomada das melhores decisões possíveis. Decisões alinhadas com nossos valores e cultura de engenharia raramente estarão erradas.

Inicialmente, a cultura pode ser algo difícil de definir. É algo que você internaliza e vive. Quando dá um passo para trás e avalia o todo, você consegue perceber onde há valores que orientam a forma de encarar o trabalho e os problemas. Desafiamos você: experimente! Quais valores você considera importantes para ajudar suas equipes a ter mais sucesso? 

Publicado em: