18 dicas para se destacar como engenheiro de software
Tags: braziliandevs, career, beginners
Published: 2024-06-23 19:12:51

Postado originalmente no [Dev na Gringa Substack](https://devnagringa.substack.com/p/18-dicas-para-se-destacar-na-carreira?utm_source=devto). Quer receber futuros artigos no seu e-mail? [Assine gratuitamente aqui](https://devnagringa.substack.com/subscribe?utm_source=devto).

---

Nesse artigo, vou falar sobre dicas que você pode aplicar para se destacar no seu trabalho. Essas são coisas que eu aprendi ao longo dos anos e venho aplicando diariamente. Até então, tenho recebido bons feedback na empresa que eu entrei e completei 1 ano recentemente. Todos os itens que vou listar têm sido importantes para isso.

Caso esteja com pressa, recomendo apenas ler os títulos. E, se ficar alguma dúvida, sinta-se à vontade para deixar um comentário ou me perguntar diretamente.

---

Você acabou de entrar numa empresa nova. Essa empresa tem um plano de carreira onde você pode crescer para pleno, sênior, e às vezes até mais. Mas, quais são os principais pontos que você pode aplicar para crescer nessa direção?

Nas minhas primeiras oportunidades, eu sempre pensei que era sobre programar mais, ter conhecimento profundo em tecnologias, e resolver problemas de maneira otimizada.

Esses itens são importantes, mas as habilidades técnicas (_hard skills_) não são o único item relevante. Especialmente numa empresa grande.

[Engenharia de software é uma atividade social](https://lucasfaria.dev/bytes/social-side-of-software-engineering). Mesmo que você seja o único programador de uma empresa, você ainda vai programar para os seus usuários. Você precisa entendê-los, saber o que os motiva, e como você pode ajudar.

Dito isso, vamos para as dicas.

![O mapa para crescer de júnior atê senior como engenheiro de software](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe301354e-7e8c-4866-a8df-c47f13184d45_996x792.png "O mapa para crescer de júnior atê senior como engenheiro de software")

## 1. Foque em uma única linguagem, um projeto, uma stack

Você terá muitas oportunidades de aprender novas tecnologias no futuro. A computação está sempre mudando. Mas, no começo, **profundidade é melhor que amplitude.**

Saiba muito bem uma linguagem e todas as suas peculiaridades, antes de partir para outra.

Quando buscar outra linguagem, aprenda-a porque ela resolve melhor algum problema específico que você tem. Exemplo:

- Desenvolvimento de _web services_ para alta performance. **Go** pode ser uma boa escolha.
    
- Implementação de um sistema de recomendação. **Python** provavelmente irá ganhar aqui.
    
- Criação de interfaces interativas e/ou visualização de dados. **JavaScript**, sendo a linguagem padrão para navegadores, irá cair bem.
    

## 2. Aprenda a ler código muito bem

Engenheiros sênior entendem que códigos são muito mais vezes lidos, movidos, copiados e deletados do que escritos. Portanto, você precisa ser bom em ler código. Você simplesmente fará isso muito mais vezes na sua carreira.

O que fazer então? **Faça code reviews.** Não apenas entregue suas tarefas. Saiba o que outras pessoas do seu time estão fazendo.

## 3. Teve algum incidente em produção? Participe, mesmo que não saiba como resolver.

Familiarize-se com as ferramentas de debugging que o seu time usa. Só de estar junto com as pessoas e entender o seu raciocínio para depurar os sistemas é aprendizado enorme.

Saiba usar as ferramentas de observabilidade que sua empresa usa. Exemplos:

- Performance e monitoramento, como Honeycomb, DataDog, New Relic.
    
- Replay de sessões de usuário, como PostHog e LogRocket.
    

## 4. Mantenha sempre todos os envolvidos atualizados do seu progresso nas suas iniciativas

Se o seu gestor e/ou o gerente de produto precisam te perguntar o status de alguma tarefa sua, isso quer dizer que você pode fazer isso de maneira melhor.

Faça o seu trabalho em público. Poste updates regulares no canal do seu projeto e/ou do seu time. Deixe que toda informação fique disponível para todos. Isso vai deixar apenas o seu trabalho mais fácil. E te ajudar a construir visibilidade sobre o que você faz.

## 5. **Terminou um projeto? Mande num canal público pra todo mundo saber.**

Explique porque a _feature_ que você fez é importante. Qual problema ela resolveu. Quais serão os planos para o futuro.

Se possível, inclua métricas e dados. Pense em como você pode medir se os usuários estão usando ela. Qual foi o impacto que ela teve.

Exemplos de como escrever isso:

- Implementei uma otimização na nossa busca que aumentou a conversão final dos clientes em 20%.
    
- Adicionei um novo índice no banco de dados que diminuiu o tempo de resposta médio da API em 30%.
    

Números deixam qualquer update mais relevante e fácil de ser digerido.

## 6. Coordene com o seu gestor para ele te dar a liderança de projetos de escopo pequeno

Imagine que você é uma API e seu gestor é o cliente dela.

Seu objetivo é ser uma API otimizada e confiável. Onde seu gestor pode fazer a requisição para você, e você entregar o que ele busca.

Isso é uma relação baseada primariamente em confiança.

Como aumentar essa confiança?

Pegue tarefas maiores. Aos poucos, peça oportunidades para liderar projetos.

## 7. Se você não souber algo, tente resolver inicialmente

Não tenha medo de mexer em código que você não conhece. Falamos antes: ler código é uma habilidade importante.

## 8. Cole no sênior ou _tech lead_ do seu time

Provavelmente são pessoas ocupadas. E há chance de que elas queiram fazer algo, mas não tem tempo. Exemplos:

1. Atualizar instruções de _on-call_.
    
2. Escrever documentos sobre a arquitetura.
    
3. Melhorar processos de _onboarding_.
    

Se mostre como alguém que pode ajudar a completar esses objetivos.

## 9. Externalize todo o conhecimento que você adquiriu ao longo do tempo

Especialmente quando você estiver entrando. Anote tudo o que você queria saber, como descobriu e por que é importante. Anexe isso nos documentos de _onboarding_ do seu time.

## 10. Seja amigo do seu designer e product manager

Entenda a visão de mundo deles. E qual a missão do seu produto no longo prazo. Participe de conversas com clientes, se possível.

Está gostando do conteúdo até agora? Considere se inscrever para receber futuros artigos no seu e-mail.

## 11. Expresse gratidão (_kudos_)

Faça isso sem esperar um retorno. Você só tem a ganhar com isso. E não apenas você: a maioria das pessoas gosta de se sentir apreciadas pelo seu trabalho.

Agradeça publicamente, de preferência.

Isso é bom não apenas para você, mas para a cultura da sua empresa.

## 12. Tenha opiniões. Questione as coisas se você não concordar

Isso faz parte do processo de aprendizado.

Mas, depois que uma decisão foi tomada, aceite. Mesmo que você discorde.

E faça o seu melhor para que seja uma decisão acertada, também.

[Pratique o _disagree and commit._](https://en.wikipedia.org/wiki/Disagree_and_commit)

## 13. Escreva um [brag document](https://jvns.ca/blog/brag-documents/)

Ao longo do ano, você vai esquecer o que você já fez.

O _brag document_ serve para você conseguir, facilmente, se lembrar.

Especialmente importante para momentos de promoções e _feedback_.

É basicamente a munição que o seu gestor precisa para mostrar que você merece ser promovido.

## 14. Faça reflexões com si mesmo

Procure aprender uma coisa nova toda semana, por menor que seja.

E, mensalmente, escreva algum impacto que você teve.

Se, após um mês, você não tiver nada para escrever, é um sinal de que algo precisa mudar, e rápido.

## 15. Escreva de forma clara e concisa

Use palavras simples e frases curtas.

A capacidade de explicar as coisas de maneira rápida e concisa é muito mais importante do que um texto no estilo redação do ENEM.

As pessoas são ocupadas. Otimize seu texto para que possam ler ele rapidamente.

## 16. Seja específico quando pedir por feedback

_Feedback_ é muito importantes para um crescimento acelerado.

Porém, muitas pessoas pedem *feedback* de forma genérica. Um exemplo: "Você pode me falar se tem algo que eu poderia fazer melhor?".

Se você acabou de entregar um projeto, pergunte no lugar: "como foi minha comunicação nesta última tarefa? Existe algo que você gostaria que eu fizesse diferente?".

A verdade é que é muito difícil dar um conselho genérico, pois o seu gestor também não vai lembrar de tudo que você fez.

Ser específico facilita o trabalho dele de lhe dar um bom *feedback*.

## 17. Não fique na defensiva ao receber _feedback_ construtivo

Receber _feedback_ é algo que pode ser raro. Feedback construtivo pode ser ainda mais.

Portanto, não tente justificar logo de cara se alguém lhe dizer algo que não concorde.

Procure entender o ponto de vista da pessoa.

Discuta o _feedback_ de maneira receptiva. Obtenha clareza do porquê a pessoa lhe disse algo.

## 18. Não tenha medo de errar

Essa é uma das mais importantes.

Você vai puxar um código que vai quebrar produção eventualmente.

**Não tem problema.** Aprenda com isso. E ajude para que outras pessoas no futuro não cometam o mesmo erro.

—

Espero que tenha gostado da edição dessa semana do Dev na Gringa.

Recentemente, comecei a construir uma comunidade aqui para o Dev na Gringa.

O objetivo é ter um espaço seguro onde possamos compartilhar ideias, aprendizados e conhecimentos.

Semana passada, tivemos nosso primeiro encontro para prática de conversação em inglês. Provavelmente vamos repetir isso de novo essa semana.

Se tiver interesse em participar, ou apenas de conversar sobre qualquer assunto, [entre em nosso servidor no Discord](https://discord.gg/n9m9ebfEnk).