espera aí...

8 de abril de 2019
O que eu gostaria de saber antes de aprender a codificar
O que eu gostaria de saber antes de aprender a codificar

Eu tenho “codificado” desde que eu era criança. Eu não achei que estivesse fazendo algo notável; Eu pensei que o HTML era de conhecimento comum na era da AOL 3.0 e Geocities. Eu costumava passar horas criando sites (e gráficos para adorná-los), mesmo que minha conta da AOL tivesse um limite de tempo (obrigado, controle dos pais) e eu só podia trabalhar em meus sites por uma hora por dia.

Se eu não consegui descobrir algo, criei uma solução alternativa. Eu tinha uma solução para tudo. Olhando para trás, eu realmente empurrei o HTML para seus limites.

HTML fazia sentido para mim porque eu podia ver meu trabalho evoluindo conforme eu adicionava novas linhas de código. Foi auto-explicativo.

Mas, como muitas crianças, acabei esquecendo tudo sobre esse hobby e passei para outros empreendimentos.

Quando adolescente, trabalhei em um emprego de verão em TI … por acidente. Eu tinha sido contratado para remover grampos de documentos para prepará-los para a digitalização, mas eu sempre tinha tempo livre, então eles lançavam projetos extras na minha direção. Meu supervisor imprimia páginas e páginas de SQL e me pedia para encontrar os erros e corrigi-los manualmente. Também me senti auto-explicativo, então eu fiz isso com facilidade. Olhando para trás, eu praticamente não tenho lembranças do que o código deveria fazer, mas lembro-me de aprender a sintaxe e encontrar erros de digitação em todo o lugar.

E então me mudei para outros empreendimentos.

Como adulto, construí sites para meus próprios projetos, mas nunca pensei em fazer desenvolvimento na web como uma carreira, até que comecei a ver propagandas de academias de codificação. Eu não tinha ideia do que era codificação, então ignorei os anúncios. Em algum momento, porém, vi um anúncio de uma academia de codificação que incluía um vídeo… e depois percebi que “codificação” era algo com que eu já tinha experiência.


Eu passei pelo curso pré-bootcamp, mas no primeiro dia da aula, eu me vi atormentado com perguntas que acabariam me impedindo de internalizar qualquer coisa.

Eu me conheço. Eu não posso aprender a menos que eu entenda por que e como as coisas funcionam. Antes de fazer o curso de pré-bootcamp, a única coisa que eu sabia sobre JavaScript era que ele é bloqueado nos computadores da escola para que as crianças não joguem, e se você não habilitar, os sites nem sempre funcionam como esperado. No primeiro dia, eu conseguia ler e entender o JavaScript básico, e podia regurgitá-lo com variáveis ​​diferentes, mas não sabia por que estava fazendo isso ou que tipo de situações me levava a usar esses trechos de código em particular.

Eu soube imediatamente que isso me seguraria.

Como o primeiro dia progrediu, eu enchi um caderno com perguntas.

  1. Como sei qual idioma escolher para um aplicativo específico?
  2. Por que JavaScript? O que o diferencia de outras linguagens de programação?
  3. Por que as pessoas usam Ruby para o back end e JavaScript para o front end? Você poderia teoricamente usar Ruby para o front end? Por que ou por que não? Você poderia usar JavaScript para o back-end? Por que ou por que não?
  4. Como você cria uma linguagem de programação? Você não precisa programá-lo em outra linguagem de programação?
  5. Cada projeto no plano de estudos tem uma lista de requisitos. Isso é apenas para nos forçar a usar certas linguagens para que possamos ser avaliados? Não seria melhor atribuir um projeto e nos fazer usar habilidades de pensamento crítico para descobrir quais linguagens e estruturas deveríamos usar?
  6. Onde exatamente eu coloco o código quando termino? Onde coloco o JavaScript?

Eu bombardeei o instrutor com essas perguntas antes mesmo de abrirmos um editor de texto. Eu precisava entender o quadro maior antes de poder me concentrar nos conceitos de programação. Eu sabia que fazer exercícios depois do exercício não me ajudaria a reter nada. Eu precisava ver o processo do início ao fim para que eu pudesse saber exatamente o que estava fazendo.

Conforme o curso prosseguia, eu memorizava trechos de JavaScript para fazer alertas pop-up e outros recursos chamativos. Eu não estava realmente conceituando … Eu estava apenas replicando o que eu tinha visto. Atuei as tarefas orientadas a objeto, no entanto.

Lembro-me de oferecer uma sugestão: “Eu realmente acho que as futuras coortes deveriam começar com programação orientada a objetos porque faz sentido”, e sendo dito, “tenho certeza que você é o único que se sente assim.”

Meu estilo de aprendizado acabou afetando a maneira como progredi no programa. Eu me encontrei usando uma variedade de aplicativos para praticar Ruby e ser capaz de transferir o que aprendi para meus projetos do mundo real. Estudei JavaScript lendo e analisando o código de outras pessoas. Era quase como aprender uma língua falada; Eu tive que aprender a ler antes de poder escrever.

O que eu gostaria de saber antes de aprender a codificar

Eu gostaria de saber que todo mundo aprende de forma diferente.

Foi desanimador ver alguns de meus colegas criando aplicativos com aparência profissional em uma única tarde enquanto eu ainda contava com parênteses. Mas isso levantou meu ânimo quando dominei um conceito que estava causando sofrimento e ansiedade a todos os outros. Todos aprendemos de forma diferente e, no final, todos confiamos nas experiências uns dos outros.

Eu gostaria de saber que não havia problema em fazer perguntas.

Eu me sentia mal toda vez que eu levantava minha mão (e eu levantava minha mão com muita frequência). Olhei ao redor da sala e vi que metade da turma tinha as mesmas perguntas, mas a outra metade tinha desligado. Eu senti como se estivesse perdendo o tempo de todo mundo, mas eu não estava. Fiz um investimento no meu futuro e não ganhei nada mantendo minhas perguntas para mim.

Eu gostaria de saber que todos trouxeram um conjunto de habilidades diferente.

Algumas pessoas eram designers experientes. Outros eram fluentes em Python. Alguns foram trocadores de carreira que trouxeram anos de experiência em campos não técnicos e, junto com isso, idéias realistas para startups. Outros trabalhavam em TI há décadas e só queriam uma atualização. Todos tinham algo para contribuir.


Por fim, acabei me retirando do programa 2/3 do caminho por causa da logística; tornou-se cada vez mais difícil para mim ficar 4 meses sem nenhuma renda, e surgiram algumas emergências que dificultaram a chegada a tempo (tchau, carro).

Mas as lições com que saí mudaram minha perspectiva sobre educação.

Eu desenvolvi um profundo apreço por compartilhar trabalhos em andamento.

Eu aprendi mais com meus colegas do que com os recursos digitais que eu vinha usando para estudar. Ver código que funcionava era tão útil quanto ver código que não funcionava.

Eu sei como eu aprendo agora.

Eu consegui completar meu portfólio em casa. Consegui passar mais tempo em determinados idiomas e estruturas e menos tempo nos outros. Agora, eu entendo por que e como as coisas funcionam, e sou capaz de escolher as tecnologias certas por conta própria. Eu descobri o que funciona para mim.

Aprendi a apreciar a colaboração na educação.

Eu costumava ser uma daquelas pessoas que fugiam de projetos em grupo. Eu estava errado. Acontece que colaborar com outros programadores permite que você desenvolva os pontos fortes uns dos outros e que o Github facilite a colaboração. Não há “ele disse / ela disse”; fica claro quem contribuiu com cada componente de um projeto.

Eu aprendi a me sentir confortável com o desconhecido.

Alguns “desafios” não tiveram solução. Outros desafios tiveram dezenas de soluções. Alguns projetos foram auto-explicativos. Outros pareciam não fazer sentido algum. Comecei a aceitar que as perguntas que eu tinha no primeiro dia, embora válidas, eram simplesmente parte do desconhecido naquela época.

Não há problema em gastar tempo imaginando as coisas. Esse é o ponto inteiro. Tudo bem se você terminar um projeto inteiro hoje, mas depois você passa o dia todo olhando para a tela e imaginando o que fez de errado.

Faz parte do processo de aprendizagem.

Eu gostaria de saber que esta seria uma jornada para toda a vida.

Aprender a codificar não é uma corrida. Até mesmo engenheiros de software de nível sênior ainda estão aprendendo alguma coisa. Este é um dos poucos campos em que você pode passar a vida inteira aprendendo e ainda não aprendeu tudo. Mas esse também é um dos poucos campos em que você pode usar habilidades de pensamento crítico para descobrir algo que não sabe, em vez de assistir a uma aula ou assistir a um tutorial.

O que eu gostaria de saber antes de aprender a codificar
Posted in Blog
Write a comment