Lucas Oliveira
Sep 20, 2018 · 4 min read

4 Coisas que aprendi com Poker e aplico como desenvolvedor de software


1 - Simplicidade:

No desenvolvimento de software, muitas vezes vejo que uma solução simples costuma ser a melhor, mas queremos estar na “hype” e usar aquele novo framework ou um novo paradigma que quase ninguém usa. Não quero invalidar essas opções, mas acredito que são ferramentas as quais podem ser usadas em alguns cenários diferentes, como quando focamos em aprender algo novo ou quando uma solução mais simples não for a melhor opção. Isso tanto no jogo quanto no desenvolvimento.

Às vezes as coisas são o que apenas parecem ser, sem nada demais.

Charles Bukowski


2 - Use a lógica:

Muitas vezes, durante o desenvolvimento de uma feature, ou em um throubleshooting, ficamos travados numa situação parecida com o começo de uma mão de Poker: temos uma infinidade de possibilidades de execução, e por muitas vezes nos perdemos em nossos pensamentos -(é incrível a quantidade de tempo que podemos desperdiçar nessas situações). Usando a técnica de eliminação, vamos cortando as possíveis causas até sobrar um cenário muito mais fácil de ser entendido. Pode parecer óbvio o que eu estou falando, mas quando nos deparamos com uma situação complexa e crítica, esquecemos de usar ferramentas tão elementares.


3 - Princípio é mais importante que técnica:

A mesma coisa acontece no desenvolvimento de software. Se você usar técnicas, como o Design Patterns (Builder, Singleton, Factory), e não souber o princípio que está atrelado, primeiro que você pode aplicá-las nos momentos desapropriados e que não fazem sentido o uso, segundo que ainda que você use num momento certo, pode implementar de maneira errada. Por isso que na programação é mais importante focar em princípios claros como, por exemplo, SOLID, DRY e DDD.


4 - Longo Prazo:

Se eu jogar um cara ou coroa com você valendo R$ 1,10 cada vez que você ganhar e R$ 1,00 cada vez que eu ganhar, pode acontecer de em dez rodadas eu ganhar R$ 10,00. Porém se jogarmos 10.000 vezes, com certeza você vai sair ganhando.

Acho que não preciso fazer nenhuma analogia com TI nesse ponto, é evidente que se nós desenvolvedores não pensarmos no futuro da nossa aplicação, além de deixarmos ela rígida e frágil a mudanças de negócio, vamos sofrer muito com o retrabalho por, simplesmente, sair codando sem pensar em acoplamento, complexidade, escalabilidade e coisas que só vão te dar problema quando o volume de features novas ou de usuários novos for algo que você não planejou.


A idéia desse post é trazer experiência que ganhei no poker para o desenvolvimento de software e mostrar que podemos fazer relações e analogias com qualquer coisa pois, quando você se dedica a algo, com certeza isso te faz evoluir como pessoa e é possível aplicar em outras áreas da sua vida.

E você? tem alguma experiência que te ajuda no dia a dia? comenta ai :)

bionexo

Agile Culture, Software Development, Innovation and Health

Thanks to Yan Laguna, Jessica Chaves, and Gabriel Lett Viviani.

Lucas Oliveira

Written by

bionexo

bionexo

Agile Culture, Software Development, Innovation and Health