Engenharia de software
A primeira versão é a parte barata.
Software caro não é o que custa para construir. É o que custa para mudar depois, e quase todo projeto é orçado como se as duas coisas fossem a mesma.
O problema
Projetos não fracassam por falta de código.
Fracassam porque, dois anos depois, ninguém sabe por que uma decisão foi tomada. O código está lá, legível, e ainda assim indiscutível: não dá para revisitar uma escolha cujo motivo não foi registrado.
Aí cada mudança vira arqueologia, o prazo infla sem causa aparente, e a conclusão fácil é que o time é lento. Não é. É que ele está decidindo de novo o que já tinha sido decidido.
A diferença
Produzir código e fazer engenharia não são a mesma profissão.
A distinção aparece em coisas concretas:
- Produção entrega o que foi pedido. Engenharia pergunta o que o pedido está tentando resolver, e às vezes o escopo encolhe
- Produção mede entrega por funcionalidade pronta. Engenharia mede por funcionalidade que continua de pé seis meses depois
- Produção trata operação como fase posterior. Engenharia trata como requisito com prazo
- Produção registra o que foi feito. Engenharia registra por que, e o que foi descartado no caminho
- Produção cresce somando gente. Engenharia cresce reduzindo o que precisa ser coordenado
Senioridade aparece no que NÃO é construído. É a parte do trabalho que nenhum orçamento por hora consegue cobrar, e a que mais economiza.
Como trabalhamos
O que fazemos que muda o custo de mudar.
Nada disso é metodologia proprietária. É o que dá para verificar depois:
- 01Decisão de arquitetura tem registro: o que se escolheu, contra o quê, e o que faria mudar de ideia
- 02Modo de falha é nomeado antes de existir, e virado teste
- 03O sistema diz quando está ruim, em vez de esperar alguém reclamar
- 04Dependência externa fica isolada atrás de uma fronteira que você consegue apontar
- 05Quem construiu opera. Entrega sem operação é transferência de dívida
Essas cinco custam tempo na primeira versão e devolvem em cada mudança depois dela. É a troca que a palavra engenharia descreve.
Produto novo, API, backend, aplicativo. Construído para durar depois que a gente sai.
A lista abaixo é o que sai daqui. O que muda em relação a uma fábrica de software não é o que construímos: é quem responde pela arquitetura, e o que acontece com o sistema no terceiro ano.
Produto digital do zero
Da primeira versão utilizável até a operação contínua. Descoberta, arquitetura, construção e o que sustenta depois, com a mesma gente do começo ao fim.
Quando a ideia precisa existir em produção, não em protótipo
API e integração
APIs que outros times consomem, e integração entre sistemas que não foram feitos para conversar. Contrato versionado, erro que diz o que aconteceu, e conciliação entre as duas pontas.
Quando dois sistemas precisam concordar sobre o mesmo número
Backend e serviços
Serviços em nuvem que aguentam pico sem provisionamento manual, com infraestrutura como código, observabilidade e custo proporcional ao uso real.
Quando o volume cresce e o custo cresce mais rápido
Aplicativo e web app
Interface que funciona no aparelho que o seu público tem, inclusive com rede ruim. Já construímos app que roda sem internet e sincroniza quando ela volta.
Quando o uso acontece fora da mesa de trabalho
Modernização de legado
Trocar o motor com o carro andando: a operação não para, e o sistema velho sai por partes, com cada parte conferida no destino antes da próxima.
Quando reescrever do zero é a resposta que já falhou uma vez
Dados e camada de decisão
O caminho do evento até a decisão: captura, modelo, e a ação automática na ponta. Com o número do painel batendo com a fonte, que é a parte que costuma faltar.
Quando a diretoria não confia no próprio relatório
Se o que você precisa não está nesta lista, a conversa de trinta minutos resolve em menos tempo do que levaria para escrever um escopo.
Projeto não fracassa por falta de código.
Fracassa por decisão que ninguém registrou, e que seis meses depois ninguém consegue reconstituir.
A decisão
Quando faz sentido nos chamar.
Faz sentido quando
- O sistema é crítico para a operação e falhar tem custo nomeável
- Existe um time, e ele está preso em manutenção em vez de avançar
- A plataforma precisa durar anos e passar por várias mãos
- Já houve uma tentativa que não se sustentou, e ninguém sabe exatamente por quê
Não faz sentido quando
- O que se quer é validar uma hipótese rápido e jogar fora depois
- O problema é de produto e ainda não virou problema técnico
- A expectativa é preço de fábrica de software com responsabilidade de engenharia
Nos dois primeiros casos, a resposta honesta costuma ser alguém mais barato que nós. Dizemos isso na primeira conversa, não na terceira.
O que perguntam na primeira conversa
- Quanto custa contratar uma empresa de engenharia de software?
- Depende do que está sendo comprado, e a pergunta mais útil é outra: quanto custa hoje a ausência disso. Projeto fechado com escopo rígido costuma sair mais caro no total, porque toda mudança vira aditivo e toda estimativa carrega gordura contra o risco. Trabalhamos com capacidade contratada e escopo revisitado, o que torna o custo previsível sem fingir que o escopo é.
- Quanto tempo leva?
- A primeira coisa em produção costuma levar semanas, e isso é deliberado: sistema que só aparece no fim esconde o que estava errado até ficar caro consertar. O que leva meses é a operação ficar estável sob carga real, que é uma fase que raramente entra em cronograma e sempre acontece.
- Já temos time. Vocês substituem ou somam?
- Somamos, e a melhor configuração é quando o seu time continua dono do produto. Entramos onde falta capacidade ou senioridade específica, e a referência de arquitetura é combinada, não imposta. Substituir time interno raramente resolve: o conhecimento que se perde custa mais do que a capacidade que entra.
- Vocês trabalham com qual stack?
- A que a operação já tem, quando ela se sustenta. Operamos principalmente TypeScript, Python, PHP com Drupal, e AWS serverless; mas trocar stack é a decisão mais cara de um projeto e quase nunca é a causa do problema. Quando recomendamos trocar, vem com o motivo e com o custo da troca na mesma frase.
- O código é nosso?
- É, inteiro, incluindo infraestrutura como código e a documentação de decisão. Operamos no seu repositório e na sua conta de nuvem sempre que possível. Engenharia que só funciona enquanto o fornecedor está presente não é entrega, é dependência.
Prazo curto não é promessa aqui. É histórico.
- 104
- jogos com scoring em tempo real
- 38
- dias do primeiro commit ao primeiro QR em produção
- 203
- perfis com risco classificado, com intervenção automática
Números de ventures do próprio grupo, construídas e operadas pela Code and Soul. Podemos nomeá-las porque são nossas.
Onde isto já rodou
A oferta acima tem prova, e ela tem endereço.
Conte o que precisa ser construído.
Produto novo, sistema que já existe e precisa aguentar mais, ou uma decisão técnica que ninguém de dentro consegue tomar sozinho.
Engenharia não é decoração. É direção.


