Por que todos os programadores são criativos?

Códigos são tão únicos e vivos quanto quem os cria

Tera
Somos Tera
4 min readSep 26, 2019

--

Por Gil Fewster
(Artigo publicado originalmente em inglês aqui.)

Photo by Omar Flores on Unsplash

Nos últimos quinze anos, eu programei websites de venda de produtos — uns úteis, outros inúteis. Eu programei para dar match em corações solitários, para educar estudantes universitários e para treinamentos no ambiente de trabalho. Programei jogos de espião para crianças, alguns dos muitos sistemas de e-learning existentes, sites de brinquedos e miniaturas, e — desculpem — incontáveis e-mails marketing.

Hoje em dia eu sou aquilo que vocês podem chamar de funileiro (ou o que os programadores costumam chamar de “um intrometido pé no saco”), mas eu ainda amo trabalhar em pequenos projetos e me manter atualizado com as novas ferramentas e plataformas.

Sempre que eu estou programando, eu lembro como é maravilhoso estar imerso no curioso mundo de um software em evolução. Quem não é programador tem dificuldade para acreditar nisso, mas justamente por causa de todas as regras técnicas e da disciplina estrutural, programar é uma atividade extremamente criativa.

Programação e criatividade geralmente ocupam mundos distantes no imaginário das pessoas.

Essa ideia está enraizada em uma verdade fundamental, porém incompleta: um programa de computador é um conjunto muito preciso de instruções para uma máquina muito estúpida. Não há espaço para imprecisões em um software; não há lugar para duplos sentidos ou subtextos.

Software é poesia. É a expressão de ideias na sua forma mais elegante.

Photo by JR Korpa on Unsplash

No entanto, os caminhos que os programadores trilham para desenvolver esses sistemas tão precisos não são iguais. Dois programadores nunca irão produzir um código idêntico, nem mesmo se a versão final desse software aparentar, por fora, ser a mesma. Dê a dez escritores um enredo e cada um deles vai escrever uma história diferente. Dê a dez programadores uma especificação de funções e cada um vai produzir algo singular, uma expressão da sua própria voz como programador.

Ajuda se você esquecer a definição puramente funcional de um software como um produto final. Ao invés disso, considere programar como um processo. Uma arquiteta pode terminar seu trabalho desenhando uma planta baixa — mas para chegar até aquele desenho, ela deve considerar aspectos como espaço, harmonia, luz, materiais, finalidade e ambiente.

Por mais que sejam extremamente técnicos e estritamente matemáticos, esses projetos desenhados nas plantas são o resultado de um processo profundamente criativo.

Da mesma forma, a programação não é exatamente a escrita de linhas de códigos. É a arte de pegar problemas grandes e insolúveis e quebrá-los em partes cada vez menores, que podem ser compreendidas, explicadas e, então, cuidadosamente montadas em uma obra de arte viva e pulsante.

Software é poesia. É a expressão de ideias na sua forma mais elegante. Como um escritor que mastiga a textura das palavras, contorna elas com sua língua e procura a maneira certa de contar cada parte da história, um programador usa a criatividade para empregar uma estrutura e uma sintaxe de linguagem para abordar problemas, montar uma sequência em que eles se resolvam, e combinar estas sentenças em uma história.

As escalas maiores e menores se chocam e você fica perdido no meio disso tudo, completamente absorto

Photo by Rowan Lamb on Unsplash

Quando você está programando, você vai experimentar momentos sublimes de foco.

Em um nível prático, você está escrevendo uma lista de instruções, passando linha por linha pela solução para uma única tarefa entre milhares que, coletivamente, fazem um programa de computador. A sintaxe começa a falar no teclado de uma forma tão automática e fácil como quando seus lábios e a sua língua formam palavras em uma conversa. Mas enquanto essa mecânica mundana está em ação, há algo mágico e maravilhoso acontecendo mais fundo no seu cérebro.

Você pode ver o sistema que está construindo, visualizar o escopo e a escala dele. A relação entre cada pedaço de dado, a função que processa a informação, o fluxo dos dados conforme o seu código vai conduzindo-os pelos caminhos por aqui, mede os valores na intersecção por ali, um re-route para o processamento em uma factory que você criou com essa finalidade. Não são só linhas de código em uma tela, é tão real e físico como uma cidade se expandindo.

É difícil explicar essa emoção. É um ato criativo que te desperta. Você está com várias linhas simultaneamente na sua cabeça, como um escritor equilibrando, ao mesmo tempo, as questões mais amplas de um enredo, os arcos das personagens, mantendo no mesmo compasso as minúcias da estrutura das sentenças, o ritmo de três sílabas contra duas, pesando a batida de uma vírgula contra a interrupção de um ponto final. As escalas maiores e menores se chocam e você fica perdido no meio disso tudo, completamente absorto — e é eletrizante.

É por isso que eu programei por tanto tempo e é razão de eu ainda programar de vez em quando. Para encontrar todas as vezes a mesma centelha mágica que eu sinto quando eu faço uma foto, escrevo uma frase que me dá prazer, me perco dentro de um livro ou fecho os meus olhos e deixo uma música tomar conta de mim. Não é porque eu sou um geek (e honestamente eu sou). É porque eu não sinto prazer maior no mundo que criar ou me deixar levar pela beleza das coisas.

--

--

Tera
Somos Tera

Um novo modelo de educação com foco nas principais habilidades para a economia digital: www.somostera.com