Por um tempo, nós temos ouvido como qualquer um que não sabe programar terá que se contentar com uma vida de servidão na subclasse tecnológica. O escritor, desenvolvedor e rei do Stack Overflow Jeff Atwood discorda.

O mantra “todo mundo deverá aprender programação” está tão fora de controle que até o prefeito de Nova Iorque prometeu aprender a programar em 2012.

Bloomberg quer programar.

Um gesto nobre para ganhar o voto da comunidade tech da cidade, claro, mas se o prefeito de Nova Iorque realmente precisa saber JavaScript para cumprir seu dever, algo está profunda e terrivelmente errado com a política no estado de Nova Iorque. Mesmo se o Sr. Bloomberg “aprender a programar”, com desculpas a Adam Vandenberg, espero acabarmos com isso:

10 PRINT “I AM MAYOR”
20 GOTO 10

Felizmente, a possibilidade desse devaneio tecnológico acontecer (mesmo brincando) é zero, e por um bom motivo: o prefeito de Nova Iorque com sorte gastará seu tempo fazendo as coisas que os pagadores de impostos lhe pagam para fazer em vez de programar. De acordo com o site do Gabinete do Prefeito, isso significa trabalhar em programas para diminuir a evasão escolar, melhorias no transporte público, o orçamento de 2013 e… preciso dizer mais alguma coisa?

Para aqueles que argumentam que programação é uma habilidade essencial que deveríamos ensinar às nossas crianças, no mesmo nível da leitura, escrita e aritmética: você pode me explicar como Michael Bloomberg seria melhor em seu trabalho governando a maior cidade dos EUA se ele acordasse numa bela manhã manjando tudo de Java? É óbvio para mim como ser um bom leitor, um bom escritor e pelo menos saber matemática básica são habilidades fundamentais para desempenhar o trabalho de um político. Ou qualquer trabalho, aliás. Mas entender variáveis e funções, ponteiros e recursividade? Não vejo como.

Veja bem, eu amo programação. Eu também acredito que programação seja importante… no contexto certo, para algumas pessoas. Mas da mesma forma, outras habilidades também o são. Eu não recomendaria a todos para que aprendessem programação tanto quanto o faria para aprenderem sobre encanamentos. Isso seria ridículo, certo?

O movimento “todo mundo deveria aprender a programar” não é errado apenas porque coloca falsamente a programação no nível de habilidades essenciais à vida como leitura, escrita e matemática. Antes assim fosse. Ele está errado em vários outros pontos.

  • Ele parte da premissa de que mais código no mundo é uma coisa inerentemente desejável. Em meu trigésimo ano de carreira como programador, cheguei à conclusão de que… não é o caso. Você deveria aprender a programar? Não, eu não apoio isso. Você deveria aprender o mínimo de código possível. O ideal? Nada.
  • Ele assume que programar é o objetivo. Desenvolvedores de software tendem a ser viciados em software que pensam que seu trabalho é escrever código. Seu trabalho é resolver problemas. Não comemore a criação de código, comemore a criação de soluções. Já temos muitos viciados em código para fazer só mais aquela linhazinha ali.
  • Ele coloca o método antes do problema. Antes de correr para aprender programação, pense em qual é o seu problema de fato. Você ao menos tem um problema? Você consegue explicá-lo a outras pessoas de modo que elas entendam? Você pesquisou profundamente esse problema e suas possíveis soluções? Programar resolve o problema? Tem certeza?
  • Ele assume que acrescentar programadores inocentes, novatos, não-sei-exatamente-se-gosto-dessa-coisa-de-programar à força de trabalho é algo positivo para o mundo. Acho que isso é verdade se você considerar que um programador ruim pode facilmente criar dois novos empregos por ano. E nesse sentido, a maioria das pessoas que se dizem programadoras nem ao menos programam, então perdoem o meu ceticismo sobre “todo mundo devia programar”.
  • Ele implica que existe uma fina e facilmente penetrável membrana entre aprender a programar e receber como um programador profissional. Olhe para esses novos programadores que recebem propostas de salário de US$ 79 mil/ano em média após dois meses e meio em um acampamento! Talvez você possa aprender sozinho Perl em 24 horas! Adoro o fato de programação ser um campo igualitário onde certificações e títulos são irrelevantes se confrontados com a experiência; você ainda precisa de dez mil horas como o resto de nós.

Acho que posso tolerar a ideia de aprender um pouco de programação, o bastante para reconhecer o que é um código e quando ele pode ser a abordagem apropriada para um problema que você tem. Mas eu também tenho que reconhecer problemas no encanamento quando vejo um deles sem ter qualquer treinamento especial na área. A população em geral (e seus líderes políticos) provavelmente se beneficiariam mais com um entendimento básico sobre como computadores e a Internet funcionam. Ser capaz de “usar” a Internet está se tornando uma habilidade básica para a vida e, assim, deveríamos estar preocupados em corrigir isso antes de qualquer outra coisa, antes de pularmos de cabeça nos códigos.

Por favor, não milite a favor do aprender a programar pelo simples aprender a programa. Ou pior, por causa dos contracheques gordos. Em vez disso, eu humildemente sugiro que gastemos nosso tempo aprendendo a:

  • Pesquisar com voracidade e entender como as coisas a nosso redor funcionam em seus níveis mais básicos.
  • Nos comunicarmos de forma eficiente com outros seres humanos.

Essas são habilidades que ajudam muito, muito mais do que programação e que o ajudará em todos os aspectos da sua vida.