Level up! Ganhando XP em programação
Olá!
Hoje vou falar um pouco sobre como ganhar experiência e fluência em programação. Na verdade não há muito segredo, o que você realmente vai precisar é seguir essa pequena lista:
- Programar
- Programar
- Ler softwares e como eles resolvem problemas
- Programar
- Programar
Se você sentir que não está evoluindo muito, tente refazer a lista, passo a passo. Esta lista pode ser repetida diversas vezes e vai funcionar bem. O terceiro item pode ser feito mais de uma vez, pois é bom aprender com bons exemplos.
Quem me conhece, ou acompanha este blog, pode ver que o meu foco mudou um pouco com o passar dos anos. Eu já fui muito focado em suporte à ambientes GNU/Linux e hoje em dia me mantenho mais focado em programação para web, principalmente em aprender framworks em PHP e Python. E durante este tempo eu sempre tenho tentado me manter ativo, estudando e estudando. Só assim é que se aprende.
Acredito que qualquer um vai concordar comigo que não se pode aprender a cozinhar, lendo livros de receita e olhando receitas na tv. Nem mesmo se pode aprender a dirigir comprando um bonito livro de "teoria geral da condução de veículos automotores". Por isso mesmo é que é tão importante PROGRAMAR para aprender a programar. É simples assim.
Há alguns anos eu resolvi encarar um desafio muito interessante, de dar aulas na Unimonte, uma faculdade de Santos. Durante este período eu vi diversos casos muito interessantes de pessoas querendo aprender a programar e também de outras querendo apenas se formar =)
Vamos para a parte legal, as pessoas querendo aprender a programar. Em geral se tem aulas de programação uma ou duas vezes por semana, por cerca de uma hora e meia. Vamos dizer então, que são 3 horas de aula por semana. Se uma semana tem 168 horas, então o total de horas de programação é de menos de 2% na semana. Se o aprendiz de programação se dedicar à programação apenas durante essas aulas, ele terá um percentual muito baixo e dificilmente conseguirá evoluir na arte de ensinar computadores a fazer o que queremos que eles façam.
Agora, se a pessoa começa a fazer um estágio na área (de 8 horas/dia), o percentual de programação já sobe para quase 25% da semana e isso é um tempo de vivência bem maior e que, certamente, vai garatir um aprendizado maior.
Imagine, então, se o aprendiz começar a fazer as aulas, trabalhar e ainda estudar por conta própria mais duas horas por dia e umas quatro horas nos finais de semana. Agora o percentual vai para 37% da semana programando!
Ou seja, em uma semana essa pessoa vai estudar o equivalente a quase 19 (quase 5 meses) semanas de quem só estudar durante as aulas! UAU!
Mas, veja bem, a ideia não é se matar de estudar e não fazer mais nada além de programar. Também é necessário parar um pouco, esfriar a cabeça, fazer outras atividades. Pois isso ajuda no processo de aprendizado.
Ok, toda essa conta foi muito bonita, mas... Sempre tem a história do "ninguém me dá um emprego ou um estágio". Neste caso, meu caro aprendiz, você pode usar todo o poder de uma das maiores "empresas" de programação do mundo, o Software Livre. Sim, este mesmo. E nem precisa saber hackear o kernel Linux. Você pode ajudar em projetos menores na sua linguagem preferida.
Lá no GitHub, no BitBucket e no SourceForge, tem um monte de projetos em software apenas aguardando a sua colaboração. E o legal é que você vai precisar se esforçar para fazer código de qualidade, que seja aceito pela comunidade.
Depois de aprender bastante com as comunidades de Software Livre, vai ficar bem mais fácil provar o seu conhecimento e continuar aprendendo. Mas depois de aprender bastante, ficar muito bom e conseguir um emprego, não vale abandonar o Software Livre, heim!
Bons estudos!
InFog
* Imagens em Creative Commons, no Flickr.