The Infinite Software Crisis – Jake Nations, Netflix

por AI Engineer

Inglês · Intermediário · 18:56 · 933 palavras únicas

In 1968, the term ""Software Crisis"" emerged when systems grew beyond what developers could manage. Every generation since has ""solved"" it with more powerful tools, only to create even bigger problems. Today, AI accelerates the pattern into the Infinite Software Crisis. AI-generated codebases mirror the meandering conversations that created them. Every clarification and pivot gets baked into your architecture. We're vibecoding our way to disaster. The solution: choose simple over easy. One

Letra e tradução

Cada verso em Inglês seguido da tradução em português.

[music]

[música]

Hey everyone, good afternoon. Um, I'm

Olá pessoal, boa tarde. Hum, vou

going to start my talk with a bit of a

começar minha palestra com uma

confession. Uh, I've shipped code I

confissão. Uh, eu enviei código que

didn't quite understand. Generated it,

eu não entendi bem. Gerei,

tested it, deployed it. Couldn't explain

testei, fiz deploy. Não conseguia explicar

how it worked. And here's the thing,

como funcionava. E aqui está a coisa,

though. I'm willing to bet every one of

porém. Eu aposto que cada um de

you have, too. [applause]

vocês também já fez. [aplausos]

So, now I'm going to admit that we all

Então, agora vou admitir que todos nós

ship code that we don't understand

enviamos código que não entendemos

anymore. I want to take a bit of a

mais. Quero fazer uma

journey, see how this kind of has come

jornada, ver como isso meio que veio

to be. First, look back in history. We

a ser. Primeiro, olhar pra trás na história.

see that history tends to repeat itself.

Vemos que a história tende a se repetir.

Second, we've fallen into a bit of a

Segundo, caímos em uma

trap. We've confused easy with simple.

armadilha. Confundimos fácil com simples.

Lastly, there is a fix, but it requires

Por último, há uma solução, mas requer

us not to outsource our thinking.

que não terceirizemos nosso pensamento.

So, I spent the last few years at

Então, passei os últimos anos na

Netflix helping drive adoption of AI

Netflix ajudando a impulsionar a adoção de ferramentas

tools, and I have to say the

de IA, e tenho que dizer que a

acceleration is absolutely real. Backlog

aceleração é absolutamente real. Itens de backlog

items that used to take days now take

que costumavam levar dias agora levam

hours, and large refactors that have

horas, e grandes refatorações que estavam

been on the books for years are finally

nos livros há anos finalmente

being done. Here's the thing, though.

estão sendo feitas. Aqui está a coisa, porém.

Large production systems always fail in

Grandes sistemas de produção sempre falham de

unexpected ways. Like, look what

formas inesperadas. Tipo, veja o que

happened with CloudFare recently. When

aconteceu com a CloudFare recentemente. Quando

they do, you better understand the code

isso acontece, é melhor você entender o código

you're debugging. And the problem is now

que está debugando. E o problema é que agora

we're generating code at such speed and

estamos gerando código em tal velocidade e

such volume our understanding is having

tal volume que nosso entendimento está tendo

a hard time keeping up.

dificuldade de acompanhar.

Hell, I know I've done it myself. I've

Caramba, sei que eu mesmo fiz isso. Eu

generated a bunch of code, looked at it,

gerei um monte de código, olhei pra ele,

thought, I have no idea how this what

pensei, não tenho ideia de como isso o que

this does. But, you know, the test pass,

isso faz. Mas, sabe, os testes passam,

it works. So, I shipped it. The thing

funciona. Então, enviei. A coisa

here is this isn't really new. Every

aqui é que isso não é realmente novo. Toda

generation of software engineers has

geração de engenheiros de software

eventually hit a wall where software

eventualmente bateu numa parede onde a complexidade

complexity has exceeded their ability to

do software excedeu sua habilidade de

manage it. We're not the fa first to

gerenciá-lo. Não somos os primeiros a

face a software crisis. were the first

enfrentar uma crise de software. Fomos os primeiros

to face it at this infinite scale of

a enfrentar nessa escala infinita de

generation. So let's take a step back to

geração. Então vamos dar um passo atrás para

see where this all started.

ver onde tudo isso começou.

In the late 60s, early '7s, a bunch of

No final dos anos 60, início dos 70, um monte de

smart computer scientists at the time

cientistas da computação inteligentes da época

came together and said, "Hey, we're in a

se reuniram e disseram, "Ei, estamos numa

software crisis. We have this huge

crise de software. Temos essa enorme

demand for software and yet we're not

demanda por software e ainda assim não estamos

really able to keep up and like projects

realmente conseguindo acompanhar e tipo projetos

are taking too long and it's just really

estão levando muito tempo e é apenas realmente

slow. We're not doing a good job."

lento. Não estamos fazendo um bom trabalho."

So Dystra Kano came up with a really

Então Dijkstra Kano veio com uma

great quote and he said when we had a

ótima citação e disse quando tínhamos

few weak computers and I mean to

alguns poucos computadores fracos e quero

paraphrase a longer quote when we had a

parafrasear uma citação maior quando tínhamos

few weak computers programming was a

alguns poucos computadores fracos programar era um

mild problem and now we have gigantic

problema leve e agora temos computadores

computers programming has become a

gigantes programar se tornou um

gigantic problem. He was explaining as

problema gigante. Ele estava explicando que conforme

hardware power grew by a factor of a

o poder do hardware cresceu por um fator de

thousand society's wants of software

mil, os desejos da sociedade por software

grew in proportion and so it left us the

cresceram em proporção e então sobrou para nós

programmers to figure out between the

programadores descobrir entre as

ways and the means how do we support

formas e os meios como suportamos

this much more software.

tanto mais software.

So this kind of keeps happening in a

Então isso meio que continua acontecendo num

cycle. In the 70s we get the C

ciclo. Nos anos 70 temos a linguagem de

programming language so we could write

programação C para podermos escrever

bigger systems. The 80s we have personal

sistemas maiores. Os anos 80 temos computadores

computers. Now everyone can write

pessoais. Agora todo mundo pode escrever

software. In the '9s we get

software. Nos anos 90 temos

object-oriented programming inheritance

programação orientada a objetos, hierarquias de

hierarchies from hell where you know

herança do inferno onde sabe

thanks Java for that. In the 2000s we

obrigado Java por isso. Nos anos 2000

get agile and we sprints and scrum

temos ágil e temos sprints e scrum

masters telling us what to do. There's

masters dizendo o que fazer. Não há

no more waterfall. In the 2010s we had

mais cascata. Nos anos 2010 tivemos

cloud mobile devops you know everything.

nuvem, mobile, devops sabe, tudo.

Software truly ate the world.

Software realmente comeu o mundo.

And today now we have AI. you know,

E hoje agora temos IA. sabe,

co-pilot, cursor, claude, codeex,

gemini, you name it. We could generate

gemini, você nomeia. Podemos gerar

code as fast as we can describe it. The

código tão rápido quanto podemos descrevê-lo. O

pattern continues, but the stale has

padrão continua, mas a escala

really changed. It's it's infinite now.

realmente mudou. É é infinita agora.

So, uh, Fred Brooks, you might know him

Então, uh, Fred Brooks, você pode conhecê-lo

from writing the mythical man month. He

por escrever o mythical man month. Ele

also wrote a paper in 1986 called No

também escreveu um paper em 1986 chamado No

Silver Bullet. And in this, he argued

Silver Bullet. E nele, argumentou

that there'd be no single innovation

que não haveria uma única inovação

that would give us an order of magnitude

que nos daria uma ordem de magnitude

improvement in software productivity.

de melhoria em produtividade de software.

Why? Because he said the hard part

Por quê? Porque ele disse que a parte difícil

wasn't ever the mechanics of coding. the

nunca foram as mecânicas de codificação. A

syntax, the typing, the boilerplate. It

sintaxe, a digitação, o boilerplate. Era

was about understanding the actual

sobre entender o problema

problem and designing the solution. And

real e projetar a solução. E

no tool can eliminate that fundamental

nenhuma ferramenta pode eliminar essa dificuldade

difficulty. Every tool and technique

fundamental. Toda ferramenta e técnica

we've created up to this point makes the

que criamos até este ponto torna as

mechanics easier. The core challenge

mecânicas mais fáceis. O desafio central

though, understanding what to build, how

porém, entender o que construir, como

it should work remains just as hard.

deveria funcionar, permanece tão difícil.

So, if the problem isn't in the

Então, se o problema não está nas

mechanics, why do we keep optimizing for

mecânicas, por que continuamos otimizando para

it? How do experienced engineers end up

isso? Como engenheiros experientes acabam

with code they don't understand? Now,

com código que não entendem? Agora,

the answer, I think, comes down to two

a resposta, eu acho, se resume a duas

words we tend to confuse. simple and

palavras que tendemos a confundir. simples e

easy. We tend to use them

fácil. Tendemos a usá-las

interchangeably, but they really mean

intercambiavelmente, mas realmente significam

completely different things. Uh I was

coisas completamente diferentes. Uh fui

outed at the speaker dinner as being a

denunciado no jantar dos palestrantes como sendo um

closure guy, so this is kind of clear

cara de closure, então isso é meio claro

here. But Rich Hickey, the creator of

aqui. Mas Rich Hickey, o criador da

the closure programming language,

linguagem de programação closure,

explained this in his talk from 2011

explicou isso em sua palestra de 2011

called simple made easy. He defined

chamada simple made easy. Ele definiu

simple meaning one fold, one braid, and

simples significando uma dobra, uma trança, e

no entanglement. Each piece does one

nenhum emaranhado. Cada peça faz uma

thing and doesn't intertwine with

coisa e não se entrelaça com

others. He defines easy as meaning

outras. Ele define fácil como significando

adjacent. What's within reach? What can

adjacente. O que está ao alcance? O que pode

you access without effort? Copy paste

ser acessado sem esforço? Copiar colar

ship. Simple is about structure. Easy is

enviar. Simples é sobre estrutura. Fácil é

about proximity.

sobre proximidade.

The thing is we can't make something

A coisa é que não podemos tornar algo

simple by wishing it. So simplicity

simples desejando. Então simplicidade

requires thought, design and untangling.

requer pensamento, design e desemaranhar.

But we can always make something easier.

Mas sempre podemos tornar algo mais fácil.

You just put it closer. Install a

Você só coloca mais perto. Instala um

package, generate it with AI, you know,

pacote, gera com IA, sabe,

copy a solution off of Stack Overflow.

copia uma solução do Stack Overflow.

It's it's human nature to take the easy

É é da natureza humana pegar o caminho

path. We're wired for it. You know, as I

fácil. Estamos programados para isso. Sabe, como

said, copy something from Stack

eu disse, copiar algo do Stack

Overflow. It's right there. framework

Overflow. Está logo ali. Framework

that handles everything for you with

que lida com tudo pra você com

magic. Install and go. But easy doesn't

mágica. Instale e vá. Mas fácil não

mean simple. Easy means you can add to

significa simples. Fácil significa que você pode adicionar

your system quickly. Simple means you

ao seu sistema rapidamente. Simples significa que você

can understand the work that you've

pode entender o trabalho que

done. Every time we choose easy, we're

fez. Toda vez que escolhemos fácil, estamos

choosing speed now. Complexity later.

escolhendo velocidade agora. Complexidade depois.

And honestly,

E honestamente,

that trade-off really used to work. The

essa troca costumava funcionar. A

complexity accumulated in our codebases

complexidade acumulada em nossas bases de código

slowly enough that we can refactor,

lentamente o suficiente para podermos refatorar,

rethink, and rebuild when needed. I

repensar e reconstruir quando necessário. Eu

think AI has destroyed that balance

acho que a IA destruiu esse equilíbrio

because it's the ultimate easy bun. And

porque é a ferramenta de facilidade definitiva. E

it makes the easy path so frictionless

torna o caminho fácil tão sem atrito

that we don't even consider the simple

que nem consideramos mais o simples.

one anymore. Why think about

Por que pensar em

Vocabulário (933 palavras)

aabandonedabilityableaboutabsolutelyabstractionabstractionsaccelerateaccelerationaccessaccidentalaccumulatedaccumulatingacrossactingactualactuallyaddaddedaddingaddsadjacentadjustingadmitadoptionaffectaffectingafternoonagainstagentagileagoaheadallalongalreadyalsoalternativealwaysamountananalysisanalyzeanalyzedandanotheransweranyanymoreanythingappappearsapplauseapproachapproachesarchitecturalarchitectureareargued

Estude com a lição completa

Crie uma conta grátis e ganhe 15 novas palavras por dia.

Criar conta grátis