03 / DIVAGAÇÕES · DOCÊNCIA EM COMPUTAÇÃO

Que inveja eu tenho dos professores de Física e Matemática

Um breve relato sobre os dramas de um professor de Computação.

Ser professor é assumir desafios diários. Basta soar o sinal e você estará em outra turma, em uma sala diferente, com outro conteúdo e, principalmente, com outras pessoas. Para aqueles que trabalham em mais de uma instituição, acrescentem-se ainda local, equipe, recursos e chefia diferentes. E, quando o professor finalmente começa a entender como aquela turma ou instituição funciona, termina o semestre ou o contrato, e tudo começa novamente. É cansativo, mas também pode ser recompensador.

Quero compartilhar aqui, mais especificamente, algumas das dificuldades de ser professor na área de Computação. Longe de querer apenas me lamentar, mas desconheço outra área do conhecimento que mude tanto e em um ritmo tão acelerado. Confesso que tenho certa inveja dos professores de Física e Matemática, que ensinam conhecimentos construídos e consolidados ao longo de séculos. São áreas maduras, com conceitos fundamentais bem estabelecidos.

Algo bem diferente acontece na Informática. Parte dessa dificuldade nasce do próprio nome da disciplina ou do curso. Quando se utiliza o termo "Informática", por exemplo, nem sempre fica claro se estamos formando um usuário de recursos de informática ou um profissional responsável por desenvolver e prover esses recursos e serviços. Essa confusão permanece e talvez nunca desapareça completamente, até porque o próprio profissional de TI também é usuário de serviços e ferramentas de informática.

Uma vez esclarecido que o curso é voltado à formação de profissionais de TI, o próximo desafio do professor é adequá-lo ao perfil dos diferentes tipos de alunos. Em um extremo está o famoso "escovador de bits", que sempre teve um computador, do outro, alguém sem qualquer conhecimento técnico, interessado apenas em utilizar aplicações prontas e numa outra posição equidistante está o aluno totalmente perdido que nem sabe por que está ali. Um primeiro passo é dividir a atuação de um profisional da mesma forma que a gente divide uma computador: hardware e software. Embora essa separação faça cada vez menos sentido de forma rígida, costumamos explicar que quem se interessa por software tende a seguir caminhos ligados ao desenvolvimento, enquanto aqueles mais interessados em hardware, redes e sistemas podem se aproximar da área de infraestrutura.

Nesse momento aparece um retrato pouco animador do mercado brasileiro: escolhemos, em grande medida, ser consumidores de produtos tecnológicos em vez de produtores. Trabalhar diretamente com produção de hardware no Brasil tornou-se cada vez mais raro. Explicamos aos alunos que historicamente nem sempre foi assim e que o país já teve empresas nacionais com produção tecnológica relevante. Hoje, entretanto, boa parte da indústria existente depende fortemente de incentivos e mecanismos fiscais, com dificuldade para competir internacionalmente.

O que causa ainda mais incômodo é que, mesmo sem uma indústria de hardware particularmente forte, comprar ou importar computadores e componentes continua sendo caro no Brasil. Mantemos mecanismos destinados a estimular uma produção nacional que, ao menos em muitos segmentos, não conseguiu alcançar os resultados esperados. Do lado menos desesperador, o mercado de software apresenta uma realidade diferente. O emprego na indústria de software brasileira não depende da mesma forma desses mecanismos governamentais. O Brasil é um país bastante digitalizado e existe uma demanda significativa por profissionais de TI. As grandes empresas internacionais de tecnologia — as famosas Big Techs, além dos grupos conhecidos no mercado financeiro como FAANG ou Magnificent Seven — continuam fazendo parte do imaginário e dos sonhos de muitos estudantes. Entretanto, existem boas oportunidades também em empresas brasileiras, especialmente nos setores financeiro, de serviços e em organizações nas quais a tecnologia ocupa papel estratégico. Praticamente qualquer grande empresa precisa de profissionais de TI. Porém, aquelas em que a tecnologia representa um diferencial competitivo tendem a oferecer carreiras e remunerações mais atraentes.

Até aí, fica relativamente fácil convencer o aluno das oportunidades de trabalhar com desenvolvimento de software. O problema começa quando precisamos ensiná-lo a programar. Nesse percurso, os professores de Computação enfrentam diversos desafios. Um deles é desenvolver nos estudantes a capacidade de abstração e o raciocínio lógico necessários à programação. Outro é desfazer um dos grandes mitos contemporâneos: o de que todo "nativo digital" entende de computadores. Infelizmente, nascer cercado de smartphones, aplicativos e redes sociais não significa compreender como um computador funciona. Conhecimentos que consideramos básicos — como utilizar o shell de um sistema operacional, compreender a organização de um sistema de arquivos ou configurar um ambiente de desenvolvimento — muitas vezes são completamente desconhecidos pelos estudantes que cresceram utilizando interfaces gráficas extremamente simplificadas.

E existe ainda outra questão: desenvolvimento de software não é apenas programação. Na verdade, a construção de um software sequer começa necessariamente pela codificação. Então surge uma pergunta incômoda: por que começamos a ensinar Computação justamente pela programação? Não haveria algo mais simples para apresentar ao aluno iniciante? Já ouvi outros professores fazerem essa mesma crítica. Alguns argumentam que damos ênfase excessiva à programação, enquanto conceitos como análise de requisitos, modelagem, orientação a objetos e desenvolvimento orientado a testes acabam ocupando um espaço muito menor no ensino inicial. Ensinar programação, afinal, não significa apenas ensinar algoritmos e estruturas de dados. O estudante precisa simultaneamente aprender a utilizar melhor o computador, preparar o ambiente de desenvolvimento, compreender mensagens de erro e dominar a sintaxe da linguagem escolhida. Só isso já representa uma tarefa árdua. Então, por que não começar o ensino de Computação por assuntos aparentemente mais simples e conceituais, deixando que os alunos dominem gradualmente o computador antes de começar a programar?

Por incrível que pareça, isso pode funcionar ainda menos. Apresentar conceitos muito abstratos a alguém que ainda não possui vivência na área é quase como tentar ensinar uma pessoa a nadar mantendo-a fora da água. Sem ter experimentado os problemas concretos da programação, conceitos como abstração, encapsulamento, arquitetura, padrões de projeto ou engenharia de software podem parecer apenas um conjunto de palavras sem significado prático. A melhor explicação que já ouvi para continuarmos introduzindo a Computação por meio da programação vem justamente do contexto histórico: diante de um computador pronto, uma das primeiras coisas que fazemos é criar um programa para que aquela máquina compute alguma coisa.

Primeiro fazemos o computador fazer algo. Depois começamos a compreender como fazer isso melhor. Se foi assim que aprendemos a explorar os computadores, talvez faça sentido que seja também assim que apresentemos a Computação aos nossos alunos. Confesso que aceitei essa explicação. E assim continuamos ensinando Computação começando pela programação. Mas, como se todas essas dificuldades já não fossem suficientes, surge a Inteligência Artificial generativa, acompanhada de LLMs, assistentes de programação e agora do chamado vibe coding.

De repente, um estudante consegue descrever em linguagem natural aquilo que deseja e receber, em segundos, dezenas ou centenas de linhas de código que talvez ainda não tenha conhecimento suficiente para compreender. E isso nos coloca diante de uma nova pergunta: se a máquina já consegue escrever boa parte do código, o que exatamente devemos ensinar quando ensinamos programação?

Algoritmos? Lógica? Sintaxe? Arquitetura? Engenharia de software? Capacidade de avaliar o código produzido pela IA? Ou tudo isso, mas de uma maneira completamente diferente?

Ainda estamos tentando descobrir.

Mais uma vez, tudo muda — e muda rápido.

Que inveja eu tenho dos professores de Física e Matemática.

← Voltar para Divagações