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.
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.
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
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
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)