Devo fazer um curso ou uma faculdade de programação?
Nos últimos anos a programação começou a ganhar muito destaque nas mídias. Com o advento da tecnologia e a crescente demanda por pessoas que saibam lidar com ela, tornam a necessidade cada vez maior por programadores. Tudo isso aliado ao período de pandemia, onde empresas contrataram a rodo, trazendo para a mídia as famosas notícias da alta demanda e pouca oferta de programadores. Com a promessa de altos salários em pouco tempo de estudo foram surgindo mais e mais cursos, tornando a programação lucrativa não apenas para programadores, mas para vendedores de cursos.
Cursos x Faculdade
Talvez um dos assuntos mais debatidos aqui no Tabnews é: "vale a pena fazer faculdade?" ou "vale mais apenas fazer uma faculdade ou um curso x?". Existem prós e contras para tudo, com a faculdade não é diferente, mas uma coisa é fato: curso online nenhum substitui uma boa graduação. Isso não deveria nem ao menos ser uma discução, apenas pela discrepância imensa entre um curso e uma graduação a resposta já deveria ser óbvia.
Mas é aí que entra o x da questão. Os tais salários baixos para pouco tempo de estudo são almejados, não o esforço e dedicação a longo prazo. Nenhum curos online seria popular ou venderia se "perdesse tempo" com assuntos como Cálculo, Álgebra Linear, Estruturas de Dados e etc. Cursos foram feitos, na maioria, para vender, não para ensinar profundamente.
Essa é a maior diferença entre um curso e uma graduação, a graduação te dará uma base forte e mostrará muitos caminhos a seguir, os cursos servirão para dar uma introdução e servirá de antolhos para os iniciantes.
A maior utilidade de um curso é ter um contato, uma introdução, que servirá para que a pessoa saiba se a programação é ou não é para ela. Cursos que deixam isso claro são bons cursos. Para se obter conhecimento sólido e habilidade é necessário investir tempo, nunca aparecerá do nada.
Imediatismo
Não podemos também demonizar os cursos de programação, pois o maior problema na verdade são os seus alunos. É muito mais fácil e barato pagar por um curso de 20 reais na Udemy do que fazer uma faculdade ou comprar livros. Cursos nos dão a sensação de que estamos aprendendo, servem muitas vezes de entretenimento quando assistimos a vídeoaulas sem muito compromisso. O fato de ganhar um certificado rapidamente e poder colocar como certificação no Linkedin torna tudo prazeroso.
É muito frustrante querer muito trabalhar com algo mas nunca conseguir oportunidade. Muitas vezes nos deparamos com burnout e síndrome do impostor, nos sentimos incapazes e que a programação não é para nós. Isso já acontece com quem trabalha como programador, e obviamente ocorre com quem só quer a primeira oportunidade na área. O tempo passa e as contas chegam, nós queremos resultado logo, é normal. Daí vamos pulando de curso em curso e, quando vemos, já temos um currículos com mais certificados que qualquer CTO por aí.
Em um curso a didática é ruim, em outro é um assunto muito complexo, no próximo o professor não é tão legal e por fim achamos um que é a nossa cara. Pessoas que veem o aprendizado como entretenimento não sobreviveriam a 2 semestres em uma faculdade de ciências da computação. Nada é imediato quando falamos de aprendizado, por isso não faz sentido achar que vai se tornar um programador em pouco tempo, pois demanda tempo.
Ninguém critica o fato de um médico precisar de pelo menos 5 anos de estudo, ou de um advogado, um engenheiro, um professor ou qualquer outra profissão que precise de curso superior demandar anos de estudo. Um programador não é menos profissional do que qualquer outro, nem menos dos que não precisam de faculdade como um motorista, um faxineiro ou qualquer profissão vista como "dar errado". Para se desenvolver precisa de tempo, esforço, persistência e dedicação. Sem isso em mente você sempre será medíocre e nunca conquistará nada.
Base
Provavelmente o melhor curso de programação que temos a disposição é o CS50, que é um curso de introdução à ciência da computação, feito pela universidade de Harvard, Ele têm 25 horas de curso e é apenas introdutório.
O curso começa na linguagem C, ensinando os fundamentos da computação e do pensamento computacional. Você aprende sobre algoritmos, estruturas de dados, memória e várias coisas básicas. Mesmo sendo um ótimo curso ainda da uma ótima base.
Vamos comparar isso com a grade do curso de Ciências da Computação da faculdade onde eu estudo (que não é das melhores), a UFRGS:
1º Semestre de Ciências da Computação:
Perceba como apenas o primeiro semestre de ciências da computação já é muito mais completo do que o curso do CS50 inteiro. Mesmo abordando basicamente os mesmos tópicos o CS50 tem apenas 25h enquanto o primeiro semestre letivo da UFRGS em Ciências da Computação tem 360h.
A diferença é absurda não apenas na carga horária, mas também nos conteúdos. Enquanto em um você aprende apenas a programar, na faculdade você aprende todo o embasamento matemático junto.
A base não é html, css e js
Como pode perceber, nem no CS50 e nem em Ciências da Computação você inicia com html, css e js.
Então por que os cursos começam a ensinar com eles?
R: Porque são fáceis de aprender e ensinar.
Hoje existe muito "programador" que sabe fazer uma simples landing page e já se acha incrível por isso. Na maioria dos casos está tudo bem, é legal ver as coisas se mexendo na tela e surgindo "do nada". O grande problema é que isso é uma ilusão.
Como eu já disse anteriormente, fazer cursos é viciante e prazeroso e os produtores de cursos sabem disso e se aproveitam. Se você iniciar pela linguagem C, estruturas de dados, cálculo, geometria analítica pode se sentir incapaz, burro e deixar o curso. Grandes plataformas que vendem uma assinatura que te dão o direito de fazer os seus cursos dependem de te manter nelas. Se você se sentir incapaz e burro logo no início não vai continuar, vai partir para um "curso melhor".
É claro que nada disso é linear e constante, mas na média é isso que acontece.
O que fazer então?
Apenas persistir. Existem ótimos cursos na internet, como o curso.dev do Filipe Deschamps que são ótimos no trabalho de te introduzir ao mundo da programação. O melhor a se fazer é encontrar a melhor forma de você mesmo aprender e então focar nisso. Existem pessoas que aprendem melhor praticando, ouvindo, lendo, vendo vídeos e por aí vai. Os conteúdos sempre serão os mesmos, basta se debruçar nos estudos e persistir até alcançar os seus objetivos. Existem diversas ferramentas de Roadmap pela internet que te dão um norte, mas eu tenho uma dica muito melhor para quem gosta de ser autoditada.
O melhor Roadmap
Como eu mostrei no texto, qualquer graduação será melhor do que um curso online para você aprender de verdade a programação. Existem diversos cursos que podem te dar o conhecimento necessário para se tornar um programador:
- Ciências da Computação
- Análise e Desenvolvimento de Sistemas
- Engenharia da Computação
- Ciências de Informação
e por aí vai. Cada curso tem um foco diferente e pesquisando rapidamente sobre cada um você saberá qual é. O fato é que a maioria desses cursos existem em faculdades federais e estaduais que é onde está o pulo do gato.
Todas essas universidades deixam a disposição o plano pedagógico de seus cursos e o plano de ensino das disciplinas. Esses planos de ensino são verdadeiros Roadmaps dessas disciplinas. Por exemplo, esse é o plano de ensino da disciplina Introdução à Arquitetura de Computadores da Ufrgs. A partir desses planos de ensino você consegue as seguintes informações:
- súmula do curso
- passo a passo da disciplina
- biografias básicas, básica essencial e complementares
Com isso você pode estudar por si só a base para a computação.