Código é a abstração viva de um problema real, e na prática, o problema do cliente nunca é estático, ele evolui, ganha novos contextos, muda de requisitos. Por isso, a evolução do software não é só esperada, mas necessária. O código precisa ser tratado como ativo central porque é ele que viabiliza automação, escala e facilitação. Justamente as motivações originais para a sua existência.
Sem um software bem construído, não há como garantir que essas evoluções aconteçam de forma sustentável, segura e eficiente. O código, nesse cenário, é sim o meio, mas é também parte do fim, pois materializa a solução e permite que ela acompanhe a dinâmica do mundo real.
Seu exemplo com jogos e mídias físicas faz sentido no século passado, como na metodologia em cascata, em que tudo é definido no início e nada muda até a entrega final.
Mas eu não consigo enxergar um exemplo que se encaixe nesse formato nos dias de hoje no desenvolvimento de software.
Ter um produto onde não há adições, correções, ou até mesmo possibilidade de pivotar para continuar relevante no mercado é uma criação com sentença de morte já definida (e uma vida curta, diga-se de passagem).
Criar software não é como fazer um pastel, que depois de pronto será consumido e nunca mais será mencionado.
Segurança, evolução, manutenção e até mesmo substituição de funcionalidades fazem parte da natureza viva do software. Se, ao finalizar seu produto, você descobrir que ao trocar uma parte do sistema por uma nova tecnologia você ganha 50% mais eficiência e reduz o custo em 30%, por que não faria isso? Qual o sentido de ignorar essa melhoria?
Entendo sua crítica, e acho que, em parte, estamos falando de coisas diferentes com as mesmas palavras. Quando digo que o código é o "fim", não me refiro à ideia de um software feito apenas para sustentar um modelo de negócio artificial, como os que se alimentam de engajamento infinito ou dependência contínua do usuário.
Minha perspectiva é que, em negócios digitais, o código se torna parte do fim porque ele é a materialização contínua da solução. Ele não é só o meio que conecta a ideia ao usuário, ele é o próprio veículo de valor, pois carrega lógica, regras, fluxos, integrações e aprendizados acumulados. Um código bem feito não é um artefato isolado, é um ativo vivo e estratégico.
Em outras palavras, não estou romantizando o código como fim em si, mas defendendo que ele deve ser tratado com o mesmo grau de seriedade e responsabilidade que qualquer parte essencial de um produto digital. O problema não está em reconhecer o código como central, mas em usá-lo para sustentar produtos vazios de propósito.