Lições da música para evoluir no desenvolvimento de software

16 de outubro de 2019

Programar é coisa de gênio. Música é só para quem tem o dom. Será?

Como programador profissional e músico em formação, acredito que não. São caminhadas de muito trabalho, em que a genialidade não é obrigatória. A seguir, listo algumas dicas que a música pode dar para a carreira em software e vice-versa:

Dê um passo de cada vez

Ninguém toca um solo ou escreve um programa sofisticado com meia dúzia de aulas. Essa capacidade é adquirida em pequenas doses diárias, com muita repetição. Quem toca um instrumento de sopro aprende a produzir as notas, depois a conectá-las, para só em seguida estudar escalas e conseguir executar melodias.

Fotografia com duas crianças. A da direita sopra um trompete, enquanto a da esquerda tapa os ouvidos com as mãos

Os primeiros sopros em um trompete produzem sons incríveis!

Como diz aquele clichê, é muito mais transpiração do que inspiração. O que importa não é o tamanho do passo, mas não parar de caminhar. A experiência é adquirida durante a jornada.

Ninguém começa a programar já pendurado em uma IDE. Antes, as pessoas aprendem a interpretar e resolver problemas, estruturar a solução em português ou ALGOL, para só depois começar a mexer com código em uma linguagem de programação qualquer. Existe uma extensa caminhada entre o marco zero e a elaboração de arquiteturas de grandes projetos.

Faça sua musculação

Músicos profissionais estudam horas por dia, desde os primeiros contatos com o instrumento. Entre praticantes de trompa (que tem o som mais lindo do mundo!), existe até um debate sobre poder haver ou não um dia de descanso.

Imagem de uma pessoa tocando trompa. A foto enfatiza o instrumento, até omitindo o rosto da pessoa. A trompa é um instrumento de metal, feito por um grande tubo enrolado em várias voltas. Com a mão esquerda, a pessoa controla as três chaves do instrumento. A mão direita é parcialmente introduzida na extremidade do tubo, com o objetivo de controlar a afinação e o timbre, além de segurar o instrumento

Uma bela trompa em Fá

Para que estejam aptos a tocar, músicos praticam regularmente, de modo que seus movimentos fiquem precisos e automáticos e seus corpos e mentes estejam sempre em condições para a execução musical.

Se você já está programando diariamente, muito provavelmente esse fortalecimento já acontece naturalmente. Se não, procure se exercitar. A despeito de décadas de experiência, o Tio Bob pratica katas diariamente para testar e manter seu condicionamento. A repetição nos faz escrever código mais automaticamente e libera o cérebro para outras preocupações. Isso é muito importante, pois não conseguimos prestar atenção em todas as coisas ao mesmo tempo.

Ponha o dedo na ferida

Quando se estuda um solo, por exemplo, não se gasta muito tempo repassando as partes que já estão soando bem. Em vez disso, a pessoa pratica os trechos em que costuma errar ou que ainda não estão bons o suficiente. Eles são executados compasso por compasso, mais lentamente e depois acelerando, até que os problemas estejam resolvidos e a música seja tocada de ponta a ponta com qualidade.

Você já escreve código com conforto, mas bate aquela insegurança para escrever testes? Separe um tempo para você. Leia o livro de TDD do Kent Beck, ou a versão de Steve Freman e Nat Price, depois meta a mão na massa e aprenda!

Adiantando uma discussão futura: entregar código devidamente testado é sua obrigação!

Descanse, alterne e insista

Chícara de café

Os músculos e o cérebro cansam. Às vezes, empacamos em algum trecho e a repetição em um andamento mais lento não resolve. Uma pausa para um café e uma prosa com um colega costumam resolver isso bem. No dia seguinte, retomando as atividade com os músculos e a cabeça descansados, a dificuldade evapora como mágica.

Você está agarrando em um trecho de um livro técnico que não consegue entender? Levante e beba uma água. Vá fazer outra coisa e depois retome a leitura. Já está no fim do dia, você já está quebrando a cabeça há 40 minutos e ainda não conseguiu encontrar a causa-raiz daquele bug? Se não é urgentíssimo, levante e vá para casa. Você vai chegar no dia seguinte e descobrir a solução do problema em 5 minutos.

Beba de várias fontes

Cada pessoa tem uma história única. Os melhores musicistas do mundo passam por vários mestres e isso é absolutamente normal, pois cada pessoa tem seus pontos fortes, experiências e níveis de conhecimento no fazer musical. Ao iniciar uma aula, meu primeiro professor sempre vai me cobrar várias escalas de cor (maior, menor, menor melódica, menor harmônica… vixe!), enquanto o segundo vai exigir que meus graves soem como uma buzina de navio.

Beber de várias águas te faz entender melhor de água. Donald Knuth, o maior cientista da computação vivo, nos recomenda ler código de pessoas mais experientes. Também leia livros da área. Eles existem aos montes e são excelentes para aprender com a vivência de profissionais com décadas de experiência. Você comprou um livro e não viu valor? Guarde-o, pois o efeito de Dunning-Kruger provavelmente está correndo em suas veias. Eu te garanto que, depois de alguns anos, você terá sofrido muitos problemas na prática – e o conhecimento daquele livro, muito provavelmente, vai te ajudar a aliviar essa dor.

Preste atenção ao conjunto

O ensaio é o momento de aprender a parte dos colegas. Sua parte você precisa trazer pronta. O momento é para entender e como a harmonia, as melodias, os solos e acompanhamentos se conectam, para em seguida trabalhar a interpretação e fazer os parentes da plateia chorarem em suas cadeiras – de emoção, de preferência.

Na indústria de software, não temos ensaio nesse formato, é verdade. Mas não trabalhamos sozinhos. As habilidades interpessoais e a capacidade de comunicação são fundamentais. Desconheço uma empresa ou colega de profissão que se interesse por pessoas que se limitam a fazer a própria parte e que não se conectam ao que acontece ao seu redor. Saia do isolamento do fone de ouvido. Ouça o ambiente. Opine. Ajude. Permita-se a ajuda.

Cuide de seu alicerce

Todo dia é um bom dia para praticar escalas – para ficar apenas em um exemplo. Não importa se a pessoa tem 10 dias ou 10 anos de experiência.

Tecnologias vêm e vão. Algoritmos, não. Estruturas de dados, idem. Custo de processamento e de memória? Já sabe a resposta. E os paradigmas de programação, então? Ferramentas são perecíveis, mas os fundamentos, não.

Busque ambientes em que seja seguro errar

Foto de um bebê em frente a um piano. O bebê está irritado e com os músculos da face contraídos. Sua mãe tem um semblante de paz e toca o piano olhando para ele

Tentei, mas não deu... ops!

Já experimentou cantar e rachar a voz? Soprar aquele agudão com toda fé e a nota estourar? É o máximo! :-)

Ter hora e lugar para errar sem ser punido é importantíssimo para ganhar a coragem de tentar. Esse impulso para tentar expandir suas capacidades é transformador.

Existem muitos meios para capturar problemas antes que eles eventualmente vão para o ambiente de produção. Boas empresas, além de incentivar o uso desse ferramental, entendem que as pessoas estão em diferentes estágios de desenvolvimento. Elas se organizam para que pessoas mais experientes nutram as que estão chegando e as incentivem a tentar. E se rolar aquele update sem WHERE, quem nunca?

– Quem estará nas trincheiras ao teu lado?

– E isso importa?

– Mais do que a própria guerra

(Ernest Hemingway)

Compartilhar: