Por favor, não aprenda a programar

O meme “todo mundo deveria aprender a programar” ficou tão fora de controle que o prefeito da cidade de Nova York realmente prometeu aprender a programar em 2012.

Bloomberg-vows-to-code

Um gesto nobre para angariar o voto da comunidade tecnológica de Nova York, com certeza, mas se o prefeito da cidade de Nova York realmente precisa usar código JavaScript para fazer seu trabalhoo senhor está profundamente, horrivelmente, terrivelmente errado com a política no estado de Nova York. Mesmo que o Sr. Bloomberg tenha “aprendido a programar”, com o desculpas a Adam Vandenberg, espero que acabemos com isso:

10 PRINT "I AM MAYOR"
20 GOTO 10

Felizmente, a probabilidade de que esse voo tecnológico de fantasia aconteça – mesmo em tom de brincadeira – é zero, e por um bom motivo: o prefeito da cidade de Nova York, com sorte, passará seu tempo fazendo o trabalho para o qual os contribuintes o pagaram. De acordo com o Gabinete do Prefeito isso significa trabalhar em programas de absenteísmo para escolas, melhorias no transporte público, o orçamento municipal de 2013 e… preciso mesmo continuar?

Para aqueles que argumentam que a programação é uma habilidade essencial que deveríamos ensinar aos nossos filhos, assim como a leitura, a escrita e a aritmética: O senhor pode me explicar como Michael Bloomberg seria melhor em seu trabalho diário de liderar a maior cidade dos EUA se ele acordasse uma manhã como um programador Java de primeira? É óbvio para mim que ser um leitor habilidoso, um escritor habilidoso e ter pelo menos o nível do ensino médio em matemática são fundamentais para o desempenho do trabalho de um político. Ou no qualquer trabalho, aliás. Mas entender variáveis e funções, ponteiros e recursão? Não consigo ver isso.

Veja, Eu adoro programação. Também acredito que a programação é importante… no contexto certo, para algumas pessoas. Mas muitas habilidades também o são. Eu não recomendaria a todos que aprendessem programação, assim como não recomendaria a todos que aprendessem encanamento. Isso seria ridículo, certo?

Conselhos para encanadores

O movimento “todo mundo deveria aprender a programar” não está errado apenas porque equipara falsamente a programação a habilidades essenciais para a vida, como leitura, redação e matemática. Quem me dera. Ele está errado de muitas outras maneiras.

  • Ela pressupõe que mais código no mundo é algo inerentemente desejável. Em meus trinta anos de carreira como programador, descobri que esse… não é o caso. O senhor deve aprender a escrever código? Não, não posso concordar com isso. O senhor deve ser aprendendo a escrever o mínimo de código possível. Idealmente, nenhum.

  • Ele pressupõe que a codificação é o objetivo. Os desenvolvedores de software tendem a ser viciados em software e acham que seu trabalho é escrever código. Mas não é. Seu trabalho é resolver problemas. Não comemore a criação de código, comemore a criação de soluções. Já temos muitos programadores viciados em fazer apenas mais uma linha de código.

  • Isso coloca o método antes do problema. Antes de o senhor sair correndo para aprender a programar, descubra qual é realmente o seu problema. O senhor tem mesmo um problema? O senhor pode explicá-lo aos outros de uma forma que eles possam entender? O senhor pesquisou profundamente o problema e suas possíveis soluções? A codificação resolve esse problema? O senhor está o senhor tem certeza?

  • Ele supõe que adicionar codificadores ingênuos, novatos e que nem mesmo têm certeza de que gostam dessa coisa toda de programação à força de trabalho é um resultado positivo para o mundo. Acho que isso é verdade se o senhor considerar que um programador ruim pode facilmente criar dois novos empregos por ano. E, por falar nisso, a maioria das pessoas que já se dizem programadores nem sequer sabem codificarPortanto, perdoe meu ceticismo em relação ao sentimento de que “todo mundo pode aprender a programar”.

  • Isso implica que há uma membrana fina e facilmente permeável entre aprender a programar e ser pago para programar profissionalmente. Basta olhar para esses novos programadores que receberam ofertas de emprego com um salário médio de US$ 79 mil/ano após participar de um bootcamp de apenas dois meses e meio! Talvez o senhor também possa aprender Perl em 24 horas! Embora eu adore o fato de a programação ser um campo igualitário em que diplomas e certificações são irrelevantes diante da experiência, o senhor ainda precisa dedicar suas dez mil horas como o resto de nós.

Suponho que eu possa apoiar o aprendizado de um pouco de programação apenas para que o senhor possa reconhecer o que é código e quando o código pode ser uma maneira apropriada de abordar um problema. Mas também posso reconhecer problemas de encanamento quando os vejo, sem nenhum treinamento específico na área. A população em geral (e sua liderança política) provavelmente se beneficiaria mais de uma compreensão básica de como os computadores e a Internet funcionam. Ser capaz de se locomover pela Internet está se tornando uma habilidade básica da vida, e devemos nos preocupar em consertar o isso primeiro e, acima de tudo, antes de começarmos a entrar no código.

Por favor, não defenda que o senhor aprenda a programar apenas por aprender a programar. Ou pior, por causa dos salários gordos. Em vez disso, sugiro humildemente que gastemos nosso tempo aprendendo a …

  • Pesquisar vorazmente e entender como as coisas ao nosso redor funcionam em um nível básico.
  • Comunique-se de forma eficaz com outros seres humanos.

Essas são habilidades que vão muito além da mera codificação e o ajudarão em todos os aspectos de sua vida.

[advertisement] Como o senhor está exibindo o que tem de melhor? Crie um Perfil do Stack Overflow Careers e mostre todo o seu trabalho árduo no Stack Overflow, no Github e em praticamente todos os outros sites de codificação. Quem sabe, o senhor pode até ser recrutado para uma grande novo cargo!