Desabafo de um calouro que está surtando de tanto estudar (mas amando cada segundo)
H18, primeiro período de Ciência da Computação em uma federal. Isso aqui é mais um desabafo do que um pedido de ajuda, mas se alguém quiser dar dicas, fique à vontade.
Eu sou o melhor da minha turma. Não é arrogância, é só a constatação de alguém que está obcecado. Enquanto a maioria da turma está penando para entender condicionais e loops em Python (a linguagem usada em Programação 1), eu estou estudando C em paralelo. Não é só "estudar C", é mexer com ponteiros, alocação dinâmica, e até tentar simular uma classe simples usando struct e ponteiros de funções. Coisa que ninguém pediu, mas que faz meus olhos brilharem. Enquanto eles estão descobrindo o que é um [if], eu estou gerenciando memória manualmente e entendendo como a máquina realmente funciona.
Enquanto a maior parte da turma pena para entender lógica para computação, eu e outro amigo fomos os únicos que tiramos 10 na prova. E eu não estou falando de uma prova fácil, foram 180 questões de lógica proposicional que eu fiz por conta própria antes da avaliação, mais dezenas de outras de lógica de predicados que estou fazendo agora. Funcionou. A lógica deixou de ser uma matéria e virou uma ferramenta mental que eu uso para programar, argumentar e até escrever melhor.
Estou para ser dispensado da matéria de Fundamentos do Cálculo. Isso me dá mais tempo para o que realmente importa: estudar. Minha rotina é simples e insana: faço 60 questões por dia. Todas dissertativas, bem feitas, corrigidas, com análise de erros. São questões de Introdução à Computação, Direito Digital, Lógica, C e Python. Todo santo dia. Sem desculpas. Se eu estou doente, faço. Se estou cansado, faço. Se o dia foi ruim, faço. É essa constância que está me transformando.
Tenho um repositório no GitHub que estou construindo com 750 exercícios de C puro. Tudo comentado, tudo documentado, tudo compilando com [-Wall -Wextra -Werror -pedantic]. É um plano que vai do `printf` até um simulador de kernel. Chamei de C Crucible. É a minha forja. Já tenho 60 exercícios feitos, tipos, variáveis, operadores, controle de fluxo, funções e agora estou entrando em arrays e strings. Cada bloco de exercício é um commit. Cada commit é um tijolo na catedral que estou construindo.
Apesar de todo esse esforço, eu sei que ainda tem um caminho enorme pela frente. As matérias mais pesadas do curso ainda estão por vir: Cálculo 1, Estrutura de Dados, Teoria da computação, compiladores, etc. Não estou me iludindo. Sei que ser o melhor do primeiro período não garante nada no segundo. Mas estou construindo a base mais sólida que consigo. E estou fazendo isso com calma, com método, sem pressa. Porque eu não quero ser um foguete que sobe rápido e explode. Quero ser uma fundação que aguenta qualquer carga.
Me vejo como um ourives. Ourives é aquele artesão que trabalha com metais preciosos, que não produz em massa, que passa horas, dias, semanas polindo uma única peça até que ela fique perfeita. É assim que me sinto em relação ao código e ao conhecimento. Cada exercício é uma martelada. Cada projeto é uma joia. Não quero ser um programador que só "faz funcionar". Quero ser um engenheiro de software que entende o que está fazendo em cada camada, do silício ao sistema distribuído. Quero olhar para um código e enxergar a memória, os registradores, as chamadas de sistema. Quero que a máquina não tenha segredos para mim.
Espero não perder esse gás. Espero continuar evoluindo. E espero, um dia, ser um profissional que faz diferença, tanto no mercado quanto na vida dos outros. Se alguém tiver dicas, conselhos ou só quiser trocar ideia, estou aqui.