voltar

Programando no papel

Alguns dias atrás, no Twitter, deparei-me com algumas publicações que me fizeram recordar os dias do ensino médio, quando tive que programar escrevendo no papel. Tenho formação média técnica em informática e durante os cinco anos do meu ensino médio - cinco devido à pandemia da COVID-19 -, a maior parte das provas de programação foi realizada de forma manuscrita, em papel.

Inicialmente, não via problema nisso. Na verdade, não tinha uma opinião definida; simplesmente seguia as regras. No entanto, com o passar do tempo, o processo começou a se tornar tedioso e frustrante. Imaginem escrever um código de 20 linhas ou mais à mão e ser reprovado por esquecer um ponto e vírgula (;). É cruel, não é? Pelo menos, se estivesse no computador, eu saberia que estava errado antes de entregar a prova.

Na verdade, a abordagem de ensino não é completamente equivocada, embora seja um tanto rígida. Fazer provas de programação manuscritas é uma prática comum em muitos processos de seleção e avaliação de candidatos a empregos na área de programação, especialmente em entrevistas técnicas. Mas será que essa abordagem é adequada nas escolas? Talvez, na época, esse não fosse o objetivo principal, mas acabou se tornando.

A seguir, apresentarei algumas vantagens e desvantagens de programar no papel.

Vantagens

As provas escritas em papel podem ajudar a avaliar o conhecimento fundamental de alguém sobre conceitos de programação, algoritmos e estruturas de dados. Além disso, podem ser eficazes para avaliar o raciocínio lógico e a capacidade de resolver problemas, uma vez que os candidatos precisam expressar suas soluções por escrito. Um ponto crucial é a atenção: em uma prova de programação escrita à mão, a probabilidade de cometer erros quando se conhece o conteúdo é ainda maior. Isso é evidenciado pelo exemplo anterior do ponto e vírgula, que destaca a importância de treinar a atenção durante o processo de codificação. Nem precisamos discutir por que a atenção é essencial nesse contexto.

Desvantagens

Programar no papel difere consideravelmente de programar em um ambiente de desenvolvimento real. Isso pode não refletir com precisão as habilidades práticas necessárias para o trabalho de um desenvolvedor. A pressão é mais intensa quando se programa no papel; você precisa estar ainda mais atento, pois não há margem para erros. Muitas pessoas enfrentam nervosismo ao realizar provas manuscritas, o que pode prejudicar seu desempenho, mesmo que tenham um sólido conhecimento do assunto.

O que mais me incomodava era não poder testar se o código realmente funcionava. No entanto, hoje acredito que talvez não tenha sido a pior coisa do mundo. Saber escrever código é importante, mas mais crucial ainda é possuir lógica. Na internet, é possível encontrar uma infinidade de códigos prontos, mas a forma como os aplicamos para resolver problemas é o que realmente faz a diferença. Portanto, acredito que esse tipo de prova visa, principalmente, avaliar nosso raciocínio lógico em vez de nossa capacidade de escrever código. Dessa forma, podemos evitar situações em que tentamos fazer ajustes no código até que ele funcione, sem compreender realmente o que está acontecendo.

Em resumo, programar no papel tem suas vantagens, como a avaliação do conhecimento teórico e do raciocínio lógico. No entanto, apresenta desvantagens significativas, como a falta de correspondência com a realidade do desenvolvimento de software e o potencial aumento do nervosismo dos candidatos. Embora a prática tenha seu lugar, é importante que as instituições de ensino e os empregadores ponderem cuidadosamente se ela é a abordagem mais adequada para avaliar as habilidades dos candidatos. Além disso, a compreensão profunda dos princípios lógicos da programação deve ser valorizada tanto quanto a habilidade de escrever código.