As características da nova geração de programadores

As características da nova geração de programadores

Todo mundo que nasceu nos anos 90 viveu uma vida completamente diferente até os 10 anos de idade. A geração noventista cresceu, amadureceu e teve filhos. Agora essas crianças entraram de cabeça no mundo da computação e formam a nova geração de programadores. Essa geração possui diversas características que precisamos compreender. 

Nessa época (ao menos no Brasil) a tecnologia ainda estava engatinhando e a revolução tecnológica que vivemos estava ainda em seu início. A conexão com a internet ainda era discada e os serviços disponíveis online eram minoria. Quem viveu a época das Lan Houses sabe bem como foi fazer trabalhos escolares, conversar no MSN, ICQ e entrar no Orkut. 

Porém, esse post não é sobre isso.

Recentemente, comecei a ensinar um menino de 12 anos a programar a pedido do seu pai. Quando recebi esse pedido imaginei que seria uma experiência interessante, visto que nunca havia ensinado uma criança a programar. Na primeira aula, Gabriel já mostrava um grande interesse pela área da criação de Games e também disse que era fã de Minecraft. Apesar de eu não saber nada sobre desenvolver jogos, disse a ele que para produzir Games era necessário saber programação. Assim, o Gabriel aceitou o desafio e a jornada começou. 

Comecei a ensinar Python e lógica de programação passando por todos os conceitos básicos (if-else, while, for, vetores, matrizes, funções). Quando percebi que o Gabriel já havia dominado esses conceitos, senti a necessidade de introduzir algo mais visual para as aulas. Então, ensinei a sintaxe básica do Java para ele e começamos a desenvolver um sistema usando Swing.  Em pouquíssimo tempo o Gabriel já conseguiu desenvolver sua própria lojinha de produtos gamers usando Swing. Nesse momento, cresceu a necessidade de compreender como armazenar dados em bancos de dados, então, ensinei como modelar, criar, manipular um banco de dados MySQL. 

Em paralelo a tudo isso, o Gabriel começou aprender HTML e CSS em sua escola e implementou SOZINHO a lojinha de games usando HTML e CSS. Por fim, percebi que era a hora de começar a ensinar PHP para ajudá-lo a construir seu projeto. 

Nessa jornada de 4 meses de aprendizado em velocidade INSANA, percebi algumas características dessa nova geração de programadores:

 

Característica 01 – Capacidade de adaptar o conhecimento

Uma das coisas que mais me impressiona ao dar aula para o Gabriel é que ele consegue facilmente adaptar tudo que ele aprendeu para um contexto completamente diferente. Por exemplo, ao aprender orientação a objetos ele é capaz de aplicar esse conceito para o contexto do seu projeto e imaginar como isso pode ser útil. 

Em muitos momentos eu provoco o Gabriel perguntando: “pensando naquele conceito que eu te ensinei, como aquilo pode ser útil aqui?”. Em praticamente 100% das vezes ele consegue adaptar o conceito e acertar na mosca aquilo que deveria ser feito.  A nova geração de programadores tende a ir nessa direção e compreender conceitos complexos em pouquíssimo tempo. 

 

Característica 02 – Capacidade de conectar os pontos

Além da capacidade de adaptação, ao ensinar o Gabriel é possível perceber que ele possui a capacidade de conectar os pontos. Isso significa que ao ensinar um conceito A e mostrar o conceito B, esse aluno consegue conectá-los e inferir os conceitos C, D, E. 
 
No vídeo podemos perceber isso em vários momentos, por exemplo: (1) quando ao ensinar o comando “echo();” do PHP o Gabriel já consegue compreender que aquele comando é usado para modificar o código dinamicamente.  (2) quando estamos implementando uma classe em PHP e o Gabriel já compreende que a classe ajudaria na manutenibilidade do código posteriormente. 
 
 

Característica 03 – Capacidade de ser autodidata

O Gabriel possui uma rotina corrida de atividades, porém, ele me manda mensagens perguntando coisas sobre programação e também frequentemente me mostra coisas que ele fez sozinho. Esse interesse de procurar soluções e implementá-las é essencial para que o aprendizado passe para um outro nível. 

Em verdade, meu objetivo é apenas dar um empurrão, visto que todo o resto ele já é capaz de fazer sozinho. 

 

O ensino de programação para crianças é igual ao ensino de adultos?

Apesar de muitos pontos positivos, crianças ainda são crianças. Muitas vezes na universidade os professores adoram colocar alunos de programação para resolver fórmulas de Baskara, números primos, fatoriais, matrizes, derivadas. Porém, é preciso lembrar que o Gabriel apesar de ter uma mente muito evoluída, ainda é uma criança e não teve contato com muitos conceitos. Nesse momento, ele pode compreender o que são juros compostos, operações básicas de matemática e até expressões mais complexas. Porém, não podemos apresentar um conceito da engenharia eletrônica e esperar que ele compreenda o que deve ser feito. 

Quer ler mais sobre o ensino de crianças e adolescentes? Veja um artigo sobre isso aqui.

Sendo assim, é importante trazer tudo que ele está aprendendo para o contexto da vida dele. O seu interesse por games trouxe a vontade de criar um website que contém indicações de jogos legais para seus amigos. Esse website vem sendo pensado há bastante tempo e modelado de acordo com o que ele imagina que seja um site legal. Criar esse projeto e poder compartilhar isso com as pessoas do seu meio torna a experiência muito mais fantástica. 

Aproveita e dá uma olhadinha no canal do CSM no YouTube!

 

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e forma com que ela pode transformar vidas!

Deixe uma resposta