A importância de contar uma história

O Sérgio Veiga, criador do MapMyName, fez uma apresentação no takeoff em que falou da importância de contar uma história. Ele deu o seu próprio exemplo do MapMyName que, apesar de não ter passado de uma experimentação, teve bastante cobertura mediática porque conta uma história. O ser humano adora histórias, e tem uma tendência irresistível para as (re)contar vezes, sem fim, a todos os seus amigos. (mais info sobre o projecto)

Fora dos círculos geek, o software raramente se presta a boas histórias. As histórias ligadas ao software têm mais a ver com feitos tecnológicos (”o twitter é a prova de que o RoR não escala!“, etc.) do que propriamente com aquilo que caracteriza uma boa história: personagens com as quais nos identificamos, emoções, comunicação entre pessoas…Ainda que alguns dos leitores deste blog gostassem mais de discutir porque é que o twitter não escala, se eu estiver num jantar com pessoas “não-informáticas” tenho bastante mais sucesso se falar do MapMayName.

Um primeiro passo para uma aplicação se transformar numa história é proporcionar uma experiência. Já falei nisto noutro post – não basta o software resolver um problema, o software tem que proporcionar bem estar à pessoa que o usa, tem que lhe provocar emoções. As pessoas gostam de falar de experiências, sejam elas o fim de semana de canyoning no Gerês, o restaurante onde nós é que pomos a mesa ou a peça de teatro onde não há cadeiras para nos sentarmos. São estas experiências que criam as histórias. E as boas histórias passam de boca em boca muito mais rapidamente que qualquer campanha “viral” engendrada por um guru do marketing.

Por outro lado, há software que daria excelentes histórias mas como o seu autor não tem a capacidade de as comunicar de forma interessante, a coisa fica pelo caminho. Por natureza, os programadores não costumam ser bons comunicadores. Estão habituados a comunicar numa linguagem formal, desprovida de sentimentos, com uma máquina. De facto, as faculdades incentivam o “desaparecer 3 dias numa cave em frente a um terminal, para aparecer triunfante com o projecto acabado!“. A atitude reinante é: Um bom programador faz bons programas, e para fazer bons programas não precisa de saber comunicar. Eu pensei assim muito tempo, e como sou uma pessoa tímida por natureza, andei bastante consolado com esta ideia. E iludido.

Recentemente tenho-me apercebido que um bom programador sabe programar bem, mas um excelente programador sabe programar bem e comunicar bem aquilo que programou. Por exemplo, este post considera que aprender a comunicar é o passo mais importante na carreira de um programador. Eu acrescento que aprender a comunicar é aprender a contar histórias. Quer seja a documentar um programa, a fazer uma apresentação ou a escrever num blog, a comunicação deve ir além da simples exposição de factos (expôr factos não é quase programar??). Porque não juntar a essa exposição uma pitada pessoal, uma experiência, uma piada, um exemplo, uma ligação surpreendente, uma reviravolta digna de um filme do David Fincher?…