“O que importa é a jornada e não destino”, se você ainda não apelou e saiu do grupo de zap zap da família depois de trocar agressões com aquele seu tio que está no extremo oposto ao seu por ele ter postado um même chato feio e bobo, certamente já recebeu esta pérola numa daquelas imagens motivacionais onde frases do tipo aparecem sobrepostas a paisagens bucólicas. Mas se o seu destino é aprender a programar, a jornada é o que menos importa: neste artigo eu vou desvendar vantagens e desvantagens de cada um dos caminhos possíveis para se aprender a programar.
Aprender a programar por conta própria
a.k.a.: Aprender na tora, sozinha, na força bruta e na força de vontade usando todo e qualquer recurso disponível como cursos online, vídeos no Youtube, tutoriais, livros, vizinho, coleguinha, etc.
Vivemos em uma era de pleno acesso à informação, é totalmente possível aprender qualquer linguagem de programação usando apenas conteúdo gratuito (ou barato) encontrado na Internet. Foi assim que a grande maioria dos programadores que conheço deram seus primeiros passos. Uma dica pra quem quer seguir este caminho é praticar: code todo santo dia. Não se limite a ficar só fazendo os exercícios dos cursos, entender como aplicar o conhecimento é importante. Por isso muita gente aconselha a buscar um projeto: comece com pequenas ideias de coisas que você pode construir sozinha e quando se sentir confiante o suficiente, busque por projetos open-source no GitHub para contribuir.
Este não é um caminho rápido, é preciso muita disciplina e determinação para não desistir no meio do caminho. Além da disciplina, outra dificuldade enfrentada por quem escolhe estudar por conta própria é descobrir o que estudar. Por onde começar? Qual linguagem de programação devo aprender primeiro? Qual a melhor ordem para estudar os diferentes tópicos? O quanto devo me aprofundar sobre cada tema? Como conectar os diferentes temas até ser capaz de colocar em prática o que aprendi? Por isso, uma dica valiosa é buscar um mentor, um programador mais experiente capaz de te ajudar com essas e outras questões. No fim das contas o "estudar sozinho", pra dar certo, não é exatamente tão sozinho quanto possa parecer.
Prós:
- Gratis (ou quase!)
- No seu ritmo e no seu tempo
- No conforto do seu lar
- Ninguém vai te olhar bizarro se você estiver estudando de pijama
Contras:
- Bastante demorado: pense em um ou dois anos de trabalho intenso para conseguir chegar ao nível de um desenvolvedor júnior.
- Colcha de retalhos: cursos diferentes de plataformas/professores diferentes, com metodologias diferentes usando versões diferentes de uma mesma linguagem podem gerar muita confusão e trazer complexidade ao processo.
- O aluno tem que desenhar sua própria jornada, sem possuir conhecimento sobre o tema e portanto não saber a melhor ordem para estudar as coisas nem o quanto se aprofundar em cada tópico.
- Dificuldade para combinar todos os temas estudados e entender como as diferentes tecnologias conversam entre si.
Pra quem é:
- Pra quem tá sem grana, não tem pressa de aprender, tem bastante (ênfase no bastante) disciplina.
Aprender a programar na faculdade/graduação
a.k.a.: curso acadêmico: graduações em de sistemas de informação, ciência da computação engenharia de software e outros.
Meus avós são daquela época onde o orgulho de toda família era conseguir que algum dos filhos se formasse advogado, médico ou engenheiro – a galera usava até anel pra tirar onda do diploma. De lá pra cá o mundo já virou de cabeça pra baixo umas cinco vezes (a Terra ficou até plana, veja só!) mas este modelão de botar um monte de jovens em uma sala ouvindo um professor durante horas e horas por dia durante 4 anos e depois dar a eles um pedaço de papel sem o qual eles não conseguem exercer uma profissão – que provavelmente vai ser completamente reinventada quando eles se formarem – ainda permanece muito forte na cabeça das pessoas.
Na cabeça de muita gente diploma é igual a segurança, mas quando a gente olha na outra ponta do funil e vê todas essas pessoas atuando em áreas diferentes da qual se formaram, não dá pra não pensar que alguma coisa deu errado. Neste mundo onde a nossa única certeza é a incerteza, pessoas que demonstram serem capazes de se adaptar passaram a ser cada vez mais valorizadas. O saber fazer sendo cada vez mais valorizado.
Em 2016 a gente escreveu que “
o diploma morreu viva, o portfólio”. Recentemente muitas empresas de tecnologia anunciaram, parece que de fato o
que eu sou capaz de fazer está sendo mais valorizado do que o
que conhecimentos eu (supostamente) adquiri.
Tudo isso para dizer que a formação universitária não coloca ênfase na prática – na faculdade você não vai encontrar tantas chances de aplicar o conhecimento. O objetivo do curso acadêmico não é formar desenvolvedores, a universidade busca formar profissionais mais generalistas e com uma possibilidade de atuação mais ampla, mas isso tem um preço: não se aprofunda tanto em cada tópico e quem quer ir pra área de desenvolvimento acaba tendo que praticar por conta própria ou até mesmo buscar uma (ou mais!) especialização por fora.
Então, antes de optar por este caminho, faça uma análise sobre quais seus objetivos de carreira levando em consideração o que está acontecendo com o mundo hoje. Busque entender como este diploma está alinhado com seu projeto de vida e como ele irá de fato ajudá-lo a concretizá-lo.
Prós:
- Vovô vai ficar orgulhoso.
- Única porta de entrada possível caso seu desejo seja a atuação acadêmica ou científica.
- Se tudo der ruim você pode fazer um concurso público.
- Formação generalista, que abre as portas para diferentes possibilidades de atuação.
Contras:
- Formação esquema linha de montagem e que não leva em conta desejos e características individuais: todo mundo vê o mesmo conteúdo, faz a mesma prova.
- Orientado à teoria: pouca chance de aplicar os conhecimentos e praticar.
- Lento. Muito lento.
- Metodologias anticuadas:
- Formação generalista, abre as portas para diferentes possibilidade de atuação mas dependendo da área será necessário formação complementar.
Pra quem é:
- Pra quem quer ter atuação acadêmica ou científica
- Pra quem ainda é xovem e não tem pressa pra adquirir conhecimentos.
- Pra quem gosta de teoria
- Pra quem busca uma formação mais generalista.
a.k.a:
Bootcamps de programação são cursos superintensivos e imersivos que visam capacitar o aluno em um espaço reduzido de tempo.
Diferente dos métodos tradicionais de ensino, que se apoiam sobre aulas expositivas, provas, nota e tratam todos os alunos de maneira igual, os bootcamps se apoiam em metodologias ativas: a base do curso é a prática, a experiência de cada aluno é individualizada. Sai de campo aquela figura do professor detentor de toda a sabedoria universal para dar lugar ao professor como mentor: em vez de trazer respostas prontas, ele está ali para ajudar o aluno a encontrá-las por conta própria, estimulando-o e desafiando-o. É uma abordagem completamente diferente das instituições tradicionais, que vai além do simples ensino da tecnologia e busca desenvolver igualmente algumas competências-chave. O resultado é a formação de profissionais mais autônomos e eficazes.
Prós:
- Rápido. Não há maneira mais rápida para se chegar ao mesmo resultado
- Jornadas múltiplas: cada aluno faz sua jornada e aprofunda nos tópicos de interesse
- Metodologia hands-on, foco na prática
- Visão holística e multidisciplinar: desenvolvimento de competências sócio-emocionais (soft-skills)
Contras:
- Exige bastante dedicação: dedicação exclusiva (no caso dos cursos full-time) ou pelo menos 20h de estudos semanais (no caso dos cursos part-time)
- Formação vertical, inadequada para quem busca uma atuação mais genérica
Pra quem é:
- Pra quem tem pressa!
- Pra quem não tem disciplina para estudar sozinho
- Pra quem tem dificuldade com os métodos de ensino tradicionais (aulas expositivas, provas, etc)