Precisamos aceitar uma verdade: toda empresa é bagunçada e todo app teu seus esqueletos. 💀

Você não acha que Google, Apple, Meta e outras gigantes por aí tem alguns esqueletos em seus armários de desenvolvimento? Tem sim. Todo projeto inicia com arco-íris e raios de sol e acabam sendo sustentados por palitinhos e vários remendos (gambiarras, melhor dizendo) - os requisitos mudam, os prazos ficam mais curtos, as pessoas saem e a documentação fica desatualizada. Há uma porrada de coisas que mudam durante o desenvolvimento de qualquer software.

E todo mundo na TI sabe desse pequeno segredinho.

Sempre que alguma grande empresa realiza um lançamento, você pode pensar que eles tem tudo planejado e lançam apps/produtos devidamente testados e sem bugs e em um prazo considerável. São os tops dos tops do desenvolvimento de software e deveríamos ter como inspiração ser esses caras.

Mas pode apostar que há uma equipe correndo por aí com a bunda literalmente pegando fogo e apagando incêndios durante a apresentação de um novo produto da Apple, por exemplo.

Cada equipe tem seus problemas, cada lançamento é imperfeito, cada produto está cheio de bugs desconhecidos. É assim que o mundo da TI é. Aquela empresa que tu pensa que é imperfeita e que tu até se considera não-suficiente pra aplicar pra uma vaga provavelmente tem problemas pra manter seus apps rodando. TODO app tem seus esqueletos e que apenas eles sabem.

Tu não precisa sair por aí comentando com as pessoas que tua automação consiste em alguns scripts que são executados manualmente ou que teu produto quebra se algumas condições estranhas acontecerem. Mas sempre há alguma coisa. 😂

Mas ter bagunça também é, de certa forma, sinônimo de eficiência. Os processos, produtos ou apps iniciados em empresas bagunçadas, embora não sejam perfeitos, funcionam sem problemas, contornando e adaptando-se à burocracia à medida que o app/produto cresce. Não tem problema criar atalhos pra focar nas coisas que importam; não ter tudo em ordem também está OK; voltar pra refazer algumas partes do software também está OK. Contanto que o público não saiba quantos incêndios tu apaga por semana...

Quem se importa se tua implantação automática falhar e tu precisar fazer isso manualmente? Faça manualmente e concentre-se em consertar o mais crítico.

Os usuários só querem saber que suas necessidades sejam atendidas. Eles não se importam se tu faz isso em um cluster de Kubernetes ou usando duas torradeiras 😂

Como disse Paul Graham: do things that don't scale first, and improve later. 🚀