DEV Community

loading...
Cover image for Quem nos forma está nos deformando?

Quem nos forma está nos deformando?

Henrique Lobo Weissmann (Kico)
Progr(amo), logo existo. Fundador da itexto.
・11 min read

Vivemos um período histórico no mínimo curioso: pela primeira vez vejo as pessoas discutindo mais política que a copa do mundo (o que me deixa otimista). Há uma polarização forte que me lembra muito um livro genial da Ruth Rocha: "Dois idiotas sentados cada qual no seu barril..."

Li muito pequeno, foi escrito na época da guerra fria e a ideia era mostrar a situação para as crianças. Resumindo: são dois idiotas (representando EUA e União Soviética), cada qual sentado sobre seu barril (cheio de pólvora), cada um segurando sua vela acesa. É o tempo inteiro um provocando o outro, as provocações se tornam ameaças e finalmente a merda acontece e os barris explodem gerando uma tragédia de causa ridícula.

O problema que tratarei aqui se enquadra no mundo pós-boom: em vez de velas temos uma formação técnica deficitária que durou décadas e os destroços são a mão de obra resultante do processo.

A situação que vou descrever vivo como empresário em um contexto muito bem definido: a contratação de desenvolvedores em Belo Horizonte. Entretanto sei que é um caso que ocorre também em outras cidades e áreas distintas (engenharia, medicina...).

Este post não visa dizer que os desenvolvedores de Belo Horizonte são ruins (pelo contrário), mas sim lançar um alerta a respeito da rápida deterioração da qualidade do ensino acadêmico que venho observando já faz algum tempo.

Meu "primeiro" contato com o problema

Quando você se torna empresário sua visão de mundo sofre mudanças muito profundas: um dos meus primeiros choques ocorreu no primeiro processo seletivo da Itexto realizado em 2015. Tivemos um número muito grande de candidatos e destes, selecionamos 20 (hoje selecionamos bem menos) para que viessem conversar conosco e realizar uma prova técnica.

Eu sei que trabalhar na Itexto é mais difícil que nos outros lugares por sermos uma empresa cuja principal tecnologia é a Ciência da Computação e não tecnologias de mercado como Java, C#, etc. Sendo assim nossa prova técnica se baseia nestes princípios, mas não é uma prova muito difícil: nesta primeira prova havia a seguinte pergunta.

O que é uma estrutura de dados? Cite duas.

Destes 20 candidatos, 100% já haviam cursado as matérias de Algoritmos e Estruturas de Dados. Esta é uma questão banal para este público, sendo assim qual foi o resultado final? 90% não souberam responder. Sim, você leu certo: 90% não soube responder nem citar o nome de sequer UMA estrutura. Como assim você não se lembra do nome daquilo que te deu bomba?

Naquele primeiro momento como éramos uma empresa muito pequena, achei que havíamos tido azar e apenas aqueles que foram reprovados em todos os processos seletivos chegaram a nós, ou mesmo que a prova fosse muito difícil. Sendo assim mandei a prova para alguns amigos e todos a acharam bastante razoável, simplista até.

A situação se repete e as reminiscências surgem...

Passado o primeiro processo seletivo, veio o segundo, terceiro, quarto... E em todos a mesma pergunta, o mesmo resultado. Isto me fez lembrar de quando aplicava processos seletivos em outras empresas de desenvolvimento mostrando o problema do fizz-buzz e uma quantidade ínfima de pessoas conseguia resolver. Conhece o problema?

Neste problema, você deverá exibir uma lista de 1 a 100, um em cada linha, com as seguintes exceções:
  • Números divisíveis por 3 deve aparecer como 'Fizz' ao invés do número;
  • Números divisíveis por 5 devem aparecer como 'Buzz' ao invés do número;
  • Números divisíveis por 3 e 5 devem aparecer como 'FizzBuzz' ao invés do número'.

Se você se diz programador e não consegue resolver este problema, você não sabe o que é programar (um post antigo do blog Coding Horror, lá dos EUA, fala da mesma dificuldade: programadores que não sabem programar).

Caramba... as pessoas não conseguem resolver um fizz buzz... e também não sabem o que é uma estrutura de dados... mas se dizem programadoras. E sabe o que achei mais interessante? A esmagadora maioria destas pessoas tinha BOAS NOTAS na faculdade. Então... por que não sabem o básico? Seria eu uma pessoa muito exigente ou assustadora?

Resolvi investigar

Tivemos a sorte de nestes processos seletivos encontrar pessoas maravilhosas que vieram a trabalhar conosco. E dentre estas estavam nossos estagiários: neste caso não saber ao certo o que é uma estrutura de dados se enquadra como uma situação "normal", dado que estão dando os primeiros passos na arte.

E temos estagiários que vieram tanto de faculdades públicas quanto privadas. Então resolvi fazer algo que nunca vi ser feito: acompanhamento acadêmico. Achei que seria uma boa ideia (e foi) ajudar nossos estagiários na faculdade: desde suporte na escrita dos trabalhos de conclusão de curso até mesmo tirar dúvidas a respeito das matérias que viam na faculdade. E aí a coisa começou a se mostrar realmente interessante.

Pra começar as matérias que deveriam fornecer a teoria essencial não forneciam porra nenhuma. Vamos a alguns exemplos: o tema "programação orientada a objetos". Você espera que te ensinem o que é um objeto, uma classe,  o que é herança, por que diabos existe programação orientada a objetos, coisas assim, certo? Então por que o aluno começa o curso aprendendo coisas como... Spring Framework??? E apenas... Spring Framework??? (e saem sem saber o que é Inversão de Controle, mesmo sabendo que existe algo chamado Spring...)

Matérias como "Desenvolvimento web". Você espera começar entendendo o fundamento da coisa, certo? O que é o protocolo HTTP? Qual a arquitetura essencial de uma aplicação web? Quais as camadas que uma aplicação web pode ter? Coisas assim, certo? Então por que o aluno está aprendendo Grails??? E apenas... Grails??? Ou apenas Servlets? Ou PHP? Ou ANGULAR??? 

A matéria é "Banco de dados". Ok, você pensa em como a informação é organizada, o que vêm a ser uma base de dados, coisas assim, certo? Então por que o aluno só aprende SQL com SQL Server, Oracle ou MySQL??? O aluno sai achando que só existe base de dados relacional e, numa boa? Sequer sabe o que é uma base de dados: sabe que existe o Oracle.

Resumindo: as ferramentas que deveriam ser coadjuvantes do conteúdo se tornam protagonistas. Você não deveria aprender Java com Orientação a Objetos, mas sim Orientação a Objetos usando exemplos em Java.

"Nós preparamos o aluno para o mercado"

A justificativa que ouvi de alguns professores foi a de que você prepara seu aluno para o mercado, por isto a ênfase nas ferramentas. Isto seria razoavelmente justo se estivéssemos em uma área na qual as ferramentas fossem quase eternas, tal como ocorre na carpintaria, mas em desenvolvimento de software este não é o caso, pelo contrário.

(não entendo nada de marcenaria, sendo assim talvez o exemplo tenha sido ruim)

Entra aqui algo que deveria ser pesado pelos educadores: o conhecimento de curto, médio e longo prazo. Conhecer uma linguagem ou framework é conhecimento de curto prazo, agora, conhecer a teoria é de longo prazo, é o conhecimento que realmente vale à pena, que te prepara para qualquer coisa que surja. Mas como você tem de gerar mão de obra rápido para as empresas que podem estar financiando sua instituição, o que você faz? Que se foda o aluno, precisamos de programadores Java para que continuem nos financiando, não é mesmo?

E neste caso, se a ênfase está sendo dada nas ferramentas e não na teoria, estas faculdades de fato poderiam ser chamadas de faculdades? Afinal de contas está no cerne da ideia do curso superior a obtenção do conhecimento geral de longo prazo, não de curtíssimo tal como mencionei. Não deveriam ser na realidade caracterizadas como cursos especializantes?

Me impressiona a miopia destes "educadores".

A grande sacanagem

Um questionamento que poderia e deve ser levantado é: qual a responsabilidade do aluno em sua própria formação? Por muito tempo tive uma visão bastante maniqueista a este respeito: eu realmente achava que a maior parte da responsabilidade era do aluno, porém hoje vejo que é a menor.

E a razão é muito simples: há uma quebra de confiança no processo de formação. Quando você entra em um curso superior é esperado que aqueles que lá lecionam sejam competentes. Afinal de contas trilharam um caminho que os colocou naquele lugar. Então o que o aluno faz? Simples: ele confia e, normalmente admira aquele que lhe ensina. E esta admiração faz parte do processo de educação (você dificilmente leva a sério aqueles que detesta).

E aí vejo as pessoas que não são reprovadas na faculdade, mas saem dela sem saber o básico. O que ocorreu ali? Como pode a pessoa terminar o curso de Ciência da Computação e não saber resolver um fizz-buzz? Estas pessoas são vagabundas? Não: são pessoas que ralam horrores, ficam horas no transporte público, economizam pra pagar a faculdade (faculdade pública também tem custo, e alto).

São pessoas que normalmente estão no curso superior graças ao esforço de gerações passadas, que conseguiram acumular capital para lhe proporcionar esta melhor educação. E aí eu penso: pqp, um esforço geracional jogado no lixo. Sim, no lixo, por que não raro o indivíduo vai pro mercado de trabalho, percebe que não sabe nada e desiste da área.

Na minha opinião um dos papeis da faculdade é te incentivar a sair da área se não for a sua praia, e isto se dá através da reprovação. Agora, se você não é reprovado, como saber se realmente é bom na coisa?

(quis ser músico uma época e depois percebi que não era a minha: foi uma das melhores coisas que poderiam acontecer pra mim. Como percebi? No teste vocacional pro curso de Violão Clássico.)

Na boa? Vi algumas faculdades que mereciam ser processadas por propaganda enganosa.

Então o que a faculdade deveria ensinar?

Resumindo:  a pesquisar. Ao sair da faculdade você não é especialista naqueles assuntos, mas ao menos sabe do que se tratam ou mesmo que existem. O aluno tem de, terminado o curso, ao se deparar com uma tecnologia nova, conseguir ligar os pontos essenciais: entender a que categoria a ferramenta se aplica, onde pode buscar maiores informações a respeito.

E o que me impressiona é que as pessoas saem da faculdade sem saber fazer isto. Vejam o diálogo que tive em um dos nossos processos seletivos com um aluno formado na UFMG:

_ Como você faz para pesquisar sobre um assunto? _ Pesquiso no Google ou StackOverflow. _ Só isto? _ É.

Repare: você tem de saber o que é uma fonte primária pelo menos. Tem de saber escrever, tem de saber ler, tem de entender uma bibliografia pra poder buscar a compreensão do que vai tratar.

Mesmo por que para que você possa fazer qualquer pesquisa, é necessário saber quais termos usar, ou seja, a faculdade essencialmente serve para lhe fornecer vocabulário.

Se você saiu da faculdade e só consegue aprender via Google ou busca no StackOverflow ou Medium, tenho uma má notícia: seu curso talvez só tenha servido pra conhecer uma galera legal e nada mais (escrevi sobre isto tempos atrás aqui).

Mas a formação não se limita à faculdade

E aqui entra um outro ponto: a formação vai muito além do curso superior/técnico. Entra aí os eventos dos quais você participa, os livros que lê, as palestras que assiste. E dado que hoje é tudo tão voltado para o "preparo mercadológico", não me admira que livros tão ruins estejam saindo no mercado (escrevi a respeito aqui e aqui).

Mas como o aluno que tem uma formação tão deficitária consegue avaliar se o material que tem em mãos é bom ou ruim? Prova de que a esmagadora maioria do material que chega a nós é ruim está no fato de pouquíssimos livros atualmente escritos apresentarem sequer uma bibliografia, ou seja, o autor possivelmente SEQUER estudou antes de publicar aquele trabalho.

Este é o lado negativo da popularização da mídia: qualquer um pode publicar, e o leitor, mal formado, não consegue avaliar ao certo o que vale ou não à pena consumir.

Sendo assim temos aqui um problema de formação em dois níveis:

  • No mundo acadêmico (e entra aqui a formação básica também).
  • No mundo extra-acadêmico (que é o que consumimos fora das instituições de ensino).

E por que o material extra-acadêmico é ruim? Adivinha: por que pra gerar conteúdo de qualidade, profundo, bem fundamentado, você precisa ter uma boa... formação. Não: só a prática não te torna um profissional excelente.

O que deve ser feito

Sabe estas matérias que pipocam por aí dizendo que há inúmeras vagas para TI? Estas vagas realmente existem, mas não são preenchidas por que a formação é ruim e portanto não se encontra com facilidade bons profissionais. E não, adquirir esta formação não é fácil ou barato.

Então sabemos que há uma crise de mão-de-obra (isto sem mencionar as pessoas que estão deixando o Brasil), sabemos também que a qualidade do ensino está ruim. O que devemos fazer?

Na minha opinião questionar tudo: acompanhar as avaliações do ENADE (questionar o próprio ENADE), evitar instituições com notas baixas e, mais importante: realizar a mesma investigação que mencionei acima. Peça para que seus estagiários lhe mostrem o que estão aprendendo nas escolas. Verifique se as pessoas que estão saindo conseguem escrever (sei, por exemplo, de diversos casos de estagiários de Direito que não conseguem ESCREVER ou LER).

(você só sabe alguma coisa se consegue descrevê-la em palavras que possam ser compreendidas por um terceiro)

Questione: aquele aluno tem problemas de aprendizado? Ou estaria sendo mal guiado? Claro: o aluno tem de correr atrás, mas quem deve ser o guia inicial é o mestre, não o aluno (caso contrário não faria sentido existir a escola (este livro é muito interessante e fala sobre isto)).

Décadas atrás o Devo veio com o conceito de "de-evolution": a ideia de que as pessoas estavam se idiotizando com o tempo. Que tal colocar na pauta atual não apenas o rotular alheio (coxinhas, mortadelas) e passarmos a prestar mais atenção ao que ocorre aqui na nossa frente?

https://www.youtube.com/watch?v=Bu1WX2nsZfo

E sabe o que ocorre se não houver mão de obra suficiente? Os projetos não sairão, e o desenvolvimento não virá, mas sim a "de-evolução".

Isto devia ter sido olhado décadas atrás (minha formação foi inferior da geração que me antecedeu). Agora é correr atrás do prejuízo.

Discussion (2)

Collapse
urielsouza29 profile image
Uriel dos Santos Souza

Quando eu comecei e parei minha faculdade de CC.
Saia do C para Java. Nada de Funcional, nada de WEB.
Não me lembro de ter história dos paradigmas.

Isso em 2009.

Depois nunca mais voltei pra programação!
Hoje estou voltando! Por mim mesmo, pra mim mesmo. Não foco em mercado de trabalho!

Collapse
loboweissmann profile image
Henrique Lobo Weissmann (Kico) Author

É: pra mim programação acaba sendo meio que uma arte.
Não consigo pensar na coisa como guiada só pelo mercado: mas é meu caso apenas, não sirvo de base pra nada!