Será que é isso o que falta na nova geração de programadores?
Quando eu comecei a programar era difícil ter acesso a conteúdo. A internet ainda era discada e a maioria dos conteúdos ainda eram em inglês. Dei meus pulos, fui aprendendo inglês na raça. A primeira linguagem que aprendi foi ASP.NET programando no Dreamweaver. Depois C#, Java, Action Script, PHP e muitas outras.
Hoje em dia é mais fácil, até para mim. Principalmente, se você sabe inglês. Qualquer tema que você quer aprender, qualquer coisa que você queira fazer, você tem como descobrir todos os caminhos possíveis. Existem cursos mais acessíveis (na Udemy, por exemplo, custos a partir de 20 reais) e cursos mais elaborados como da Alura.
Quando eu era mais novo, sintia que nessa profissão universidade não faz diferença nenhuma. Como era uma época que universidades ainda estavam em alta e você seria torturado se falasse que não ia prestar o ENEM. Acabei iniciando (e, depois, me formando) em Sistemas de Informação.
Para ser sincero, quando entrei na universidade eu já programava por hobby por pelo menos 5 anos. Todas as materias relacionadas a programação apliquei proficiência. As demais matérias, ia para a aula, fazia o proposto, tirava grandes notas e fim. Mesmo fazendo universidade, sempre recomendava a todos "para quê fazer? Vai fazer um curso, você aprende mais rápido!". Não recomendava para ninguém.
Conforme o tempo foi passando a diferença foi ficando mais evidentes, até que chegamos aos dias atuais repletos de programadores formados por cursos online que saem prontos para fazer um app em Flutter, uma API em django e muitas outras atividades. Não sei se é impressão minha, mas essa galera é muito boa em programar, mas nada boa em desenvolver.
O que eu quero dizer com isso é que softwares profissionais costumam ser 70% planejamento e 30% execução. O pessoal se dá bem na execução, mas no planejamento... Aqui incluímos a arquitetura do software, modelagem de dados, estrutura de dados, metodologia e lógica aplicada, UML, e muitas outras atividades.
Querendo ou não, na universidade foi obrigado a ver tudo isso. Tinha uma (ou várias) disciplinas para cada uma dessas coisas. Tive uma disciplina de arquitetura de banco de dados que a gente sequer tocava em programação. Conteúdos que antes eu até pensava em negligenciar, são o cerne de todos os projetos que lido hoje.
Eu entendo que no fim, programar é o que mais importa. Mas só programar, saber uma linguagem, conhecer um framework, não é o que te levará além. Muito menos você fincando a bandeira em uma tecnologia. Já trabalhei com programadores muito bons, mas que não pude fazê-los crescer pois não tinham essas skills (alguns até achavam que não precisavam).
Quantos projetos não vemos por aí que a galera começa simplesmente a programar, sem planejar nada, alguns por sorte vingam, mas e todos os outros que se perdem no caminho ou não encontram uma luz de sucesso?
A acessibilidade para programar hoje em dia é extremamente alta, você não terá dificuldades assim como seu colega não terá. Ambos poderão ser definitivamente bons em construir aplicações React, mas e aí? Vejo desenvolvedores passando por desafios que eu sequer passo como, por exemplo, mudar de linguagem, framework, libs e afins. As softskills tornam esse processo natural e fácil para mim.
Se alguém está iniciando agora, eu certamente recomendaria fazer um curso universitário em uma universidade de respeito (federais são uma boa escolha). Isso porque eu simplesmente não vejo muito curso online por aí que ensinem de verdade a desenvolver softwares em programar, elaborando a arquitetura e modelagem do sistemas antes de sentar para usar qualquer stack.
Qual a sensação de vocês sobre isso?