- Há duas coisas importantes a saber sobre como aprender a codificar:
- O primeiro ponto que vi uma e outra vez. As pessoas que me dizem que vão aprender a codificar, depois começam a aprender, e pensam que é aborrecido como o inferno.
- Isso me leva ao ponto número dois. Aprender a codificar não significa mais a mesma coisa.
- O problema é que isso não é o que as pessoas querem. Elas querem construir algo. E não devemos mais tomar como certo que para construir algo você tem que aprender tudo sobre computadores ou até mesmo codificar em geral.
- Como professores, temos de reconhecer que quando as pessoas dizem que querem aprender a codificar, muitas vezes querem mesmo construir uma aplicação web ou móvel.
- Como estudante: aprenda o que você quer aprender.
- Então quanto tempo leva para aprender a codificar?
Há duas coisas importantes a saber sobre como aprender a codificar:
- A maioria das pessoas não quer realmente “aprender a codificar”
- Aprender a codificar não significa mais uma coisa
É importante saber estas duas coisas porque senão a maneira como ensinamos as pessoas a codificar está errada, e as pessoas não aprenderão.
O primeiro ponto que vi uma e outra vez. As pessoas que me dizem que vão aprender a codificar, depois começam a aprender, e pensam que é aborrecido como o inferno.
Chamo-lhe a falácia de codificar. As pessoas pensam que querem aprender a codificar, mas o que realmente querem fazer é construir um produto.
Quando pensamos nisso, isto deve ser bastante óbvio. O conhecimento do código em si não é valioso se você não puder fazer nada com ele. Assim, para a maioria das pessoas, a maior motivação para aprender a codificar é construir algo (embora um segundo próximo seja conseguir um trabalho mais bem pago).
Isso me leva ao ponto número dois. Aprender a codificar não significa mais a mesma coisa.
Era que para codificar você tinha que saber quase tudo sobre computadores (daí o termo “Ciência da Computação”). Então as coisas eram abstraídas ao ponto de você não ter que mergulhar em certos tópicos a menos que você realmente precisasse. Por exemplo, como desenvolvedor de aplicações web neste ponto, eu preciso saber muito pouco sobre administração de sistemas, porque isso é feito principalmente para mim por ferramentas como Heroku e Amazon Web Services.
Então quando as pessoas dizem que querem aprender a codificar, a maioria dos professores começa onde eles assumem que deveriam (onde eles sempre têm), com tipos de dados, as várias estruturas de uma linguagem, e ajudar os alunos a desenvolver uma compreensão mais profunda de computadores.
O problema é que isso não é o que as pessoas querem. Elas querem construir algo. E não devemos mais tomar como certo que para construir algo você tem que aprender tudo sobre computadores ou até mesmo codificar em geral.
Por exemplo, se alguém já está trabalhando com um grande desenvolvedor back-end, faria sentido apenas ensinar-lhes o front-end, porque isso será a coisa mais útil para eles. Eles realmente terão o que querem que seja feito mais rápido, e poderão aprender o back-end mais tarde. Ao fazer isso, reduzimos a carga cognitiva sobre o aluno e capacitamo-lo a aprender mais rápido.
Quando você está desenvolvendo para a web você tem que lidar especificamente com:
- HTML
- CSS
- JavaScript
- Back-end Programming
- Bases de dados
- Hospedagem/DNS
Há muito aqui para aprender. E a maior parte é bastante irrelevante para o desenvolvimento não-web (excepto bases de dados e estrutura de aplicações, obviamente).
O modo como eu vejo as coisas, a maior parte da educação em codificação envolve uma isca e uma troca. É assim:
Estudante: “Eu quero aprender a codificar.” (Mas o que eles realmente – mas não sabem o suficiente para perguntar – é que eu quero construir uma aplicação web ou móvel.)
Professor: “Ok, vamos começar com tipos de dados”
Estudante: “…”
(2 semanas depois)
Professor: “Agora podemos desenhar algoritmos eficientes.”
Estudante: “Mas eu só queria fazer um site bonito!”
Como professores, temos de reconhecer que quando as pessoas dizem que querem aprender a codificar, muitas vezes querem mesmo construir uma aplicação web ou móvel.
Isso é porque para eles, é isso que é codificar. É tudo a que eles já foram expostos em relação à codificação. O problema é que eles não sabem como pedir isso! Por isso, não devíamos aceitar tudo o que eles dizem pelo seu valor facial. É nosso trabalho como educadores ler nas entrelinhas.
Lembro-me de assistir a uma peça de teatro há alguns anos atrás em que um padre diz que é preciso dizer a verdade, mesmo em circunstâncias difíceis. A pessoa com quem ele está a falar pergunta: “mas e se alguém lhe fizer uma pergunta e você souber que a verdade lhe fará mal?” O padre responde: “Quando alguém lhe faz uma pergunta, responda à pergunta que está a fazer.”
Na educação também, você tem que ler nas entrelinhas para descobrir o que as pessoas realmente querem. Se eles estão perguntando alguma coisa específica, você tem que guiar a pessoa para o que vai levá-la para sua experiência de aprendizagem ideal.
Então cabe a nós como educadores e como especialistas guiar as pessoas na direção certa e não apenas deixá-las flounder. Se conseguirmos fazer isto, então podemos capacitar muito mais pessoas a fazer coisas incríveis.
Como estudante: aprenda o que você quer aprender.
Uma das melhores coisas que você pode fazer em suas próprias aventuras de aprendizagem é aprender um pouco sobre muitas coisas – para que você saiba no que você quer mergulhar mais tarde.
Aqui no One Month, quando dizemos que você pode “aprender a codificar em 30 dias” o que queremos dizer é que em apenas 30 dias você pode aprender o suficiente de HTML (JavaScript ou Python) para ser conversacional em código, confiante o suficiente para se destacar no mercado de trabalho.
Então quanto tempo leva para aprender a codificar?
Somos chamados de “One Month”, então isso significa que depois de 30 dias de codificar nossos alunos já terminaram de aprender? De jeito nenhum! Eu tenho codificado há mais de 15 anos e ainda há tantas coisas que eu não sei – mas não é essa a questão. “Aprender a codificar” não se trata de saber tudo na língua, mas de saber o suficiente para conversar e deixar uma marca no mundo usando a sua mente e as suas habilidades criativas.