7 dicas para desenvolvedores(as) iniciantes

Então você é um(a) jovem programador(a), está saindo da faculdade e quer saber como se dar bem nessa área? Aqui vai algumas dicas que podem fazer diferença na sua carreira.

  1. Aprender Inglês - Esse é meio óbvio, todo mundo sempre diz isso, mas quando eu me refiro a aprender inglês, falo em realmente dominar o idioma, ser capaz de não apenas ler, mas de participar de reuniões, emitir sua opinião, enfim, ser capaz comunicar-se de modo que a lingua não seja uma barreira. Maneiras comum de conseguir proficiência no inglês: Cursos de inglês, intercâmbio, um trampo em uma empresa multinacional, etc.
  2. Programar com TDD — Para quem não conhece, Test Driven Development (TDD) ou Desenvolvimento Guiado por Testes é uma técnica de desenvolvimento de software que se baseia no seguinte ciclo: Escreva um teste automatizado, implemente seu código de modo que faça seu teste passar, e refatore. Esta técnica é simples porém muito poderosa e, se feita com disciplina, faz com que praticamente toda a aplicação esteja testada, garantindo alguns efeitos coleterais como: Aumento da confiança do time em refatorar o código continuamente, previsibilidade das mudanças, velocidade de entrega estável, melhor manutenabilidade, diminue “Over Engineering”, enfim, menos horas extras e mais felicidade.
  3. Preocupar-se com Integração Contínua (Continuous Integration — CI) — Integração Contínua é o ato de integrar o trabalho de cada desenvolvedor continuamente em um código fonte centralizado. Normalmente isso ocorre múltiplas vezes por dia e usa-se um servidor como Travis, Jenkins ou Snap-CI para no mínimo rodar o build e testes automatizados após cada commit. Mas eu me refiro mais entender a filosofia da coisa: Quando se trabalha em equipe, o código fonte deve ser continuamente integrado (acredite, isso vai poupar muita dor de cabeça no futuro). Usar uma ferramenta como o Travis ajuda a chegar ao objetivo, porém ela por si só não resolve o problema caso o time esteja trabalhando com branches que demoram bastante tempo para serem integradas ou caso o time não tenha disciplina para manter o build sempre verde. Leia mais sobre CI.
  4. Ser programador poliglota — Inevitavelmente você terá que aprender mais de uma linguagem de programação. Dito isto, é interessante que você conheça linguagens de paradigmas diferentes. Mesmo que você trabalhe com C#, aprender uma linguagem puramente funcional te fará programar de forma diferente. Caso queira saber mais sobre, veja neste post quais linguagens de programação você deve aprender.
  5. Ler livros técnicos — Assim como qualquer área, ler bons livros podem fazer bastante diferença na sua carreira. A maioria dos(as) desenvolvedores(s) tendem a se interessar muito mais pela prática do que pela teoria, mas a segunda pode fazer você pegar atalhos e aprender muito mais rápido. Livros como Test Driven Development: By Example (Kent Beck), Clean Code (Robert Cecil Martin) e Head First Design Patterns (Elisabeth Freeman) me ajudaram bastante no início da carreira.
  6. Se preocupar com o negócio — Quando o(a) desenvolvedor(a) entende e passa a dominar o negócio, ele(a) sai de um papel passivo e passa a trabalhar de forma mais colaborativa, passando a entender e ter mais influência nas tomadas decisão, contribuindo de maneira efetiva na qualidade do produto.
  7. Seja uma pessoa ativa na comunidade — Se você é um(a) desenvolvedor(a) Haskell, tente participar dos eventos, tirar dúvidas das pessos, ler e estudar as bibliotecas open source, etc. Com o tempo e experiência, você pode passar a dar palestras e quem sabe contribuir para alguma biblioteca importante. Fazer essas coisas ajudam a criar uma boa rede de contatos, além de contribuir de forma efetiva para seu apredizado.

Iai? Gostou? Quer compartilhar algo que considere importante? Deixe seu comentário! :)