O mito de Sísifo no desenvolvimento de software

08/08/2011 21:01

sisifoOriundo da mitologia grega, a história de Sísifo foi recontada em um ensaio do filósofo Albert Camus, em 1942. Sísifo era considerado o mais astuto dos mortais, contudo, por enganar os deuses foi castigado a realizar, por toda a eternidade, uma tarefa repetitiva e sem sentido. Ele foi condenado a rolar uma grande pedra de mármore com suas mãos até o cume de uma montanha, sendo que toda vez que ele estava quase alcançando o topo, a pedra rolava novamente montanha abaixo até o ponto de partida por meio de uma força irresistível.

No ensaio de Camus, ele utiliza o Mito de Sísifo para elaborar uma metáfora sobre a vida moderna. Veja, nas palavras de Camus, o resultado (que considerou fazer parte de um absurdo do homem): “O operário de hoje trabalha todos os dias em sua vida, faz as mesmas tarefas. Esse destino não é menos absurdo, mas é trágico quando em apenas nos raros momentos ele se torna consciente”.

Voltemos aos dias atuais, distantes e supostamente menos sofridos que os tempos descritos no Mito de Sísifo. Imaginando o dia a dia prático de um profissional de TI. Quais responsabilidades e obrigações são inerentes ao trabalho entregue no final de um projeto por um desenvolvedor? Quanto custa para a empresa um software que não segue as orientações de boas práticas de desenvolvimento? Qual a dificuldade que outros desenvolvedores terão em manter um sistema escrito às pressas, sem testes e com vários bugs? Será, que quando escrevemos nosso código, temos em mente essas questões todas? Ou melhor, será que nos importamos com elas, de verdade? Uma boa analogia, quando pensamos nessas dúvidas, é imaginar todos os problemas decorrentes de negligência como dívidas técnicas.

Uma dívida técnica (do inglês, “Technical Debt”) muitas vezes traduzida para Débito Técnico, é uma metáfora criada por Ward Cunningham para descrever uma situação onde o time decide optar por uma maneira mais rápida e menos correta de se criar um software ou um pedaço de um algoritmo para que ele possa ser entregue mais cedo. Normalmente os motivos são: pressão do cliente, tempo escasso, falta de capital, falta de conhecimento, pouca experiência entre outros. Estas dívidas, assim como as dos bancos, possuem juros, isso que significa que se não forem pagas logo, podem se acumular e causar grandes transtornos em longo prazo. E o mais interessante, é que muitas vezes reclamamos de nosso trabalho, achando-o repetitivo e sem sentido, mas não nos damos conta de que temos uma boa parcela de culpa. Criamos os meios para que a dificuldade experimentada no cotidiano seja alimentada permanentemente. Como Sísifo, tentamos remendar o sistema, adiar ao máximo a escrita de testes, nos esforçar para que “um trabalho” (sem objetivo claro) seja realizado em prol do software, para no final, tudo parecer retornar à estaca zero.

Se você, leitor, está dando os primeiros passos como desenvolvedor, atente-se para uma grande notícia: Tens todas as ferramentas necessárias para trilhar um caminho completamente diferente. Como? Darei algumas dicas a seguir:

  • Procure participar ativamente de comunidades de desenvolvedores que tenham a ver com as tecnologias que você deseja estudar. Isso lhe trará não só o benefício de trocar boas experiências na prática de desenvolvimento de software como também, e talvez mais importante, observar quais são os erros mais comuns e quais as soluções dadas. O importante, claro, é sempre manter um olhar crítico sobre tudo que você apreende de uma comunidade, aprendendo gradativamente a separar o bom do mau conteúdo.
    • Existem inúmeros livros que tratam sobre boas práticas de desenvolvimento de software. É importante tentar extrair de desenvolvedores mais experientes quais livros eles leem para aprimorar suas técnicas. Isso não é difícil, bastando em muitos dos casos navegar pelos blogs técnicos existentes.
    • Participar de grupos de estudo, como por exemplo, no formato “Coding Dojo” certamente será muito enriquecedor para ampliar as técnicas de programação. Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se descontraírem, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.


Termino aqui, esperando que o Mito de Sísifo tenha lhe despertado o interesse pela busca incessante pela excelência que nós, desenvolvedores de software, devemos objetivar cada vez que repousamos nossas mãos em cima do teclado. Codifique sempre de forma limpa, evite criar “pedras” que serão carregadas repetidamente em um trabalho sem sentido.

Reverberando



Comentários (14) -

08/08/2011 21:09:48 #

Yan Borowski Machado

Fala Leandrão!

Muito bom o post!

Quer uma dica? Seria muito interessante ter este tipo de conteúdo na .NET Magazine!

Devs não são feitos só de técnica.. o espírito crítico e outras coisas tbm fazem parte da nossa formação como pessoas.. e isso falta muito na nossa área, onde as pessoas só querem saber de Código, salário, tv, videogame, computador novo e etc.

Como diz o slogan: Keep walking

;)

Yan Borowski Machado | Reply

08/08/2011 22:02:53 #

ldaniel

Fala Yanzão!

Vou contar um segredo, que fique só entre nós: Esse texto foi enviado pra Easy .net Magazine, mas acharam que não tinha muito a ver com a revista. Então publiquei aqui mesmo. Tong

Abração!

Leandro Daniel

ldaniel | Reply

08/08/2011 23:48:40 #

Elemar Jr.

Grande Leandro,

Excelente texto. Muito bem escrito. Aliás, com uma precisão de grafia e estilo que me deixaram com um "cadin" de inveja.

Parabéns!

Elemar Jr

Elemar Jr. | Reply

09/08/2011 07:29:55 #

ldaniel

Wow, muito honrado com o comentário! Obrigado mesmo!

Abraços,

Leandro Daniel

ldaniel | Reply

09/08/2011 00:20:16 #

Alexandre Liodoro

Leandro,

Parabéns pelo post e pelo blog em geral. Realmente no mundo de TI hoje está carente desse olhar mais humano. A corrida pela atualização constante e uma certa ditadura do experimentar tudo logo, acaba cegando um pouco principalmente os menos experiêntes ainda não calejados. Todo mundo se desespera pra estudar tudo, conhecer tudo e acabam perdendo horas a fio pra se tornar um expert em algo que nem sabe pra que vai usar.

Precisamos parar, respirar e refletir mais sobre o que somos e o que queremos ser..

Valeu pela luz..

Abraços
@aliodoro

Alexandre Liodoro | Reply

09/08/2011 07:32:18 #

ldaniel

É verdade Alexandre, você disse tudo: "parar, respirar e refletir". Sempre!

Abraços,

Leandro Daniel

ldaniel | Reply

09/08/2011 00:32:33 #

Rodrigo Vidal

Excelente post Leandro! Laughing

Rodrigo Vidal | Reply

09/08/2011 07:14:40 #

João Paulo

Parabéns pelo post

Abraços

JP

João Paulo | Reply

09/08/2011 07:55:01 #

Cássio Rogério Eskelsen

Leandro,

Apenas um comentário off-topic-xarope de um ex Técnico em Contabilidade.

O termo debt traduzido para o português vira "dívida". Para ser débito deveria ser "debit". Contabilmente também, um débito nunca é uma dívida, e sim um Bem ou um Direito.

No mais, bom artigo!

Bração,

Cássio Rogério Eskelsen | Reply

10/08/2011 20:58:39 #

Douglas

O "Mito de Sísifo" é uma das obras mais proeminentes de Albert Camus. O absurdo *existencial* costuma permear o cerne de todas as obras dele. No entanto, não percebo uma relação estreita do conteúdo da obra com o exposto no artigo.

Logo no início da obra, o autor afirma (não me lembro ao certo) que "a questão fundamental da Filosofia é se a vida deve ser vivida". Sobre esta questão que ele discorre por todo o livro. Como respaldo, ele se utiliza da análise da obra de escritores, das conclusões - pra ele contraditórias - de filósofos e de suas próprias experiências. Enfim, é uma análise da condição humana e como se comportar frente ao absurdo.

O mito é descrito na última parte da obra, com o propósito de ilustrar as ideias precedentes do autor.

Vale lembrar que uma tarefa - ou ação, segundo Camus, é considerada absurda por um indivíduo quando este se torna autoconsciente do que faz e do propósito que ela inspira nele. Assim, somente o indivíduo, livre por natureza (Sartre), pode considerar o que faz algo absurdo ou não e, em âmbito maior, se existe sentido em sua existência.

Douglas | Reply

11/08/2011 00:15:18 #

ldaniel

Douglas,

Obrigado pelas considerações, que enriqueceram o post, revelando novas perspectivas de análise sobre o assunto.

Abraços,

Leandro Daniel

ldaniel | Reply

10/08/2011 23:53:18 #

Fábio Almeida

Artigo maravilhoso! Trabalho com desenvolvimento de softwares e sei exatamente como tudo isso acontece e infelizmente as empresas de softwares sempre visam lucros rápidos sem pensar no custo de manutenção do software. O resultado é prejuízo!

Abraço à todos,
Fabio Almeida.

Fábio Almeida | Reply

11/08/2011 00:17:50 #

ldaniel

@rodrigo, @joão, @cássio e @fábio: obrigado mesmo! Smile

Abraços,

Leandro Daniel

ldaniel | Reply

16/08/2011 10:14:04 #

@denisferrari

Oi Leandro,

Analogia excelente. Parabéns!

Abraços!

@denisferrari | Reply

Comentar

biuquote
  • Comentário
  • Pré-visualização
Loading