March 10, 2020
Artigo publicado originalmente no medium
A internet ultrapassou os celulares, invadiu as coisas e o digital nos cercou por todos os lados. A boa notícia é: quem faz tudo isto acontecer — ainda — é o bom e velho programador.
Quando eu era criança, desmontava todos os meus brinquedos para pegar as peças; os motores eram os meus favoritos. Não tenho nenhum brinquedo de infância guardado.
Minha mãe ficava furiosa e dizia que eu não cuidava das minhas coisas. Mas com as peças eu fazia novos brinquedos, o que era muito mais legal. Eu gostava mesmo era de saber como as coisas funcionavam. Acho que é isto que eu realmente amo fazer.
O caminho natural era que eu estudasse mecânica ou eletrônica. Ver meus amigos da época estudando no SENAI não me animou muito, sobrou a eletrônica.
Salário de frentista paga escola
Meu pai até poderia pagar meus estudos, mas falou que se eu quisesse estudar em escola de bacana teria que pagar ao menos a metade da mensalidade com meu próprio dinheiro.
Fiquei puto como um bom adolescente, mas era minha única opção. Então corri atrás de algum emprego. No caso foi o de ajudante geral em um restaurante.
Mais tarde, já matriculado, ouvi de um dos professores uma frase que me acompanha até hoje.
Salário de frentista paga sua escola.
A má notícia era que mesmo trabalhando e contando com a ajuda do meu pai, a grana não pagaria o curso técnico de eletrônica na melhor escola da época. Sobrou o curso de Processamento de Dados. Era o que eu tínha para o momento.
Se você não desistiu do texto até aqui deve estar pensando: o que diabos a história de um moleque da periferia tem a ver com o mercado atual de desenvolvimento de software?
Ser programador não era uma opção pois eu não conhecia nenhum. Não tinha a mínima ideia do que aquilo significava. Mas eu precisava estudar algo e humanas estava fora de cogitação.
Programar é Grátis
O motivo de eu ter contado a história acima é que desde 1998, quando eu comecei, programar já era uma atividade muito barata — ou grátis — se você não levar em conta o custo do computador.
A revolução digital que eu citei lá no começo trouxe uma democratização na produção de conteúdo digital e de produtos.
A velha história do nerd que no escuro do quarto constrói uma empresa multimilionária, ou da banda de garagem que é a sensação do Youtube, já são verdades há um bom tempo.
Isto só é possível com a queda de preço de computadores e dispositivos com capacidade computacional muito elevada. Além da internet, é claro.
Nos tornamos escritores, videomakers, cantores e toda a sorte de atividades possíveis. A programação não só usufrui de toda esta revolução, como torna tudo isto possível.
Basta ligar o seu computador, buscar tutoriais no Google, ler alguns e-books e boom! Você já é um programador.
Calma lá. Você será no máximo um sobrinho neste primeiro momento ☺
Como ser um bom profissional desde o início
As dicas que seguem são opiniões próprias. Coisas que funcionaram pra mim durante todos estes anos. Use o bom senso ao aplicar ou não em sua carreira.
Estude lógica e resolva problemas
Hello Worlds são fantásticos quando estamos começando em uma nova linguagem. Mas logo após o primeiro teste tente resolver algum problema; existente ou não, seu, da empresa ou até mesmo de sua escola.
Eu já perdi muito tempo lendo documentações de linguagens. Quando ia iniciar algo já havia esquecido o começo. Quando você estuda e coloca em prática aprende e fixa o conhecimento.
Mesmo assim leia toda a documentação sempre que possível☺
Após aprender a lógica básica de programação e resolver alguns pepinos siga estes passos:
- 1 - Estude Orientação a Objetos
- 2 - Estude Design Patterns
Parece simples né? Mas Orientação a Objetos e Design Patterns são complexos. Você ficará anos estudando e estes caras possivelmente vão te acompanhar por toda a sua carreira.
Aprenda inglês. Ponto.
Muitos iniciantes me perguntam qual linguagem eles devem aprender. Não costumo opinar neste ponto pois não tenho experiência em muitas linguagens.
Eu diria que antes de aprender uma linguagem você deverá aprender um idioma: inglês.
Isto é óbvio, mas é negligenciado pela maioria dos desenvolvedores medianos que eu conheço. Gente com bom potencial, mas que não evolui por conta do idioma.
Você será um bom programador sem saber inglês? Possivelmente sim. Você será um programador acima da média? Provavelmente não.
Estude muita teoria, mas não compre livros de código
As ferramentas são indispensáveis para todo profissional. Mas sem o embasamento teórico o máximo que você conseguirá fazer é um código de má qualidade usando o framework mais descolado do momento.
Quando a linguagem ou a ferramenta X ganhar uma nova versão, seus livros ficarão obsoletos, virando ótimos suportes para monitor.
Leia livros teóricos, que sobrevivem ao tempo. Leia sobre Orientação a Objetos, Design Patterns, Object Calisthenics, Metodologias Ágeis, etc.
Peça ajuda e saiba se comportar em listas de discussão
Tenho presenciado um fenômeno interessante. Muitos profissionais veteranos, referências em várias áreas, estão abandonando fóruns, grupos, e listas de discussão.
Muito disso por conta de mau comportamento dos participantes (iniciantes ou não), flame wars, bulling, trolling entre outras coisas.
Ao contrário do que dizem por aí, existem sim as perguntas idiotas. Não são as perguntas em si, mas a forma que são feitas e o contexto. E isto gera stress nos moderadores e demais participantes.
Leia as regras do grupo, dê exemplos, conte o cenário no qual você se encontra quando está enfrentando um problema ou uma mensagem ameaçadora de erro.
Não seja preguiçoso na hora de perguntar, pois os que podem te ajudar terão a mesma preguiça para responder.
Show your code
Uma das melhores formas de aprender e ter segurança de que se está no caminho certo é mostrando seu trabalho.
Crie projetos open source desde o início e não repita meu erro: só recentemente eu criei coragem de colocar um projeto próprio no github.
Você conseguirá feedback do seu código e poderá evoluir de maneira muito mais rápida.
Conclusão
Desenvolver software é difícil. Só permanecem nesta profissão aqueles que gostam do que fazem e gostam de aprender algo novo todo dia.
Se este texto te deixou com mais dúvidas do que respostas fique tranquilo. Deixe um comentário e colabore.
No meu twitter eu posto — quase diariamente — muitos links interessantes sobre diversas áreas do desenvolvimento de software web.
Você pode me seguir por lá ☺@juliobitencourt