contato@koshtech.com +55 21 98038-2606

Arte no desenvolvimento de software

Não há dúvidas de que para grande parte dos desenvolvedores o ato de programar é prazeroso, divertido e até mesmo fascinante em alguns momentos.

Não há dúvidas de que para grande parte dos desenvolvedores o ato de programar é prazeroso, divertido e até mesmo fascinante em alguns momentos. Porém, considerá-lo arte traz à tona uma discussão não tão nova, mas que por outro lado não deixa de ser contemporânea. Afinal, há ou não arte no desenvolvimento de software? Em primeiro lugar, é interessante adotar uma definição de arte, das muitas existentes, para termos como base para as ideias a serem tratadas. Segundo o dicionário Aurélio da língua portuguesa: "Arte é uma atividade que supõe a criação de sensações ou estados de espírito, de caráter estético, carregados de vivência pessoal e profunda, podendo suscitar em outrem o desejo de prolongamento ou renovação. Também representa a capacidade criadora do artista de expressar ou transmitir tais sensações ou sentimentos."


Desenvolver um sistema é uma atividade que envolve conceitos de engenharia, gestão de processos e planejamento; além disso, muitas vezes seu resultado final é tratado como o produto da aplicação de técnicas mecanizadas que, se aplicadas corretamente, implicam em um resultado satisfatório. Toda essa estrutura engessada torna grande parte do desenvolvimento tedioso, burocrático e mecanizado, porém mesmo assim possui uma certa dose de efetividade.


Entretanto, a questão é que outros elementos devem ser envolvidos nessa equação. Adotar um ponto de vista mecanizado na etapa de desenvolvimento restringe as doses de criatividade, imaginação e liberdade de criação necessárias para se conseguir solucionar problemas novos ou mesmo buscar soluções mais eficientes para determinado problema.


Pensar fora da caixa faz a diferença quando são encaradas novas situações. Poder conduzir e utilizar sua liberdade de criação durante esse momento é crucial para atingir o objetivo de escrever um bom código que com eficácia e eficiência resolva o problema. Outro ponto interessante a ser tratado é o misto de emoções envolvido durante a construção do código, as inúmeras tentativas frustrantes na correção de um bug e na satisfação em corrigi-lo; além disso, quem nunca admirou um bom código fonte?


Enfim, por mais que sejam implementadas medidas burocráticas e que haja a tentativa de alcançar a total mecanização na etapa de programação, é muito importante que haja "espaço" suficiente para que o programador e toda a equipe encontrem soluções criativas concebidas graças à liberdade de criação concedida durante a etapa do desenvolvimento. Logo, com base no conceito de arte citado no começo do post, podemos identificar traços artísticos na programação. Esses conceitos são bem interessantes de serem identificados pelo desenvolvedor e, além disso, para aplicar técnicas com o objetivo de trabalhar pontos como criatividade e imaginação durante o desenvolvimento, ou seja, é uma forma de aumentar a capacidade de encontrar soluções.