Em fevereiro, um engenheiro que eu gerenciava há mais de um ano mudou-se para uma nova equipe. Em um dos nossos últimos 1:1s, mencionei que ele recentemente fez um bom gerenciamento de projetos. Ele respondeu que teve uma epifania sobre auto-direção; ele decidiu que precisava "se sentir dono" (ownership) de tudo sobre seu trabalho, não apenas seu código, para garantir que seus projetos fossem bem-sucedidos. Fiquei impressionado com ele e, instantaneamente, decepcionado comigo mesmo - considerava ownership a coisa mais importante para os jovens engenheiros aprenderem, mas de alguma forma deixei esse engenheiro descobrir isso por si mesmo.
Decidi então escrever as práticas que acho que elevam um engenheiro de software recém-criado de amador para profissional: o caminho da correção de bugs como "Engenheiro 1" para a liderança de grandes projetos como "Engenheiro Sênior".
Acredito firmemente que essas habilidades podem ser ensinadas, mas, da minha parte, aprendi as idéias que você lerá abaixo do modo difícil, durante dez anos no Vale do Silício. Eu cobri algum terreno nessa década; Eu hackeei o kernel de uma empresa de frutas bem conhecida em Cupertino por seis anos, joguei fora tudo o que sabia para me interessar por sistemas distribuídos, passei um ano em uma startup que se tornou um Unicórnio e foi posteriormente adquirida (AppDynamics), me tornei um gerente, acabei gerenciando mais de 20 pessoas no Uber e, finalmente, retornei às minhas raízes como programador. Espero que a leitura desta lista, por mais incompleta que seja, economize alguns dos erros que me educaram; Eu certamente gostaria que alguém tivesse me enviado essa lista quando eu tinha 22 anos.
- Pense sobre o valor do negócio: Pense como um CEO. Entenda o valor do seu trabalho para sua empresa e assuma a responsabilidade por raciocinar sobre qualidade, riqueza de recursos e velocidade. Seu trabalho não é apenas escrever código; seu trabalho é tomar boas decisões e ajudar sua empresa a ter sucesso, e isso requer a compreensão do que realmente importa.
- Desbloqueie-se: Aprenda a nunca, jamais aceitar ficar bloqueado; encontre uma maneira de persuasão, escalada ou criatividade técnica. Novamente, seu trabalho não é apenas escrever o código e esperar que tudo o mais se encaixe; seu trabalho é descobrir como criar valor com seus esforços.
- Tome iniciativa: O equívoco mais comum em software é que existem adultos por aí que estão no topo das coisas. Possua a missão de sua equipe e empresa. Não espere para ser avisado; pense no que precisa ser feito e faça-o ou defenda-o. Os gerentes dependem da criatividade e inteligência de seus engenheiros, não descobrindo tudo sozinhos.
- Melhore sua escrita: a escrita técnica nítida facilita a colaboração e aprimora muito sua capacidade de persuadir, informar e ensinar. Lembre-se de quem é seu público e o que eles sabem, escreva de forma clara e concisa e quase sempre inclua um pequeno resumo no início (tl;dr).
- Seja o proprietário do seu gerenciamento de projetos: entenda o gráfico de dependência do seu projeto, garanta que as partes principais tenham proprietários, escreva bons resumos de planos e status e informe proativamente as partes interessadas sobre os planos e o progresso. Pratique a execução de reuniões! Tudo isso permite que você assuma projetos muito maiores e é uma ótima preparação para a liderança.
- Você é responsável por sua educação: Prossiga o domínio de seu ofício. Sua carreira deve ser uma jornada de crescimento constante, mas ninguém garantirá que você cresça. Encontre uma maneira de tornar o aprendizado parte de sua vida diária (até 5 minutos/dia); entre em listas de discussão, encontre papéis e livros que valem a pena ler e leia a capa do manual para as tecnologias com as quais você trabalha. Consistência é a chave; crie hábitos que o manterão crescendo ao longo de sua carreira.
- Domine suas ferramentas: Domínio de editor, depurador, compilador, IDE, banco de dados, ferramentas de rede e comandos Unix é incrivelmente poderoso e provavelmente a melhor maneira de aumentar sua velocidade de desenvolvimento. Quando você encontrar uma nova tecnologia ou comando, vá mais fundo do que pensa que precisa; você aprenderá truques que o servirão de novo e de novo.
- Comunique-se de forma proativa: a comunicação regular e bem organizada gera confiança e boa vontade nos colaboradores; o compartilhamento de conhecimento cria uma atmosfera de aprendizado e camaradagem. Compartilhe conhecimento e defina regularmente uma cadência de informações às partes interessadas sobre as metas, o progresso e os obstáculos do projeto. Faça palestras e fale criteriosamente nas reuniões.
- Encontre oportunidades para colaborar: uma boa colaboração aumenta sua alavancagem e melhora sua visibilidade em sua organização. O avanço de seu ofício como engenheiro exige que você tenha um impacto além do código que você escreve, e o avanço de sua carreira requer, até certo ponto, a construção de uma marca pessoal em sua empresa. Projetos multifuncionais e colaboração profissional e respeitosa são essenciais para ambos.
- Seja profissional e confiável: pense em você como um profissional e aja como um. Venha às reuniões pontualmente e prepare-se, depois preste atenção. Entregue o que você diz que fará e se comunique de maneira proativa quando as coisas derem errado (elas vão). Mantenha suas objeções legais e as expresses de maneira respeitosa. Mostre a seus colegas respeito e apreço. Minimize suas reclamações; eleve as pessoas ao seu redor, não puxe para baixo. Todo mundo aprecia um verdadeiro profissional; mais importante, é o caminho certo para se comportar.
Créditos
- Ten Principles for Growth as an Engineer, escrito originalmente por @daniel.heller
Top comments (2)
Excelente texto!
Parabéns.
Parabéns pelo texto <3