/Lucas Merencia

Como plantar bonsais me ajuda a melhorar como engenheiro de software

Nas minhas horas vagas gosto de fazer coisas diferentes das quais estou habituado no meu dia-a-dia de trabalho. Uma delas é jardinagem, gosto de dizer que sou um aprendiz de bonsaista amador, pois criar um bonsai é uma arte demorada. Para aprender as técnicas de cultivo de um bonsai e criar um do zero leva-se alguns anos, não por ser algo difícil, mas simplesmente porque esperar uma planta crescer não é rápido.

Nestes momentos de experiências extra-profissionais comecei a perceber que muitos colegas de profissão têm a capacidade de encontrar explicação para conceitos de engenharia de software olhando para as coisas que acontecem à nossa volta. Um exemplo disso é que há alguns dias estava cuidando de minhas plantas e comecei a pensar em como o desenvolvimento de software tem semelhanças com o cultivo de bonsai.

Um bonsai não é um tipo de planta específica e sim uma técnica utilizada em árvores para que elas sejam a miniatura de sua espécie. A própria palavra bonsai deixa isso evidente, ela tem origem japonesa e significa “cultivar árvores em vasos”. Para dar certo, os bonsais precisam ser plantas saudáveis e, assim como na natureza, possuírem todos as características que a planta normal possui, como flores e frutos.

Cultivar um bonsai não é apenas deixar a planta crescer, é necessário entender qual o solo correto e sua capacidade de drenagem, as podas, adubação, irrigação, transplante de vaso e várias técnicas que dão forma e transformam uma muda em um bonsai. Além disso, é preciso saber qual é o objetivo com a planta e também planejar o seu crescimento.

Todas as regas, podas, adubações precisam ser feitas com cuidado e com calma. É um exercício de paciência onde a planta precisa ser tratada com gentileza, com amor, para que no futuro ela possa ser igual a uma árvore encontrada na natureza, porém acomodada em um pequeno espaço de sua casa.

No desenvolvimento de software também existem várias técnicas, princípios, padrões de projetos e várias boas práticas que são seguidas para criarmos softwares excelentes, que solucionam problemas e que facilitam a vida de pessoas. Estas pessoas não são somente os usuários, mas também nossos colegas de trabalho que eventualmente terão que alterar os códigos que escrevemos.

Quando não cuidamos do código deixamos de cultivar nosso bonsai, estamos apenas deixando a planta crescer. Após alguns anos não teremos um bonsai e se alguém quiser transformá-la em um, terá que praticamente começar do zero. Muitas vezes uma poda mal feita ou a quantidade errada de água pode até matar a planta e isso também pode acontecer no desenvolvimento de software onde decisão descuidada, uma abstração errada ou um código mal escrito pode impactar negativamente um projeto. Diante de tais más práticas de cultivo (de software), uma vez que alterações no código sejam necessárias, você estará exposto ao risco de ter que refatorá-lo ou, até mesmo, jogá-lo fora e “replantá-lo” do zero.

O zelo pelo código é uma das responsabilidades de um engenheiro de software, e assim como um bonsaista cuida de suas plantas, um engenheiro de software deve cuidar de seu código. As nossas técnicas devem ser feitas com cuidado, com calma, pensando no crescimento do software, na escalabilidade, manutenibilidade, disponibilidade, etc.

Após ver esta similaridade do cultivo de bonsai com o desenvolvimento de software, comecei a ter uma postura diferente com o código que escrevo. Sempre que estou escrevendo código gosto de pensar se naquele momento estou cultivando meu bonsai ou apenas deixando a planta crescer.