Gostaríamos de compartilhar como nivelamos os engenheiros da Ockam . Esta é uma visão dos bastidores de como muitas empresas constroem escadas de nível, mas, por algum motivo, raramente é compartilhada.
Se você é um engenheiro júnior e está pensando em sua trajetória profissional, confira as habilidades e responsabilidades que temos pela frente.
Se você é um fundador ou está construindo uma nova estrutura para sua equipe de engenharia, esperamos que possamos economizar algum tempo ao criar essas descrições do zero.
Na Ockam, existem três trilhas de engenharia para acomodar membros da equipe com diferentes metas de crescimento: IC, Gestão e Executivo. Normalmente, os engenheiros passarão pelas responsabilidades do nível de Engenharia Sênior antes de mudar para uma faixa de gerenciamento de pessoas.
NÍVEIS | ACOMPANHAMENTO DO COLABORADOR INDIVIDUAL | TRILHA DE GESTÃO | TRILHA EXECUTIVA |
---|---|---|---|
L1 | Engenheiro eu | - | - |
L2 | Engenheiro II | - | - |
L3 | Engenheiro III | - | - |
L4 | Engenheiro Sênior I | - | - |
L5 | Engenheiro Sênior II | Líder de Engenharia [Equipe] | - |
L6 | Engenheiro Pessoal I | Chefe de [Área] | - |
L7 | Engenheiro Pessoal II | Diretor de [Produto] | - |
L8 | Engenheiro chefe | Diretor senior | - |
L9 | - | - | vice-presidente de engenharia |
Abaixo, detalhamos as responsabilidades dos níveis de Engenharia na Ockam.
Nossa escada de carreira tem as responsabilidades de L2/L3, L4/L5 e L6/L7 agrupadas. A diferença entre cada um desses níveis está no primeiro nível; a expectativa é que o membro da nossa equipe esteja exibindo alguns ou muitos dos comportamentos nesse nível.
No segundo nível, a expectativa é dominar a maioria dos comportamentos e também começar a exibir comportamentos em um nível acima.
Aprende, escreve, testa, revisa e documenta o código de acordo com os padrões de engenharia da Ockam e as melhores práticas de desenvolvimento.
Participa do design de software para pequenos recursos e correções de bugs sob supervisão direta.
Conclui pequenos projetos de administração de sistema sob supervisão direta.
Pode entregar atribuições de tarefas no prazo e de acordo com as especificações.
Dada uma introdução a uma pequena tarefa, pode conduzir essa tarefa até a conclusão, incorporando feedback e sugestões de engenheiros seniores.
Pede ajuda e aprende com ela.
Comunica efetivamente o andamento das tarefas.
Pode comunicar e articular suas responsabilidades e utilizar efetivamente a estrutura RACI.
Desenvolve, envia e mantém os recursos do produto com a orientação de seu gerente e engenheiros seniores.
Escreve código que é claro, conciso, testado e facilmente compreendido por outros.
Rastreia os problemas do GitHub e responde se um colaborador ou cliente externo apresentar um ticket/problema relacionado ao seu código.
Melhora a experiência de desenvolvimento de sua equipe aprimorando ferramentas de desenvolvimento, cobertura de teste e/ou estrutura de código.
Contribui para especificações de código e participa de revisões de código em pequena escala.
Aprende com os erros e está em um caminho de melhoria contínua.
Começa a se concentrar em obter experiência em áreas ou recursos adjacentes.
Sabe como priorizar várias tarefas ou atribuições e entregá-las no prazo.
Fornece orientação básica para colaboradores externos de código aberto.
Sabe quando pedir ajuda para se desbloquear.
Aprende como obter conhecimento, experiência e feedback de membros seniores de sua equipe.
Comunica com eficácia o progresso dos projetos para sua equipe de acordo com as responsabilidades do RACI e é capaz de fornecer feedback cuidadoso para sua equipe.
Entende como suas responsabilidades estão alinhadas com os OKRs do time.
Tem comunicação contínua e sabe quando enviar informações apropriadas ao seu gerente.
Gerencia efetivamente uma agenda 1:1 com seu gerente.
Compreende e toma decisões de design bem fundamentadas sobre recursos de produtos grandes ou complexos.
Atua como multiplicador na equipe. Freqüentemente, prioriza e valoriza tarefas não desejadas ou indesejáveis que permitem que outras pessoas se movam mais rapidamente.
Projeta interfaces abstratas e constrói bibliotecas modulares que são bem testadas e livres de bugs.
Refatora regularmente o código para melhorar o tratamento de erros, testabilidade e manutenção.
Consistentemente escreve, co-escreve e revisa a documentação e o código pronto para produção que é claro, conciso, testado e facilmente compreendido por outros.
Procura ativamente por coisas que precisam de correções/atualizações/esclarecimentos imediatos e arquiva problemas claros que colaboradores de OSS ou engenheiros L1-3 podem detectar.
As abordagens funcionam com uma lente de segurança e procuram ativamente por vulnerabilidades de segurança no código e ao fornecer revisões de código.
Prevê com precisão as entregas com duas a três semanas de antecedência e as entregas nesse cronograma.
Requer supervisão mínima além da direção de alto nível.
Corrige problemas proativamente sem ser instruído/atribuído a fazê-lo.
Identifica falta de clareza, inconsistências e limitações técnicas com problemas ou atribuições de tarefas e pode fazer melhorias corretivas.
Trabalha em sua equipe e em equipes adjacentes (por exemplo, DevEx) para resolver problemas e conduzir projetos até a conclusão.
Escala construtivamente os problemas e problemas antecipadamente para ajudar a corrigir o curso e garantir o progresso em direção aos OKRs.
Identifica requisitos conflitantes em toda a empresa e os sinaliza para seu gerente.
Identifica riscos no código, recursos e design e os comunica à sua equipe para colaborar nas soluções.
Comunica com eficácia o impacto e as compensações de várias soluções ao apresentar soluções para problemas.
Capaz de entender quando as tarefas propostas não estão alinhadas com os OKRs da equipe e adiar essas tarefas para o backlog.
Compreende e comunica efetivamente o RACI para suas tarefas em toda a equipe.
Fornece orientação técnica para a equipe executiva e toma decisões arquitetônicas e de design em larga escala.
Estima, avalia e gerencia os cronogramas do projeto com as equipes de gerenciamento e executivos.
Participa do processo de revisão do projeto.
Busca críticas construtivas e garante que o feedback técnico seja detalhado e bem compreendido por outras pessoas da equipe.
Compreende os limites das ferramentas da Ockam e, quando um problema excede esses limites, produz ou direciona sua equipe para construir uma nova ferramenta.
Demonstra capacidade de sucesso em uma ampla gama de situações técnicas complexas em vários eixos: por exemplo, escala, incerteza e interconectividade.
Especialista em seções muito grandes do código-fonte do produto.
É um recurso para outras equipes que precisam de ajuda com recursos adjacentes.
Capaz de resolver rapidamente questões táticas em toda a equipe, a fim de garantir a conclusão pontual dos projetos.
Garante que o conhecimento seja compartilhado entre a equipe e não se posicione, ou outros, como um único ponto de falha.
Constrói relacionamentos com colaboradores de código aberto e parceiros complementares.
Monitora e está ciente do trabalho que acontece em toda a equipe.
Prevê com precisão as entregas com dois meses de antecedência e as entregas nesse cronograma.
Impulsiona o alinhamento de OKRs em toda a organização e usa sua influência para inspirar sua equipe.
Demonstra sucesso liderando projetos grandes, estratégicos ou complexos que potencialmente têm um impacto excepcional no crescimento de longo prazo da empresa.
Atua principalmente como um multiplicador, construindo sistemas, criando ferramentas ou introduzindo políticas ou padrões que elevam o nível de produtividade da empresa.
Garante que os projetos técnicos sejam devidamente avaliados para projetos sob RACI e aconselha as equipes sobre como melhorar a execução.
Modela metodologias de codificação, estilo, DevEx e práticas recomendadas em amplas áreas do código-fonte do produto.
Lidera revisões de código em larga escala e pode aprovar grandes atualizações de recursos.
Capaz de depurar problemas de grande escala excepcionalmente difíceis, falhas de segurança ou interrupções de serviço.
Possui profundo conhecimento em vários produtos Ockam e produz contribuições de código de alta qualidade para esses recursos.
Trabalha com gerentes para dividir OKRs complexos em projetos fáceis de entender que podem ser efetivamente construídos e mantidos por IC L1 a L5s.
Promove uma cultura de observabilidade nos produtos da Ockam e ajuda a equipe a usar dados operacionais para melhorar a estabilidade e o desempenho dos produtos de sua equipe.
Influencia e conduz conversas com a equipe executiva sobre a direção dos OKRs e roteiros de produtos em toda a empresa.
Colabora entre as equipes para resolver problemas e estruturar a resolução de debates técnicos complexos.
Pode converter seus relacionamentos preexistentes de desenvolvedor de código aberto e arquiteto corporativo em usuários e clientes.