Esta é a segunda parte das minhas 10 super dicas para novos programadores terem uma carreira de sucesso. Estou trabalhando na dica 11! Confira no final do post.

Você pode ver a Parte 1 aqui.

10 super dicas para novos programadores terem uma carreira de sucesso (Parte 1)

6) Refaça as coisas do zero, depois jogue tudo fora

Quem disse que reinventar a roda é sempre ruim, é um acomodado que aceita todas as verdades. Não se deixe enganar pelas frases de efeito que muitos falam sem entender o real significado.

Se o ser humano não tivesse reinventado a roda algumas vezes, ainda estaríamos lascando um bloco de pedra até ela ficar redonda.
 
Imagem dos Flingstons em um carro com rodas de pedra

Na minha vida de programador, reinventar a roda significou fazer a mesma coisa de formas diferentes, mas buscando fazer melhor. Mais especificamente, frameworks Java.

Por favor, não vá dizer por aí que eu estou te falando para fazer a mesma coisa, de forma burra, de novo e de novo! Não é isso.

Como grande parte da minha carreira como programador foi com a linguagem Java, eu simplesmente não aceitava a improdutividade dos frameworks lá dos anos 2007. Na realidade, eu ainda não aceito, comparando com Rails (mas isso é outra história). Essa minha insatisfação me motivava a buscar algo melhor.

Naquele tempo, eu pensava que poderia fazer um framework melhor do que os que existiam. E você acha que eu consegui? Pois é. Não. Mas eu percebi que, no momento em que eu buscava fazer algo novo, do zero, eu era obrigado a aprofundar meu conhecimento nos fundamentos da tecnologia. Isso me deu uma bagagem incrível, me permitindo aprender a explorar ainda mais os frameworks existentes, deixando eles melhores para meu dia-a-dia.

O que eu fazia com o que eu havia criado? Jogava fora. Deixava de lado e, ou continuava com meus frameworks da época, só que conseguindo usar eles de forma mais eficaz, ou mudava de framework. Eventualmente, de tecnologia.

O conhecimento adquirido era o que realmente importava.

7) Faça uma faculdade. Você precisa.

Não se engane. Você ficará extremamente limitado se não estudar. Estudar por conta é fundamental, mas não basta. Você precisa fazer cursos, frequentar congressos, assistir palestras e, sim, fazer uma faculdade.

Por que a faculdade é tão importante assim?

A faculdade te dá fundamentos muito sólidos. Você aprenderá muito bem o básico. A construção do seu conhecimento técnico é como a construção de uma casa. O que acontece com uma casa com as fundações ruins, assim que vier a primeira tempestade? A casa cai!

Construa bem os seus fundamentos.
 
Pilha de tijolos

Mas fique atento!

Existe um abismo entre o que a faculdade te ensina e o que o mercado de trabalho deseja.

Falarei mais sobre isso também, em breve.

8) Cuidado com a comparação entre tecnologias

Recorrentemente eu vejo desenvolvedores comparando linguagem A com linguagem B. Por um tempo isso me irritava. Hoje, me dá pena.

Cada linguagem tem seus pontos positivos e pontos negativos. Exceto Clipper (brincadeira :-P).
 
Tela azul com códigos

Entenda que cada situação requer uma abordagem e uma solução diferente. Isso significa que a mesma linguagem que te permite fazer sistemas web, pode ser um pesadelo para sistemas desktop. E vice-versa.

Quem trabalhar com isso pode me criticar, mas eu considero um horror desenvolver aplicações desktop ou pequenos sistemas web com Java. Agora, para aplicações robustas em arquitetura de servidor, com alta possibilidade de distribuição, poucas coisas se igualam.

Dessa forma, Java é ruim? Na minha opinião, Java é ruim para algumas situações, mas não para outras. Para outras, é a melhor opção disponível!

Por isso não se limite a uma linguagem ou tecnologia. Você precisa ser versátil!

9) A melhor forma de aprender é ensinando

Parece até clichê, mas não é não. A melhor forma de aprender é sim ensinando! Quando você precisa ensinar algo para alguém, você se vê obrigado a buscar fundamentos para o seu conhecimento que, eventualmente, você ainda não possua.
 
Mãos dadas dando ideia de construir coisas juntos

Uma exemplo simples que eu lembro ter acontecido comigo foi quando eu ensinava sobre modificadores de acesso Java para um amigo. Naquele momento, eu falava sobre private, protected, public… Aí parti para static, final… E veio então a dúvida:

Lauro, e pra que serve então o transient?

Rapaz… Eu conhecia o termo, sabia em linhas gerais mas, na época, eu realmente não entendia a real aplicação daquilo. Aliás, usei pouquíssimo em minha vida, mas isso não importa agora.

O que aconteceu? Bom, ao ensinar eu percebi que eu não sabia algo também e precisei pesquisar. Falei, de forma humilde que eu realmente não sabia o real significado, e busquei junto com ele o conhecimento. Nós dois saímos ganhando!

Se você estiver pensando “Nossa, mas ele ensina Java e não sabia disso?”, eu só tenho uma coisa a te dizer:

Deixa de ser arrogante pois ninguém sabe tudo! Muda o teu pensamento agora e entenda que querer saber tudo e se envergonhar de não saber algo, te torna um babaca. E as pessoas percebem isso na hora!

Você não precisa dar cursos ou palestras para ensinar. Ensine seu amigo, seu colega de trabalho… Não importa. Compartilhe seu conhecimento.

Leia meu texto Eu tenho pena de você que tem medo de compartilhar seu conhecimento!

10) La bella gambiarra!

Vários novos programadores passam por uma fase onde tudo que foge ao padrão é considerado gambiarra. Alguns carinhosamente chamam de “gambi”.

Não faço apologia à gambiarra, mas tome cuidado ao usar essa expressão. Existem situações onde, ou você resolve o problema com um belo de um Go Horse, ou você não resolve. Não seja inocente de acreditar que a vida é uma maravilha e você sempre poderá fazer códigos lindos de dar orgulho.
 
Imagem de um motor de carro com uma lata de Pringles unindo as partes

Procure sim escrever código simples e legível. Aliás, mesmo em casos extremos, você pode fazer isso, dependendo do seu grau de maturidade. Mas, se aquela situação apertar, pense:

O que vale mais? Um código que eu vou me orgulhar de ter feito, mesmo sob pressão, ou aquele R$ 1mi que meu cliente perde por hora com o sistema fora do ar?

Talvez esse 1 milhão aí esteja parecendo exagerado… Mas eu já presenciei situações similares, e não é uma situação tão difícil assim de acontecer, acredite.

Tenha bom senso e avalie a situação com um todo. Se não houver como fazer tudo às mil maravilhas, faça da melhor forma possível.

E, principalmente, não seja um chato considerando tudo “gambi”!

11) BÔNUS: Aprenda a assumir riscos!

Eu considero esse item muito bacana, e bem especial.

Fiz um novo post falando só sobre isso.

Aprenda a assumir riscos!

Até a próxima!