HomeVideos

Kubernetes and retiring at the top with Kelsey Hightower

Now Playing

Kubernetes and retiring at the top with Kelsey Hightower

Transcript

5087 segments

0:00

What do you think really made Kubernetes

0:02

breakthrough?

0:03

>> The number one success criteria was

0:05

Docker. Now instead of talking about

0:06

Java versus Python versus Ruby, you only

0:09

have to talk about scheduling Docker

0:11

containers. We were already off to a

0:13

running start because you could just

0:14

reuse the same Docker containers. And I

0:16

remember I get this email from Satia,

0:18

the CEO of Microsoft, and I'm like, man,

0:20

he wrote this nice email and I open a

0:22

PDF and there's a zero get added to the

0:24

equation. And so you're looking at this

0:25

like, I didn't even know that they do

0:27

that. We know that it happens, but the

0:29

person that graduated from high school

0:31

in 1999 that chose the A+ certification

0:34

didn't know that was available. So, I

0:36

was serious about going to Microsoft.

0:38

I'm not just like a Genai hater. I just

0:40

don't like the naive promotion and

0:42

adoption of it. I think it should be way

0:44

strategic. And since I think about Genai

0:46

as a tool versus the great human

0:48

replacement, then I can use it in way

0:49

more primatic ways. And when AI is

0:52

involved, the one thing I just do before

0:54

the thing kicks off in this meeting, do

0:56

not say AI because

1:01

Kelsey High Tower is known as one of the

1:03

most influential voices in the

1:04

Kubernetes community, but you wouldn't

1:06

guess from how his career started. At

1:08

19, he dropped out of college to be a

1:10

DSL model installer, became a

1:12

self-taught developer, and still went on

1:14

to become a distinguished engineer at

1:15

Google. At age 43, he then retired at

1:18

the very top of the industry. Today we

1:20

cover Kelsey's unconventional path into

1:22

tech and how he kept creating new

1:24

opportunities for himself often

1:25

unknowingly. The inside story of the

1:27

container wars, puppet, Docker,

1:29

Terraform, Coros and how Kubernetes

1:32

eventually won. Going from a Google IC

1:34

to executive level and how he rejected a

1:36

Microsoft offer from Sachio Nadella

1:38

himself and still doubled his

1:40

compensation. His grounded on pragmatic

1:42

advice for software engineers worried

1:43

about being commoditized by AI and so

1:45

much more. If you're an engineer

1:47

thinking about your long-term career

1:48

trajectory, whether that's getting into

1:50

a staff plus level, going independent,

1:52

or even quietly planning to leave the

1:54

industry, this episode is for you. This

1:56

episode is longer than a normal episode,

1:58

frankly, because I was so glued to my

2:00

chair, mostly listening to Kelsey's

2:01

stories and thinking. This episode is

2:03

presented by Anticys. Verify your

2:06

systems correctness without human review

2:08

or traditional integration tests and

2:09

avoid bugs or outages. Before we start,

2:12

I'd like to mention our presenting

2:13

sponsor, Antithesis, and maybe offer a

2:16

little history lesson. Over the last two

2:17

decades, software development has gone

2:19

through a mindset shift from an

2:20

imperative approach to declarative one.

2:23

Infrastructure is a perfect example.

2:25

Think about how tools like Puppet and

2:27

Ansible allow declaring how individual

2:29

servers should be configured. Then came

2:31

Terraform, the ability to declare the

2:33

desired end state of your whole

2:35

infrastructure, servers, networks,

2:37

databases, and their relationships. And

2:40

then with Kubernetes, we stop scripting

2:42

container life cycles. Instead, we write

2:44

manifests that say things like, I want

2:46

the replicas of this application exposed

2:48

behind a surface with this much CPU and

2:50

memory. Once we didn't have to specify

2:52

every little detail of our

2:53

infrastructure anymore, deploying

2:55

software became much faster. But then

2:57

the bottleneck became how quickly we

2:59

could test and verify the code to be

3:01

deployed. Testing remained imperative.

3:03

We had to write tests for every little

3:05

detail. And now with LLMs, we're on the

3:07

verge of a declarative shift in the way

3:09

code is written as well. Just tell the

3:10

model what you want and let it figure

3:12

out the details, and it's going to make

3:14

the verification bottleneck a million

3:16

times worse. Anthesis is a declarative

3:18

testing tool that can keep up with your

3:20

AI coding agents. You state the

3:22

properties you want your software to

3:23

have, and antithesis figures out how to

3:25

check them for you. Verify your code as

3:27

fast as agents can write it and ship

3:29

with Growlin confidence. Head to

3:31

insys.com/pragmatic.

3:33

Kelsey, welcome to the podcast. It's so

3:35

nice to see you in person.

3:37

>> Yeah, I'm actually happy to be here

3:38

mainly because I kind of look at your

3:39

stuff over the years. So, it's honor to

3:41

be here in Amsterdam as well.

3:42

>> How did you make your first dollar at a

3:46

job?

3:47

>> Oh, my first dollar at a job McDonald's,

3:50

right? That counts. So, in high school,

3:53

you get the job that's closest to you.

3:54

So, it was in walking distance of my

3:56

house. As soon as I turned legal age, uh

3:59

14, get a work permit. And I went there

4:02

and it was one of those jobs where, you

4:03

know, you go, you fill out the

4:04

application the same day. You typically

4:06

get your information or you're going to

4:07

get hired the same day. When can you

4:09

start? I'm like, right now. They go get

4:11

a shirt for you in the back. You What

4:12

size do you wear? Uh, men's large. And

4:16

the one thing I liked about that job is

4:17

you're dealing with real people that are

4:19

in a hurry. I guess one bad part about

4:21

the job, you know, a lot of people don't

4:22

respect people who have that job. So,

4:24

they kind of look at you as just like

4:25

this intermediary thing between them and

4:27

what they want. But there's so many

4:29

things that go into a restaurant like

4:31

that. It's very efficient. Um, you know,

4:33

people have expectations. And I learned

4:35

how to run the whole store. So, by the

4:37

time I turned 15, I was a assistant

4:39

manager. So, nights and weekends, you

4:42

know, other managers would leave. They

4:43

would give this 15-year-old the keys.

4:45

And I knew how to do everything there,

4:47

including close out the store, right?

4:49

So, you have to count all the money. You

4:50

have to fax this huge spreadsheet to

4:53

corporate every night. And then my mom

4:54

would pick me up. And so it was really

4:57

good learning how to really be

4:59

responsible even for adults at that age.

5:00

So that's how I got my first dollar.

5:02

>> How did you get into tech? How did you

5:04

get into programming

5:05

>> in high school since I moved from

5:07

California to Atlanta? So right, you're

5:09

going from one side of the country to

5:10

another side of the country. And uh I

5:13

missed maybe 3 to 6 months of school and

5:16

in order to graduate on time, I had to

5:18

take some extra classes. And so as

5:20

someone who played sports, ran track, uh

5:22

played football, played basketball, and

5:24

it's like, you know, there's this

5:26

computer programming not, you know,

5:28

computer club, technology student

5:30

association. There was a class component

5:32

and then there was after school

5:33

component. And I was like, I don't know,

5:36

man. This computer stuff that's for the,

5:38

you know, you know, I'm trying to be a

5:39

cool kid. But the one thing I did, I

5:41

really enjoyed it, right? So I I had a

5:42

liking to AutoCAD. I even competed at

5:45

the state level in AutoCAD. So we we

5:47

drove down and you compete. They give

5:49

you a task and you sit in front of the

5:51

computer. It was my first year doing it,

5:53

but I really like the idea of like

5:54

taking a specification, designing it,

5:57

and I probably would have gotten first

5:59

place if I would have got the product to

6:00

work because you also have to print it

6:01

out so that the judges can review your

6:03

work. So I got second place even though

6:05

I didn't.

6:06

>> This is the 3D modeling.

6:07

>> Yeah. AutoCAD, you know, just AutoCAD.

6:08

Yeah. So part of the curriculum was, you

6:10

know, you build bridges. We did this

6:12

thing with um chapter team where you

6:14

know you have a code of arms and you're

6:16

kind of doing like a debate. Do you kind

6:18

of learn all of these things uh related

6:20

to business but CAD was one of the

6:22

things I like most? Also in that class

6:24

one of the classmates taught me TI

6:26

basic.

6:27

>> Is that a version of of basic?

6:28

>> Well so TI basic so you know the

6:30

graphing calculator it's like a TI86. Oh

6:32

yeah.

6:32

>> You can program it.

6:33

>> Oh

6:34

>> right. So in class they're like hey you

6:35

know it's not just a graphing calculator

6:37

you can actually program it. And I was

6:39

like what's that? And it's like look we

6:40

can you know every at that one at that

6:42

time you would create the snake game

6:44

right so it's basically get a magazine

6:46

copy and paste the code and then you run

6:48

it and now you're playing snake uh based

6:50

on the code you wrote and so you would

6:52

toy around with this concept so that was

6:54

probably the first introduction to

6:55

programming was literally programming my

6:58

my TI86 calculator

7:00

>> and after high school did you go to

7:02

college or you considered college right

7:04

>> I considered college because in Georgia

7:06

at the time and still today there's a

7:08

thing we're called the hope program. So

7:10

if you have a B average or above, you

7:12

can go to any public school for free.

7:14

And public schools in Georgia include

7:15

Georgia Tech, Georgia State. These are

7:17

pretty good universities. They're really

7:19

good.

7:19

>> And so I decided to go to one that was

7:21

near me. The first two weeks I was like,

7:23

um, this is too slow. This is not

7:26

>> this is not the pace that I want to move

7:28

at. And also remember it's 1999 when I'm

7:30

graduating. And so when you turn on the

7:33

TV, people are standing in line for the

7:34

next version of Windows. There's a lot

7:36

of euphoria. AOL is starting to phase

7:38

out and we're starting to touch on

7:40

highspeed internet and and I was like,

7:42

yo, look at look at the pace this is

7:44

moving, but also you're hearing the

7:45

narratives. Bill Gates drops out of

7:48

college. These people are not

7:49

necessarily glorifying the degree

7:51

anymore. It's all about the skill. Now,

7:54

unfortunately for me, I didn't know

7:56

anyone that was a programmer. I didn't

7:59

know anyone that was like a system

8:00

administrator because at that time all

8:02

the systems with like Sun Micros

8:04

systemystems or IBM mainframe those are

8:06

still the things that are in the

8:08

enterprise. So when I looked at the job

8:10

openings I'm seeing a bunch of skills

8:12

that I don't even know how to acquire.

8:14

And so instead of going to college you

8:15

know I'm still doing fast food

8:17

delivering pizzas at this time at Pizza

8:18

Hut. And I remember going to a bookstore

8:22

and they had the A+ certification guide

8:25

and I looked and some of the job

8:26

postings said, "Hey, you need to be A+

8:29

certified to take this support role or

8:31

whatever it was." And I was like, "You

8:32

know what? That doesn't require college.

8:34

The book is only $35." And I remember

8:37

buying the book and it is an official

8:40

certification process. It looks like it

8:42

was part of the job market. And so I

8:43

remember buying that book and reading it

8:45

cover to cover over and over again. and

8:48

you're learning all the fundamentals,

8:49

right? You're learning about, you know,

8:51

how motherboards and how memory and all

8:52

these things work and there's an OS

8:54

component and then there's a little

8:56

practice exam in the back. And so for

8:58

someone like me, having that fast

9:00

feedback loop of like you put the CD in,

9:03

you take the exam and even though it was

9:06

multiple choice, you kind of felt like

9:08

if I got anything wrong, I would just go

9:10

back to the book and make sure that I

9:13

understood what was written there and

9:14

then you go take the test again. and it

9:16

had a little randomization to it so you

9:18

couldn't just rely on absolute

9:20

remembering everything. And I remember

9:22

going to the facility to take the test

9:24

and you know you're in that little room

9:26

and they want to make sure you don't

9:28

cheat. So there's a camera pointed at

9:29

you and you're just going through it.

9:31

And so the nice thing about those tests,

9:32

there's no trick questions. Either you

9:35

know it or you don't. And I think they

9:37

maybe give you an hour, hour and a half.

9:39

And I remember finishing that thing in

9:40

like 10 minutes. And when I walk down,

9:42

you know, you wait, the dialup goes and

9:44

they calculate your score and say, "Hey,

9:45

you passed." And then you walk out and

9:47

you're like A+ certified. And that was

9:49

like the first time in my career that I

9:50

felt like, oh, so if you put the effort

9:53

in, you can gain the certificate. And

9:56

when I got that certificate, I remember

9:57

there was like a job fair where, hey,

10:00

anyone that has A+ and network plus

10:02

certification, you can be part of the

10:04

contractors that were replacing people's

10:07

dialup with DSL at the time.

10:09

>> Okay. And so that's how I I guess

10:11

officially got into tech.

10:12

>> Is it fair to say that you saw that this

10:16

could be the most efficient way to get

10:18

into tech at the time?

10:19

>> I think I said I saw it as the only way.

10:21

>> Why was college never like telling you

10:24

like, okay, that could be a way. Was it

10:25

just you didn't see examples or

10:27

>> I Yeah, I never saw the examples. I

10:29

never saw the endgame. A lot of the

10:30

stuff that they were teaching the

10:31

curriculum, it didn't make sense that

10:33

you would pay all that money. You know,

10:35

look, maybe it wasn't a good school.

10:37

Maybe it was the wrong class that I

10:39

took. There's so many factors that could

10:40

have went into this. But when I looked

10:42

at it, none of the people that at the

10:45

time that I was looking up to, this is

10:46

not the path that they seem to be

10:48

taking. And so I had enough of school,

10:50

right? If you're 18 at that time, you're

10:52

like, look, that that's enough of this.

10:54

Because at the time, I kind of felt

10:55

school was this because it was so easy

10:57

for me actually. You know, it's like it

10:59

was easy to get straight A's. I didn't

11:01

feel like there was a serious challenge.

11:02

So it's like, hey, I want to go and do

11:04

four more years of this. And I would

11:06

later learn that look bachelors is a lot

11:08

of the similar that you go through

11:10

through K through 12, you kind of

11:12

remember stuff, you listen to the

11:14

lessons, but then masters you challenge

11:16

the material and of course if you make

11:18

it to PhD ideally you're adding

11:19

something new to the field and I never

11:22

saw anyone that has made it that far. So

11:24

I never put that in part of my calculus.

11:27

So, but just having that immediate

11:29

feedback loop of like getting this A+

11:30

certification and feeling like, oh, I'm

11:34

ready to participate in the actual

11:37

economy, the ecosystem. So, to me, I was

11:39

like, this seems like a better path. And

11:41

it felt like a path that I would

11:43

control.

11:44

>> Yeah. And then what was your first job

11:45

that you could get with with the

11:47

certification? This was the comta,

11:48

right?

11:48

>> Yeah. So, at that time, Bell South was,

11:51

you know, the biggest telco uh probably

11:53

in America. you know they had been

11:55

broken up by that time from the AT&T

11:56

days at that time the people who did

11:59

phone lines right so those are the

12:01

official Bell South technicians they

12:03

drive the fancy trucks they have all the

12:04

equipment and when they made the shift

12:06

to highspeed internet that means you had

12:09

to actually touch the computer and I

12:11

think as a union they're like look we

12:13

don't touch the computer we don't even

12:14

go into the house we we get to you know

12:17

the demark and we stop and so they had

12:20

contractors come in and the contractor's

12:23

job were to come in, have to do a little

12:25

bit of wiring. So, if you had to run

12:27

some cable, you did that. Create Cat 5

12:30

cables, you did that.

12:31

>> Ooh, yeah. You you I one of my first

12:33

jobs was actually cabling. So, I still I

12:35

forgot the exact color code.

12:37

>> Orange, green, white, green, blue,

12:38

white, blue, something like that.

12:39

>> It's burning in your head now.

12:40

>> And you know, so you did whatever it

12:42

took. And the other thing you had to do

12:43

was you have to open the computer. You

12:45

have to make a decision, right? If they

12:46

had a new enough computer, they can use

12:48

a USB modem. Those were terrible. They

12:50

always broke and you would always come

12:51

out for a repair. Uh but for a new

12:53

install, if you really wanted to do a

12:55

good job, you install a a nick, right?

12:57

Uh Cat 5 port on the back of their

12:59

computer. And at that time, like we're

13:01

talking Windows 98. And so usually, I

13:05

don't know, 20% of the time as you're

13:07

installing the drivers, the computer

13:08

would crash. And now you have a whole

13:10

another situation. You have to now

13:12

troubleshoot getting this thing back

13:14

online or back operational. But if

13:17

everything went smoothly, they now had a

13:19

network card and then you had an

13:20

external modem that then you connected

13:23

to, you know, the phone line and they

13:25

had this high-speed internet connection

13:26

and then you connected the network

13:28

cable. And I did that for about let's

13:29

say a year and then I started doing the

13:31

businesses. So you go into people's

13:32

homes like you're going door todoor and

13:35

then when you go to a business you would

13:36

hook up one computer but there's

13:38

obviously eight computers there and only

13:40

one of them has internet access. And I

13:43

remember at the time, you know, the

13:44

business owner, it could be like a small

13:45

insurance company and they would say

13:47

like, "Hey, how do we get all the other

13:48

ones online?" And the first time someone

13:50

asked me that, I'm like, "I I don't

13:52

know, man. I don't." We put it on one

13:54

computer like pay grade, right?

13:55

>> Yeah. We make sure it works. But then I

13:56

decided like, "Well, let me go learn."

13:59

And that's when I remember like going to

14:01

like Office Depot, right? They sell

14:02

computer equipment and things like this.

14:04

And I went in the store and I asked him,

14:06

I was like, "Oh, you can get one of

14:07

these Lynxys routers, right? infamous

14:09

blue spaceship looking Lynxis router.

14:12

>> I still remember them.

14:13

>> And those things were probably like 50

14:15

bucks. And I remember just buying one

14:17

and figuring out how to get multiple

14:19

computers to to use one connection. And

14:21

so eventually I was like, look, I can't

14:23

do it as part of the job because we we

14:24

have to do this and we have to leave,

14:26

but here's my carp. And then they will

14:28

call you. And I remember one of the

14:30

first installations that I did on my

14:32

own. Uh they wrote me a check and I was

14:35

like, "Yep, you could just write it out

14:36

to Kelsey High Tower." He was like, "No,

14:38

we don't we don't write checks to

14:39

people. We write checks to companies."

14:41

And I remember right there on the spot,

14:42

I'm like, "Oh man, I need a company

14:44

name." And I just made one up digital

14:46

gateways. And they wrote that on the

14:48

check and I'm sitting there like, "So,

14:50

how do you cash this?" So, I went to the

14:52

bank and they're like, "Sir, you have to

14:54

get a business license. The business

14:56

license, you could just do business ads.

14:58

You have to do this." So, I'm figuring

15:00

out now I'm 19 years old. Like, okay, I

15:02

got to go get a business license. Have

15:03

to figure all this stuff out. So, I do

15:05

everything. I open a business account

15:06

just so I can cash the check. But at

15:09

that point, I'm like, "Oh, this pays

15:11

more than this does." And so, I got

15:14

really good at doing those network

15:16

installs. I really got good at

15:18

troubleshooting cuz sometimes someone

15:19

gave them a USB modem, lightning comes,

15:22

the USB modem is fried, and then you

15:24

would swap them out for a network card.

15:26

And eventually, I decided like, I can

15:29

probably do my own business. And I

15:31

decided to get some office space. So, I

15:33

opened a small computer store right

15:35

outside of Atlanta. I would buy parts

15:37

from the distributors. I was just like

15:39

19, 20 years old. And I wasn't buying

15:41

enough to really qualify for an account.

15:43

But luckily, one of the smaller computer

15:46

stores I used to buy parts from gave a

15:48

recommendation to the distributor. It's

15:50

like, hey, this is our guy. He's just

15:51

getting started. And they gave me an

15:54

account. And I was able to buy

15:56

motherboards and GPUs. And people would

15:58

come over and like they bring their kid

15:59

and they would have a parts list. I want

16:01

a computer with all these things and we

16:03

would assemble machines and you know

16:04

sell them but also it was the

16:06

headquarters for all the other service

16:08

calls. So I did that for like three,

16:10

four years, you know, that ended up

16:12

evolving into at the same time or now

16:15

we're talking like 2000, 2001, a lot of

16:18

the music studios were moving from

16:20

analog gear and the large mixing boards

16:23

to ProTools, right? The little rack

16:26

mount unit. And they all needed max.

16:28

They all need these conversions. So I

16:30

added that to my uh abilities. And then

16:33

I had a small setup in the store and

16:35

artists and musicians would come in and

16:37

say, "Hey, we want exactly that in our

16:39

studio and I would get the order and I

16:41

added it to the list of things I could

16:42

do."

16:43

>> I mean, at this point, you now have a

16:45

small business. Sounds like it's it's

16:47

going well. And suddenly you take a job

16:48

at an employee job at Google when I look

16:51

back, how did that come up up to now?

16:54

It's it's almost like this is like, you

16:55

know, the story often times will

16:57

continue. You become an entrepreneur,

16:59

you grow your business, you you know,

17:00

you just take it from there. Even during

17:02

that time as that store owner, I managed

17:04

a comedian and we went on the road. And

17:06

>> so you were you were helping out your

17:08

your managing

17:09

>> I had a buddy from high school. He was a

17:10

comedian. Turns out he was actually

17:12

really good at it. We even I went to go

17:14

see him at a club. He's like, "Hey, I

17:15

need a manager." I was like, "Are you

17:16

even funny? Like I know you from high

17:18

school, but I don't remember you being

17:20

like funny enough that I would pay to

17:22

see you tell jokes." And um he was like,

17:24

"I have a show tonight." And so I gave

17:26

him a ride on the north side of town.

17:28

And the interesting part, it was a

17:30

predominantly black audience in Atlanta.

17:33

Okay, makes sense. And he did these

17:35

jokes and they laughed and it was one of

17:37

these comedy clubs where if you're not

17:39

funny, you have like 3 seconds and they

17:41

would just boo you off the stage and

17:42

that's the end of it. And he held it. I

17:44

was like, "Wow, you survived that.

17:46

That's um that's incredible. And you

17:48

were pretty funny." And then we drove

17:51

about an hour north and the audience is

17:53

predominantly white. And so on the drive

17:55

there, I'm like, there is no way you can

17:57

do those jokes in this room. I got to

18:01

see how this is going to go. And at the

18:03

time, they're only paying the comedians

18:05

like $50. So, you don't make a lot in

18:07

the early days. And he totally pivoted

18:10

the set and he held that audience, too.

18:13

And I was like, "All right, I can be

18:14

your manager. I know business. I know

18:16

kind of logistics. I know how to, you

18:18

know, make a plan together." And I did

18:19

that for a number of years. and you know

18:22

he won some televised competitions. We

18:24

went on the road bands like Earthwind

18:26

and Fire and some large comedians from

18:29

Kings of Comedy and Queens of Comedy and

18:31

I actually picked up some IT work with

18:33

the company behind it called Letham

18:34

Entertainment. they had been doing

18:35

movies at this time. And so now I'm

18:38

like, you know, doing it for them and I

18:40

got the small business. I got the

18:42

comedian. And so, look, I was able to

18:44

save a lot of money, but man, luckily I

18:46

was 20 years old cuz I had all this

18:47

energy, but I was working quite a bit.

18:50

Eventually, you settle down, you get a

18:52

family, and you do the math, and it

18:54

turns out people kind of over glorify

18:56

entrepreneurship. I think a lot of

18:58

people believe there is tremendous

19:00

upside, right? the type of

19:01

entrepreneurship we talk about with

19:02

software companies, the the upside is

19:04

crazy. But when you're doing like

19:06

selling parts or service business,

19:08

unless you plan to open lots of stores

19:10

and you know grow a larger employee

19:12

base, it's not the same growth

19:14

trajectory as software companies. And so

19:16

I kind of did the math after four years

19:19

of doing that. I said look, I want to

19:21

settle down. And if you've been an

19:23

entrepreneur before, you know employees

19:26

get paid first, the owner gets paid

19:28

last. And there are months where you get

19:30

paid less or you don't get paid at all

19:33

and now you're kind of drawing from

19:34

savings because it's not their problem.

19:37

But I did well overall like I did very

19:39

successful. But I remember it's like you

19:41

know what I think I'm ready. And so I

19:43

looked around and Google had data

19:45

centers nearby and I felt like I had a

19:48

great combination of skills. I

19:49

understood you know the racking stack

19:52

part of the world. I understood the

19:53

physical part of the networking stack. I

19:55

understood everything from Linux to

19:57

Windows. I had an entrepreneur mindset.

19:59

I didn't think there was nothing I could

20:00

not do. And I remember going to that

20:02

interview and they were hiring like data

20:04

center technicians. What it paid? And in

20:07

my mind, I'm like that you only have to

20:09

work for 8 hours. You don't have to

20:11

issue any invoices and you get paid

20:14

every 2 weeks no matter what. No

20:16

inventory. This is crazy. No way they're

20:19

doing this. And so I go and I remember

20:22

doing that interview and I didn't know

20:23

Linux that well. And luckily for me, I

20:26

knew FreeBSD well. And as I'm answering

20:29

the questions, I'm like, look, I am not

20:30

an expert on Linux, not the way Google

20:32

was asking these questions. And it's

20:34

like three people on the other side of

20:36

this table just rapper firing. And I

20:38

remember I was like, I know FreeBSD. I

20:40

swear I got lucky. This one of the

20:42

interview, I think they had a FreeBSD

20:44

tattoo on their leg, the little beasty

20:46

logo. And I saw this logo. I'm like,

20:49

"Oh, I'm saved." And so we started going

20:51

down the FreeBSD questions and I pass

20:54

and I get this job in this data center.

20:57

And it was good because it's like, hey,

20:58

I'm I'm working with my colleagues, but

21:00

it felt a bit slow because you only get

21:03

one job. You come in, you do this thing.

21:06

And I got really good at it cuz to me, I

21:08

kind of saw it as like a bit of a

21:09

competition. Who is the best data center

21:11

tech here? What are their metrics look

21:13

like? How do I exceed their metrics? I

21:15

want to learn how to do every particular

21:17

thing in this data center because

21:19

previously as a business owner, the more

21:20

skills you have, more money you can

21:23

make. And then I just started switching

21:25

jobs every 3 to 6 months because I just

21:27

wanted to explore everything to just

21:29

amass my abilities. And doing the math,

21:32

I think every jump was like a 25% pay

21:34

raise. I mean, coming from a small base,

21:36

it wasn't it didn't feel big at the

21:38

time, but after a few jumps, my salary

21:40

doubled. puppet was uh was a a bit of an

21:44

inflection point in your career.

21:46

>> You know what and I would say the

21:47

biggest inflection point in my career

21:49

was there were two of them before I get

21:51

into Puppet Labs.

21:53

>> Okay.

21:54

>> So you come from Google, you see this

21:56

huge operations. There's hundreds of

21:57

thousands of servers. The cables are

21:59

perfect. They're immaculate.

22:00

>> Oh, by the way, can you help us imagine

22:02

like what a data center back then looked

22:05

like at Google and and what what did you

22:07

do as as part of the job?

22:08

>> Yeah. So in 200 maybe four maybe 2005

22:12

that data center is like a warehouse. I

22:14

mean it's huge. So think about a place

22:16

where and I'm pretty sure they always

22:18

exaggerated the numbers. So exaggerated

22:21

number to think about is like think

22:22

about 200,000 servers in one place.

22:26

Everything is immaculate. So a lot of

22:27

people have worked in data centers and

22:28

it's a mess. Wires are all over the

22:30

place. You know you're ad hoc adding and

22:32

removing servers. But Google was

22:34

systematic. Those machines came off a

22:36

truck. They were wrapped perfectly. When

22:39

you wheeled them into their spot, you

22:40

connected the network cables, they would

22:42

pixie boot. They would burn in. So part

22:45

of the job was, you know, you walked

22:46

around with a crash cart. So depending

22:48

on what your abilities were, some people

22:50

had pretty straightforward jobs. You had

22:52

a crash cart, had all your tools on it,

22:54

and you would walk around and you would

22:57

find machines that were needing of

22:59

repair. So if you have 200,000 machines,

23:01

it's okay if like 300 of them are

23:04

broken, right? the system can route

23:06

around that. And but if they were

23:07

broken, they needed to be repaired. So

23:09

you would go to rack a server 7, you

23:12

will pull it out and you will look at it

23:13

and oh yeah, the SATA card is on fire.

23:17

Like it's literally burned. It's

23:19

burning. It was burnt. And so he's like,

23:21

I can diagnose this one with my eyes. It

23:24

needs to replace the SATA card. But the

23:26

thing is, you would go into the system

23:29

and you would say, this SATA controller

23:32

needs to be replaced. So you would be

23:34

making your prediction and then you

23:36

would replace it and you would go

23:39

through its burn-in process. It would

23:40

join back to the fleet and then the way

23:42

you were measured was how good were your

23:45

predictions.

23:46

>> Oh,

23:46

>> right. So you said it's a SATA

23:48

controller and to me moving fast you

23:49

look as if I think that SATA controller

23:51

I'm not going to waste any more time on

23:52

this one because I'm trying to get my

23:54

numbers up. So I just swap the SATA

23:56

controller. You bring in all the cables,

23:57

you slide it back, it goes through his

23:59

process, and you move on to the next

24:00

machine

24:01

>> before you get the feedback.

24:03

>> Yeah. And fun fact, there's a guy named

24:05

Tim Hawk is very popular in the

24:06

Kubernetes community. He's like the

24:07

network lead. So back then, Tim Hawkins

24:10

is working at the other side of Google,

24:12

like the bigger side of Google. And one

24:13

of his first projects was built a little

24:15

tool that you would put on the

24:16

motherboard. It had about nine lights on

24:18

it, and the lights would flash back and

24:20

forth, and it would tell you what dim

24:22

slots were potentially bad. The

24:25

technicians that were fast, they didn't

24:27

waste time like running a program to do

24:29

a extensive test of the memory. You

24:31

learn how to use this little device and

24:34

you would walk up to the motherboard. So

24:35

the thing I would do is like before I do

24:37

anything, put this on the motherboard,

24:39

get the reading, and I learned to trust

24:42

it over time, dim one, dim two are bad.

24:45

And the goal would be all right, I have

24:47

all this memory on my cart. You swatch

24:49

those two dim slots. Make sure that

24:50

that's done first. Reboot the machine.

24:53

And you might be like, I think that's

24:54

the only thing wrong. And again, you

24:56

were put in the system. I believe I only

24:58

need to do DIM one and two. And then the

25:00

way you were measured is how long before

25:02

that machine gets kicked back to repair.

25:04

So if it doesn't get kicked back within,

25:06

I don't know, 30, 60 days, you did a

25:08

good job. If you didn't, your scores

25:11

would be low. So for the technicians

25:12

that were just reckless, right? They

25:14

wouldn't even try and you're just

25:15

swapping the wrong part. You're swapping

25:17

the wrong hard drive. And so your stuff

25:19

is always coming back for repair. You

25:21

were not efficient. So I got to the

25:23

point where I can maintain high 90s but

25:26

also repair let's call it three times

25:29

more machines than other people. So lots

25:31

of machines rate of return. And then I

25:33

learned how to do the network switches.

25:34

And then there's power audits where

25:36

you're lifting up tiles from the floor

25:38

and you're making sure that everything

25:39

looks good. You got to be careful not to

25:41

touch them because you could die. And so

25:43

you learn everything about a data center

25:45

like the service loop. You know you're

25:46

running all this cat 5 cable and it has

25:48

to have a perfect service loop. fiber

25:51

runs on a different part of the rack,

25:52

right? So you don't ever mix these

25:53

things. So as a person still like I'm in

25:56

my early 20s. I'm thinking this is how

25:58

all data centers look. It's not the

26:00

case. But it's it's crazy because just

26:02

as I think back, you know, I was a

26:04

manager before as well and of course a

26:05

software engineer for a long time, but

26:07

the way your performance was

26:09

continuously measured and fed back to

26:10

you and you were evaluated based on it.

26:13

It feels way more strict, should I say,

26:16

than you know like folks who work as

26:18

software engineers including at Google.

26:19

I mean the frequency, the expectations.

26:22

>> The reason why I didn't feel as bad as

26:24

some of the metrics people are using now

26:26

is because I felt like I can control the

26:28

outcome. It didn't feel like it was a

26:30

thing that was just a metric that didn't

26:32

do anything. If I felt like my score was

26:34

taking a hit and I was like, you know

26:36

what, I am being a bit sloppy and how

26:38

I'm diagnosing these machines. And I

26:40

remember one time where I almost had my

26:42

score dip below 90. I started writing

26:45

additional shell scripts to starting

26:47

combining different functions together.

26:48

It's like, you know what? Can't be

26:50

moving this fast. There's a way for me

26:52

to diagnose multiple things of the

26:54

machine at one time. And so, I would

26:56

diagnose the Saturn array, all the hard

26:58

drives while I'm doing the memory

27:00

component. And then when it rebooted, I

27:02

would just run the script one more time

27:04

as I'm putting my cart back together to

27:06

catch that one more thing. And once I

27:08

started doing that, I can move as fast

27:10

as I want it and the scores are right.

27:13

So to me, when the scores actually match

27:16

the things that you're doing, then it's

27:18

a healthy feedback. And again, no one

27:20

really talked about it unless you needed

27:22

to talk about it. And so I kind of

27:24

leveraged it for a personal thing. I

27:26

pulled it up in the morning. I kind of

27:28

looked at my performance metrics and in

27:30

many ways I calibrated my strategy based

27:33

on this detailed feedback that I was

27:36

getting. So, I think I appreciated that

27:38

level, that granularity back then

27:40

because it felt like it was uh something

27:41

that was helpful for me, not just my

27:43

manager.

27:44

>> And you said you had two two kind of big

27:46

big inflection points. One of them was

27:48

>> Google was a big one. Like that was

27:50

definitely one of course my

27:50

entrepreneurship. And when I got to web

27:52

hosting, I went to a company called Pier

27:54

1. They're a spin-off of Rackspace and

27:56

they were all about fully automated

27:59

self-hosting, right? So,

28:00

>> this was back in like what 2005 67?

28:03

>> Yeah, this is like Yeah. 2005, 2006. Oh,

28:06

they were already about that was their

28:08

thing. Their tagline was latency kills.

28:10

And so back then you would go online. A

28:13

lot of the customer base was like um

28:15

people hosting their own game servers,

28:17

right? So if you wanted to play a game,

28:19

one thing you could do back then is host

28:20

a game server, but you needed a game

28:22

server that multiple people could hit.

28:24

And so you would go along to server

28:26

beach. So this is a spin out of

28:27

Rackspace. So Rackspace is more like,

28:29

you know, we'll buy a server and once

28:31

you get it and it's a lot of manual

28:33

steps. Rackspace was more of a let's

28:36

automated everything. So the machine

28:38

would pixie some PHP scripts would run.

28:41

If you ordered a RAID setup, then we

28:43

would configure the RAID while the

28:45

machine was net booted and then we would

28:47

put you on the VLAN that you belonged

28:48

on. We would install the right operating

28:51

system based on what you've ordered and

28:53

we just took a form. We just went

28:54

through all of these steps and then when

28:56

we were done, and it took maybe about an

28:57

hour. When we were done, you had an IP

29:00

address, login credentials, and if you

29:02

wanted email and plus, you know, website

29:05

management, all these things, you got

29:07

it. And when you were done, you gave it

29:09

back and then we put it back into the

29:11

pool ready for the next customer. And so

29:14

when I saw how we were doing that, I was

29:16

like, yo, this is okay. You can automate

29:19

things end to end. And the other thing

29:20

that was important here, we were doing

29:23

things like updating the firmware for

29:24

RAID controllers because once you pixie

29:27

a server, now you're in memory and you

29:29

have access to all the hardware. You

29:31

haven't committed to an operating system

29:32

yet, but you have enough to do whatever

29:35

you want. So if you want to configure

29:36

the RAID controller and back then there

29:38

wasn't like clean APIs. We were

29:40

literally running curl scripts and

29:43

command line utilities trying to get

29:45

this machine into the right shape and

29:47

then when we were done we would put it

29:48

into the fleet. So at that early age I'm

29:51

like oh there is nothing you cannot do.

29:53

When we had to automate the Windows 2000

29:55

servers back then we would just build

29:57

tools that would literally screen scrape

29:59

log in to active directory and then we

30:01

would screen scrape mouse movements so

30:04

that way we can patch software on those

30:06

Windows servers. So the concept of like

30:08

I need a specific tool to do it's like

30:10

no. Back then it was like you do

30:11

whatever is necessary because these

30:13

people are only paying like $99 a month.

30:15

I don't have time for you to spend a

30:16

whole week when they call random

30:19

customer. You don't know their setup.

30:20

You don't know their infrastructure. You

30:22

have minutes to get them back online. So

30:24

everybody learned to move quickly. No

30:26

complaining. When you get that ticket

30:28

it's on you to figure it out. Maybe you

30:30

lean to your teammates for help. So I

30:32

kind of learned how to move fast. But

30:33

the the inflection point came from I

30:36

started that job in tech support. So

30:38

people would call my SQL isn't working,

30:41

DNS isn't working. They can't even

30:43

describe what isn't working sometimes.

30:45

And so I realized that we were all in

30:48

the phone queue. When the phone would

30:49

ring, it would just round robin between

30:51

everyone. Then if you couldn't solve it

30:53

fast enough or you couldn't solve it at

30:54

all, you created a ticket. And the

30:57

ticket sat there and then ideally you

30:58

get to it later, but the ticket queue

31:00

was just getting long. And when a shift

31:02

change happened, we just had all these

31:04

tickets piling up. And of course,

31:05

customers are now mad, 3 days, no

31:07

response. So one day I said, look, I'm

31:11

just not going to log in the queue.

31:13

>> I'm just going to resolve the tickets.

31:15

And I'm back in that entrepreneurial

31:16

mindset. I'm building little scripts to

31:18

take a ticket. I see the issue. This is

31:20

my SQL issue. We need to vacuum the

31:22

database. This is easy. Run that one.

31:23

Ticket close. Hey sir, everything is

31:25

good to go. Please try again. Close.

31:27

This is not even an issue. Close. Plus,

31:29

oh, we got upgrade PHP. close and then

31:31

the ticket queue is zero. It's just

31:34

empty all day. And so someone's like,

31:36

"Hey, Kelsey's not logged into the phone

31:38

queue. He's not even on the phone. He's

31:39

not taking calls." My manager pulls me

31:41

in the office like, "Hey, Kelsey, why

31:42

are you not on the phone queue?" I said,

31:44

"Because we don't all need to be on the

31:46

phone queue. We can just have one person

31:49

making the ticket queue stay at zero."

31:51

And then I would tell my colleagues,

31:52

"Hey, look, if you can't figure it out

31:53

fast, just open a ticket super quickly.

31:56

I will take care of it." So some people

31:57

specialize in Windows. They got a Linus

32:00

call. They didn't know what to do. I

32:01

said, "Don't worry about it. Just put it

32:03

in the queue quickly. Move on to the

32:05

next call. I got you." And so I became

32:07

super efficient. So I explained this

32:09

process to the manager and he thought

32:11

about it. His name is Mike. And Mike was

32:13

like, "Yeah, I like that. We're going to

32:15

change it. We're going to have a couple

32:16

people stay out of the queue, but the

32:19

promise is that queue has to stay zero."

32:22

And it's the first time I learned the

32:23

difference between activities and

32:24

impact. activity is you being an

32:27

all-star answering a bunch of calls, but

32:29

the ticket queue for the team is still

32:31

high. You making this jump and saying,

32:33

"Look, maybe I stay out of the queue and

32:35

my promise to my colleagues is impact."

32:37

The ticket queue is zero. So on

32:39

Wednesday when we do the team turnover,

32:41

we're handing off a empty queue. Now, of

32:44

course, I didn't teach them that because

32:46

I didn't think about it. And when we

32:48

would come in, the queue would be high

32:49

again. And it's like, yo, whoa, this is

32:51

not you guys keep handing off a bunch of

32:54

burden to our team. And of course, we

32:56

would clean it up, but then the

32:57

management team was like, yo,

32:58

everybody's going to do it. And then I

33:00

was like, man, you can change the

33:02

process. So that was like the huge

33:04

inflection point. I think the next one

33:06

was more about being a mature person.

33:08

Stop job hopping so much because again,

33:11

after maybe a few promotions and some

33:13

impact, I'm now off to the next thing.

33:17

and I didn't have to necessarily live a

33:18

long time with some of those decisions

33:20

or you know stay long enough to really

33:22

impact more of the culture. So when I

33:24

got to financial services, it was the

33:26

first time I got restrictions put on me,

33:29

right? Because in these companies,

33:30

everything is about moving fast. Google,

33:32

we got to move fast. We have to compete

33:34

with the big guys. We're going to do

33:35

with cheap hardware, smart people, any

33:37

means necessary. Web hosting, we're not

33:39

charging a lot. Margins are thin. You

33:41

got to move quick. Financial service

33:43

like, no, we making money over here.

33:44

>> You joined the financial services

33:46

company.

33:46

>> Yeah. So that was the first time my my

33:48

salary doubled. So I went on my lunch

33:50

break for a job interview.

33:51

>> That must have felt awesome.

33:52

>> Oh my god. I don't remember. My manager

33:53

was so upset. I went on a lunch break.

33:56

>> The previous manager, the one you

33:57

>> I met Pier One. He was a good friend of

33:59

mine named Joe Rodriguez. He's the first

34:01

person that made me a software

34:02

developer. So, I showed him some ideas I

34:05

had on like modernizing our

34:06

virtualization, uh, optimizing our Pixie

34:09

Boot process. And he was like, "Man, you

34:11

have a lot of good ideas." So, in the

34:12

interview, he's like, "Show me what you

34:13

built." And I'm so excited. I'm still

34:16

that entrepreneur thinking, and I got

34:18

the job. So now I'm a software engineer

34:20

working on this automation stack. And uh

34:23

I remember seeing jobs that I used to be

34:25

afraid of 5 years ago. The same jobs

34:27

that made me want to just go get an A+

34:29

certification and open a computer store

34:32

instead of even trying. And so I looked

34:34

at those job descriptions again and it

34:36

was like you need Linux. So like I got

34:38

that even at that job I got Red Hat

34:40

certified, right? So I was like I got

34:42

all the qualifications now. And I

34:45

remember the job. I didn't know how much

34:46

it paid before I went, but you had to

34:48

wear a shirt and tie. It was the first

34:50

time in my whole life had to wear a

34:52

shirt and tie.

34:53

>> Oh, so you had to go and buy one.

34:55

>> Yeah. And I remember my home teacher,

34:57

she him my pants for me, right? I was

34:59

like, "Hey, I got a job interview. I

35:00

know. Does this look right?" I'm driving

35:02

up on my lunch break and I get there and

35:05

you know, this is enterprise. I'm like,

35:07

"Wow, this is this is the big league." I

35:09

didn't even think Google was big league.

35:11

I thought financial services big league.

35:13

Obviously, if you have to wear a tie to

35:16

do your job, you must be doing something

35:18

so serious that you need a shirt and tie

35:21

to do it. And so, I get to the interview

35:23

and I'm sweating like, "What? They're

35:24

going to ask me stuff that I've probably

35:27

never heard of or seen before." And they

35:29

started asking Linux questions. I'm

35:31

like, "No, you got to use this flag.

35:33

That's not the right flag." No, look it

35:34

up. That is not the right flag. You

35:36

can't do that with Grip. Nope. You got

35:38

to pipe it this way. That the PS table

35:40

doesn't show you that. Not on that

35:41

version of Linux. not with that curl.

35:44

And I'm like, it's too easy. And part of

35:46

me is like, either I'm really good or

35:49

something else. And so I'm thinking

35:50

like, yo, that was maybe there's another

35:53

round. And so I'm driving home and I'm

35:56

loosening up the tie and I'm calling my

35:58

wife like, "Hey, I I think I did a

36:00

really great job." Like, you know, I

36:03

think and and this has been a pattern,

36:06

you know, I get good at something and I

36:07

find a better job. I got good at

36:08

something, I find a better job. But now

36:11

it's like this is like a career. And so

36:14

I'm talking to my wife and I was like,

36:16

"Hey, I got to call you back." And it's

36:18

the recruiter calling. Hey, you have a

36:21

second? It's like 100%.

36:23

Uh they want to make you an offer. I'm

36:25

like, you know, make you an offer is

36:27

different. Like it's usually this is how

36:28

much the job pays.

36:29

>> That's how it was until then. How much

36:31

were you making?

36:32

>> 45K.

36:33

>> So you were making 45K at that point.

36:35

>> $90,000.

36:37

>> Yeah.

36:38

>> I almost drove off the rope. like n like

36:40

double. This is insane. I'm thinking 90

36:43

and you're doing the you know retirement

36:45

calculations. We can buy a house. You

36:47

you're thinking of all of these things

36:49

that you could do. And so I'm on the way

36:52

back to the job and I remember and they

36:54

were like then when can you start? It's

36:56

like Thursday. I'm telling them we can

36:58

start Monday. Like uh two week notice.

37:01

I'm like I don't know man. Like it's

37:04

devil

37:04

>> for this.

37:05

>> I have to. So, I remember I called Joe

37:07

and Joe's based in San Antonio where the

37:08

headquarters of Rackspace was. I was

37:10

like, "Hey, Joe, man. Hey, man. I got to

37:12

I got to I got to quit." He was like,

37:14

"What, man? You just, you know what I'm

37:15

saying? You're doing so well on the

37:16

team. How you going to quit on me? I

37:18

made a bet on you." You know? I said,

37:19

"Hey, Joe, calm down, bro.

37:22

They pay 90K." He's like, "What? Are

37:24

they hiring?"

37:27

And so, I got to I got to that company,

37:29

Total Systems, Tus. And um it did feel a

37:32

bit slow. They had run books, change

37:34

windows, everything was regulated. This

37:36

is a financial institution. We're

37:38

processing credit card payments. We're

37:39

doing work for the government. We're

37:41

doing all of these things. And I

37:43

remember the team was just everybody

37:45

just moving at this pace.

37:47

>> But isn't it crazy when you get in

37:48

there? I I had something similar when I

37:50

moved into London and my salary more

37:52

than doubled going for Edinburgh where

37:54

you have all these expectations because

37:56

you're being paid so much more. the tie.

37:58

Same thing for me for the tie and then

37:59

it's a bit disappointing and I think did

38:01

you not not feel a little bit like am I

38:03

missing something like this should be

38:04

you know higher this should be you know

38:06

the interview was okay maybe not as hard

38:08

but it it was something I mean I did

38:10

because I was naive because I didn't

38:12

understand the consequences of a mistake

38:15

and so yeah I was like oh these people

38:17

are just moving slow and I looked at

38:19

what they were doing and everything was

38:21

like a risk if you made a mistake you

38:24

remember you only get seven

38:26

milliseconds, 7 seconds to give Visa a

38:29

response. If you don't, then it's a

38:31

default decline. Now everybody's losing

38:34

money. And so the cost of getting a good

38:37

change, it was just worth waiting. So I

38:39

didn't know that in the beginning. So

38:40

I'm just like, oh, everybody's moving a

38:42

little too slow. I was seeing how they

38:43

were doing deployments. I'm watching how

38:45

they're provisioning servers. I'm like,

38:46

you know, you can automate this whole

38:48

thing cuz I've done it multiple times.

38:50

And then I learned to be a little bit

38:51

patient. All right, hold on. I learned

38:54

how to deal with the nose. I learned how

38:56

to deal with the executives. I learned

38:57

how to talk not just to engineers with

38:59

the senior leaders and get their trust.

39:02

And I won't talk about everything that I

39:04

did there, but I was there for about

39:05

three years. So the job hopping stops

39:07

and I remember there was a task where we

39:10

were using Apache and some Java plugin

39:13

to talk to our J Boss instances. And so

39:15

they were using a lot of memory per

39:17

connection on the load balancer. And so

39:19

we got a new we're moving off the main

39:21

frame. We're moving into this new, you

39:24

know, Java world and the servers just

39:27

kept falling over. We couldn't handle

39:28

all the transactions and I'm just

39:30

watching the team go into these change

39:32

windows and then we fail. We would fail.

39:34

We would fail. And the CTO at the time

39:37

was like, you know, this is costing us

39:39

money. These we're getting chargebacks.

39:40

We're having to pay out penalties. And I

39:43

was like, I had a dev environment when I

39:44

was using EngineX. I got rid of all this

39:46

Java stuff. Like it's it's just HTTP.

39:49

You don't need a Java connector thing.

39:51

I'm reading the spec. You don't need it.

39:53

And my memory usage is a fraction

39:55

>> by getting rid of it.

39:57

>> Yeah, you don't need it. And engineext

39:59

had a better threading model, all these

40:00

things. And I was like, I got a perfect

40:02

config. I've ported the Apache config to

40:04

this one. I even handle all of our

40:05

redirects, all of our routes, all the

40:07

legacy crust. This thing will work. It's

40:09

like, I don't know, Kel, this is not

40:11

certified stuff. It's like, no, no, no.

40:13

I got it from Red Hat. RPM install

40:16

engine X. It's in it's in Red Hat. And

40:18

they're like, okay, it's in Red Hat.

40:19

Okay, sure. gave me one chance.

40:21

>> Yeah.

40:22

>> And about after a week, they gave me a

40:24

shot and they let me be in the change

40:26

window. And

40:28

>> what what is the change window?

40:29

>> So change window typically in the

40:30

financial institution is like we can

40:32

start changes at midnight and we have to

40:34

be finished by 6:00 a.m. and you have to

40:36

notify every customer. We're going to

40:39

change something in the environment.

40:42

Things may get a little weird. We would

40:44

like your permission. And if if it's

40:46

something that can be detrimental to

40:47

your business, now's your time to speak

40:49

up. So once we got permission, we had a

40:52

window. That's the only window you got.

40:54

And if you can't finish it on time, you

40:56

got to shut it down and get us back to

40:57

where we were.

40:58

>> Yeah. Roll back.

40:59

>> Roll back. Roll forward or if you could

41:00

roll back. And I remember I put engine X

41:03

in place. So at this point, it's all

41:05

you. No one at this company has EngineX

41:07

experience. Also, most people don't want

41:10

to do this. They're like, "Hey, we think

41:13

this is a bad idea." And so now it's

41:15

your reputation on the line. There is no

41:19

hiding behind the team. It's almost like

41:22

everyone's sitting back like you got it.

41:24

Now luckily the leadership was like we

41:27

are supporting you and we're putting our

41:29

careers on the line as well. I mean they

41:30

probably would have been safe but after

41:32

about 2 hours I got everything working

41:35

and we just watched your memory pressure

41:37

just drop. So if we were at 90% on

41:40

utilize I don't let's call it 32 gigs

41:42

and we're just blowing stack every time

41:43

everything's crashing. this thing is

41:45

hovering at like two gigs of RAM. And

41:47

everyone's like, yo, like are we getting

41:49

peak load? Is this legit? And we're all

41:51

just sitting there like not sure. And

41:53

the way we used to test the platform is

41:55

we would someone would drive to the gas

41:56

station, get a credit card, buy some

41:59

gas, and we wanted to see the

42:00

transaction land in the Oracle database.

42:02

>> Yeah, you could track it.

42:03

>> So we can track the whole thing. We're

42:04

like, yo, it works. And so the thing is,

42:07

you can't really be comfortable until

42:08

about 10:00 the next day. So now it's

42:11

3:00 a.m. We all go home. I don't go to

42:15

sleep. I'm like, "Yo, we've changed a

42:16

big part of the infrastructure in

42:18

production.

42:20

Let's see." So 10:00 goes by and we

42:23

looking around and there's no naggios

42:25

alerts going off. I'm like, man, we

42:27

might be we might be good. You know me,

42:29

I got my I got top going. I'm looking

42:32

like memory usage is holding steady.

42:34

>> Yeah, top is uh for those who don't know

42:37

that that's when you uh it shows it show

42:39

the CPU PS tree in a loop, right? So

42:42

just like if you ran the PS aux command,

42:44

you see all the processes running

42:45

processes.

42:46

>> And so you just run top and then it's

42:47

basically that every second being

42:49

refreshed or whatever timer you give it.

42:51

But one of the bets I made was if I get

42:53

this to work, you have to buy pizza for

42:55

the whole floor for a week. Every day we

42:58

get a new order.

43:00

>> And cuz he promised like Kelsey, if you

43:01

get this to work, I'll buy you a steak

43:02

dinner. And at the time I still am. I

43:04

was vegetarian. I don't eat steak. But

43:06

here's here's what I would like instead.

43:08

you got to buy pizza for the whole

43:10

floor. Now, I don't know how strategic I

43:12

was thinking, but I figured that I could

43:15

score some points with the whole team

43:17

from turning it into a I succeeded to a

43:19

we succeeded

43:20

>> and then people eating together was one

43:22

good way of doing it. And I remember

43:24

after it worked, he was like, "What's

43:25

the order?"

43:26

>> And I just ordered, you know, pizza from

43:28

one place and we just put it in the

43:29

middle. Everyone was like, "What's the

43:31

pizza for?" Right? Cuz usually you only

43:32

get this for special events, like for

43:35

the thing we did. And the next day some

43:37

more pizza and some more pizza. And so

43:40

when I got that accomplishment, I was

43:42

like, "Okay, this is what maturity looks

43:43

like. It's not about just having the

43:46

right solution. You literally have to

43:48

get consensus, buy in,

43:51

make sure and then your reputation's on

43:53

the line." And I got that change in. It

43:55

just kind of changed the way I thought

43:57

about what success looked like. And so

43:59

that was the inflection point. And then

44:01

of course I brought puppet into that

44:02

organization repeated a similar process

44:04

of automating everything with this tool.

44:08

>> Kelsey just talked about what CI/CD

44:10

looked like in the 2010s and how

44:11

difficult deploying to prod was which

44:13

leads us nicely to our episode sponsor

44:15

build kite. This type of manual deploy

44:18

era was a time of build kite was

44:19

created. Injuring orgs were trying to

44:21

figure out how to ship more frequently

44:23

more than once a week and those running

44:25

into wall first turned to build kite.

44:26

Shopify started running on build kite in

44:28

2015. Airbnb, Canva, Uber, and OpenAI

44:31

have all been using Built Kite for 7 to

44:33

12 years. Throughout the 2010s, the

44:35

hardest CI problems in the industry for

44:37

global software leaders were getting

44:39

solved on Builk Kite pipelines. That's

44:41

exactly what makes Built Kite the CI

44:43

platform most in tune with what's

44:44

happening right now. Genai throughut is

44:47

pushing everyone's build queue to its

44:48

limits. Coding agents are pushing

44:50

commits 5, 10, 50 times volume that your

44:53

defaults were built for. The same

44:54

architecture that absorbed Shopify's

44:56

traffic at scale five to 10 years ago

44:58

now absorbs a shared push from Entropic,

45:01

Cursor, Meta, Mistral, Coher, VLM, XAI,

45:04

Lambda and more who are all Buildcad

45:06

customers. Where other CIS are cracking

45:08

under the weight, Builkcite is running

45:10

about 1.4 billion job minutes a week.

45:12

Agents run on your infrastructure or on

45:14

build kites. Every artifact and log is

45:17

captured and when something fails, you

45:18

see the why immediately. If you're

45:20

hitting ceilings on your existing CI or

45:22

downtime is becoming more problematic

45:24

for your delivery, head to

45:25

builkite.com/pragmatic

45:27

30-day all access trial, no credit card,

45:30

and an actual human engineer on the

45:32

standby. His name is Ola, and he is very

45:34

helpful. I'd also like to mention our

45:36

season sponsor, Sentry. AI agents don't

45:39

have a feedback loop from production

45:40

observability logs, but should they have

45:43

it? I mean, we probably don't want to

45:44

build a system where after each

45:46

production error, AI agents

45:48

automatically push out a fix into

45:49

production without supervision. That

45:51

would be a recipe for disaster. But what

45:54

if we did something more modest? When a

45:56

production error fires, an agent

45:57

investigates this with context from

45:59

Sentry. Sentry already has all the

46:01

context in the error. After all, Sentry

46:03

MCP is one way to plug in Sentry to

46:05

agents that support the model context

46:06

protocol. Cloud Code, Cursor, Codeex, VS

46:08

Code, Copilot, they all do. After you

46:10

hook up the MCP server, you can do some

46:12

very useful things. For example, you

46:14

could do this when an already resolved

46:16

century issue resurfaces. You can kick

46:18

off a cursor agent to investigate the

46:20

regression, read the relevant code, and

46:22

open a PR with a suggested fix. There's

46:24

a little work involved to get all of

46:26

this going. You need to connect Sentry

46:27

to your code repository, add Sentry MCP

46:30

to Cursor, define the instructions for

46:32

Cursor's agent to investigate, configure

46:35

the trigger that launches the

46:36

automation, and test that it all works.

46:38

But once you have it up and running, you

46:40

can get regressions fixed faster whilst

46:42

you're reviewing every and all fixes.

46:44

This feels like a sensible and helpful

46:45

use of AI and CP and Sentry to me. Check

46:47

out Sentry at centry.io/pragmatic

46:50

and start monitoring and fixing

46:52

regressions today. And with this, let's

46:53

get back to Kelsey and when he

46:55

introduced Puppet into his organization

46:57

and automated DevOps processes.

46:59

>> And I remember we had someone from

47:01

Puppet come by

47:02

>> and and just for again those who don't

47:03

know Puppet, Puppet is this

47:05

>> configuration management tool. So puppet

47:06

is we went from you know lots of shell

47:08

scripts you know doing random things and

47:11

pseudo automation but most of the time

47:13

you just did a manual thing you had a

47:15

ticket come in someone wanted a new SSH

47:17

key on a server someone want something

47:19

installed you did it manually copied and

47:22

paste the output in the ticket and you

47:24

closed it and you did that every day

47:26

over and over again and that's where the

47:27

saying that I I say sometimes some

47:29

people have 20 years of one year

47:30

experience some people in it have been

47:33

doing that 20 years on the row they

47:35

never the leap to automation or learning

47:37

new tools or skills. And so I saw like

47:39

man I can bring in a tool and I brought

47:42

the tool called puppet at the time 0248

47:45

and this is right before DevOps becomes

47:47

a word but it's like all right I'm

47:49

starting to learn how to write code like

47:50

the for the Java production stuff. I'm

47:53

writing puppet, you know, manifest using

47:54

the puppet DSL. Sometimes you have to

47:56

write a little bit of Ruby to build a

47:58

new resource type and I'm contributing

48:00

and also I get introduced to open source

48:02

like, hey, there's something there that

48:03

doesn't work. I'm going to contributed

48:05

upstream. So, I'm doing all this behind

48:07

the scenes getting ready for act two.

48:09

And I remember my manager went to a

48:11

conference and he came back and like,

48:13

"Hey, Kelsey, I finally know what you're

48:15

doing." I was like, "What's that?" He

48:17

was like, "Uh, you're doing DevOps." And

48:19

I part of me was like upset. how do you

48:22

get to name what I'm doing?

48:26

And so, you know, everyone's talking

48:27

about DevOps and he's like, I met a guy

48:29

named James Turnball. And James is an

48:32

Australian dude. He worked at Puppet

48:34

Labs and he wrote the first puppet book

48:36

that I bought and read. And so I'm like,

48:38

James Turnpaul? That name sounds

48:39

familiar. Oh, I'm looking at my desk,

48:41

James Turn. So, he's one of the

48:43

co-authors of this book. And it turns

48:45

out James wrote a lot of tech books back

48:47

then. And he's coming to the office. And

48:50

my manager wanted him to check out how

48:52

we were using puppet. I was like, "Okay,

48:54

so you know, this is world-class

48:56

expert." And by that time, I had puppet

48:59

hidden behind Jurro tickets. And so you

49:02

could just open a Jurro ticket. I had

49:05

RPMs for everything. You picked the RPM

49:07

you wanted from a drop down. You picked

49:09

your environment from a drop down. And

49:12

magic happened and you got results. Most

49:14

people didn't even know Puppet existed.

49:16

Most people never touched it. They just

49:18

knew they can get anything on demand.

49:20

>> You could go to Jira and it does it. So,

49:22

so for example, you could like provision

49:24

a new machine or

49:25

>> whole environment. I want database. I

49:28

want IBM MQ series message server. I

49:30

want these three apps and I need this

49:33

firewall setup. No problem. Open the

49:35

right jar tickets. Get them approved.

49:36

When they're approved, we had this

49:38

little I I called it Mr. Receti. All

49:40

right. One of my buddies gave me a name

49:42

from some video game. Once it got

49:43

approved, Mr. city would own the ticket

49:45

and we would just extract the custom

49:47

fields and we would just call the right

49:49

puppet manifest and we would take the

49:51

output and update the ticket and so PMs

49:54

developers they just got what they want

49:55

damn near instantaneously so we built

49:57

all the systems they didn't know nights

49:59

and weekends I'm contributing to puppet

50:01

because you know wasn't allowed at work

50:03

at the time this is 2007 2008

50:05

>> they probably didn't even really

50:06

understand what open source was anyway

50:08

>> so they was like hey you got to do it on

50:10

your own time so I would just do it

50:11

nights and weekends so James shows up

50:13

and I remember we all get in the

50:15

elevator. We're going to the third

50:17

floor. My manager's introducing James to

50:20

me, to our team, like, "Hey, this is

50:21

this person. This is this person. This

50:23

is Kelsey." And James turns to me, he's

50:25

like, "Kelsey High Tower? Oh, we know

50:27

you. We love your contributions." And my

50:30

manager is just like, "What

50:31

contributions? We're We're not doing

50:33

contributions."

50:35

And James is like shaking my hand and

50:37

he's just talking to me like we're

50:39

friends because the thing is I have been

50:41

working with the puppet labs team

50:43

through like openource open source

50:45

contributing to puppet

50:46

>> and so we get up there and you know my

50:48

manager is like hey let's show him our

50:50

setup I was like all right James we have

50:51

a lot of puppet manifests over here I'm

50:53

using external node classifiers I'm

50:55

setting brightening config from data you

50:58

know I read my burst is promise theory

51:00

and we got it all dialed in but from an

51:02

interface perspective I just didn't want

51:04

everyone to have to modern puppet. So,

51:06

we hooked it up to Jer. I'm showing him

51:07

this entire workflow and he's just

51:09

sitting there like, "Yeah, I have no

51:12

recommendations at all. Like, this is

51:15

this is amazing." And here's the thing

51:17

that kind of the game changer. So, he

51:19

came all the way to Atlanta. We're 45

51:21

minutes from the airport. He spent time

51:23

with our team and uh it's the end of the

51:26

day. And then he's on the way out and

51:30

he's about to call a cab to go to the

51:32

airport. I'm like, "No, I you're in my

51:35

hometown. I cannot let you go to the

51:36

airport. I will give you a ride to the

51:38

airport." So, I get in my car and he's

51:40

in the front seat. My colleague's in the

51:41

back seat. He takes off his tie and

51:43

rolls up his sleeves. I can see all the

51:45

tattoos. I'm like, "Oh, so you're like a

51:47

legit text like, "Yeah, I don't do all

51:49

of this. I just did this for you all.

51:50

This is your dress code." I was like,

51:51

"Oh, James is cool." He was like, "Man,

51:53

yeah, you guys are doing great work."

51:55

And you know, now I'm talking to the

51:56

real James Turnball. And uh he invited

51:59

me to give a talk at Puppet Cough. and I

52:02

went to go give that talk. It was my

52:04

first like real conference talk and I

52:07

talked about some low-level kind of

52:09

puppet integration stuff and I had a

52:11

little comedy in there. It was like the

52:12

first time I felt like I could just be

52:14

myself on stage. Before I came home,

52:16

Luke Kenise, the founder of Puppet, we

52:18

sat down in a little coffee shop in

52:21

Portland, Oregon, and he was like, you

52:23

know, would you like to work here? I was

52:26

like, yes, like of course, 100%. And of

52:30

course there was a nice salary increase

52:31

and I could work remote. I didn't have

52:33

to leave Atlanta immediately. And I

52:34

remember coming back and uh my manager

52:37

really appreciated all the progress I

52:39

was making over the years. I kind of

52:40

made a name for myself. And I remember

52:42

he gave me a nice little raise just out

52:44

of the blue. And he slid this envelope

52:46

to me and I opened it. It was a nice

52:48

number in there. I was like, "Oh, that's

52:50

great." I was like, "But here's a thing.

52:52

I'm resigning. I'm going to go work for

52:54

Puffet." And then he said something that

52:56

was dope because we had a kind of, you

52:57

know, difficult relationship depending

52:59

on how it went. But overall, he helped

53:00

me mature. That's one thing I will

53:02

always say. He helped me really be

53:04

mature. And uh he was like, "I'm

53:07

surprised you stayed here this long,

53:09

right?" As like this ultimate compliment

53:10

that you stayed here beyond the just

53:13

getting better or making an impact. You

53:15

literally changed this culture. And the

53:18

full circle moment happened like 7 years

53:20

later when Kubernetes came out. I

53:22

remember coming back to that office and

53:24

they had already been running CD in

53:26

production, Kubernetes in production and

53:29

even some of the old tooling I had was

53:30

still running and to me that was like a

53:33

really important feedback that sometimes

53:35

if you make an impact lasting impact is

53:38

way different that even when I wasn't

53:40

there they still had the culture to say

53:42

there's new technology and we know how

53:44

to bring it into the stack. So at this

53:46

point

53:48

containers were starting to start right.

53:52

How did you first come across containers

53:54

and very early on you realize this is

53:57

going to be big and important?

53:59

>> I didn't.

54:00

>> Oh you didn't? No, because I'm at puppet

54:01

labs. You know, before that I was

54:03

contributing to core Python stuff like

54:05

virtual imp pi on the team that was

54:08

trying to integrate some of the Python.

54:10

Python had a package management problem

54:12

even back then. And so I'm all in on

54:14

Python and then when I'm learning

54:16

Puppet, I'm all in on Ruby at that time.

54:19

I'm thinking DevOps plus configuration

54:21

management is the end all beall for

54:23

everything. And really at that time

54:26

we're talking 2011 2012 in my mind the

54:29

competition was only between Puppet Chef

54:31

and Anible. That was it. And so I'm all

54:34

in and I'm working at Puppet Labs. And

54:36

so we're kind of in some ways I felt

54:38

like we were dictating the future. We

54:40

were going to companies and getting them

54:41

to understand configuration management.

54:43

We were talking about the benefits of

54:44

like speeding everything up and you know

54:47

doing all these compliance. We were

54:48

moving people from SharePoint to

54:51

executable code to implement these

54:53

things. So we thought we were just

54:55

getting started. There was no world

54:56

where we then think that we needed 10

54:58

more years of that, right? We even got

55:01

money from VMware to integrate Puppet

55:02

into that. Chef was being integrated

55:04

into AWS at that time. So this was like

55:07

the thing that finally were finally

55:09

getting there. We just got to teach

55:11

system administrators to become

55:12

engineers via DevOps and started

55:14

embracing these tools. And then the

55:16

first thing that I saw come out was

55:17

Golang.

55:18

>> Mhm. And I remember sitting at my desk

55:20

and I was like,

55:21

>> you know, at that time we were hitting

55:23

performance issues with Ruby,

55:25

>> right? The global lock interpreter. You

55:27

can't do more than one thing at a time,

55:28

not easily.

55:30

>> And so we moved to things like J Ruby.

55:32

We even did closure for some part of the

55:34

puppet stack. And I remember we were

55:37

thinking about should we start doing

55:38

stuff in C++?

55:39

>> Mhm.

55:40

>> Should we start doing stuff in C? But

55:42

the problem is contributors. What would

55:44

we do with all the Ruby contributors,

55:46

right? we were relying on things like

55:47

Ruby gems and it's going to be it was

55:49

going to be a hard sale and I remember

55:50

downloading go for the first time and

55:53

the thing that sold me on it I remember

55:55

um one of the prototypes that I built

55:57

was factor so factor is one of the

55:59

agents in puppet that gives you facts

56:01

about a machine so this is Red Hat this

56:04

kernel version this is what the users

56:05

look like and it would give that to

56:07

puppet so that your configuration code

56:08

had context on what to do and that was

56:11

written in Ruby and sometimes it will

56:13

run slow because you're reading all

56:15

these files serly. And so I remember I

56:18

was like, "All right, let's try this Go

56:20

Lang out." And I remember I wrote the

56:23

code on my Mac,

56:26

compiled it, SCPD it to a Linux box. I

56:29

was like, "Oh, this is crazy." And I

56:31

remember running all the facts in

56:33

parallel, and it came back in a fraction

56:35

of the time. I was like, "Yo, we got to

56:38

use Golang for stuff." And I remember

56:40

the team was like, "No, it doesn't work

56:41

for Solaris or AIX because Puppet was

56:43

now moving into the enterprise." I was

56:45

like, that's the criteria? No way. But I

56:48

got it, right? I've gone through this

56:50

maturity thing before. And then

56:52

Terraform comes out. But before Docker,

56:56

Terraform is trying is starting to

56:58

challenge things a little bit, right?

56:59

And it's starting to use things like Go,

57:01

at least that was on my radar. So

57:03

Terraform is like, who cares about the

57:04

node? It's all about the APIs. And all

57:07

of us come from the server world and

57:09

everything's about an agent on a node

57:11

versus the cloud starting to take over

57:13

at this point, right? So, so Terraform

57:15

was built with the cloud in mind, right?

57:17

You you could configure your cloud

57:19

environment infrastructure as a code.

57:21

>> Yeah. And we were trying to do this from

57:22

a node. We were trying to teach puppet

57:24

how to talk through by having this

57:26

indirection where you have to go through

57:27

a node to configure a server in the

57:29

cloud. It was so weird. But then

57:31

Terraform Mitch Hashimoto, right? Like

57:33

he was a big part of the DevOps movement

57:35

early too. Then he was like frag Vagrant

57:37

was written in Ruby. So he was part of

57:39

that same ecosystem. And then he splits

57:41

off and there's this going. I'm like,

57:43

look at that. They're using Go for this.

57:45

And I remember when Docker came out,

57:47

Puppet at that time was the one pushing

57:49

innovation. We're asking people to think

57:52

a little different,

57:53

>> get out of their comfort zone. And then

57:55

Docker comes out and most of the office

57:57

was dismissing this as like, nope, this

57:59

is a fad. They don't even have config

58:02

management in this thing. They don't

58:04

really understand enterprise. This is

58:06

just kind of not like a toy. They were

58:07

not being disrespectful, but no one saw

58:10

this as a challenger. what we were doing

58:13

and I looked at it and I didn't get it

58:16

immediately

58:17

until I left. When I left Puppet, I

58:21

built this tool called CompD. I went to

58:22

go be a VP of engineering and I got to

58:26

write Go code. So, we started rightfully

58:28

so. We looked at all the Java heavy

58:29

usage and I earned the trust of the team

58:32

and we started rewriting some of the

58:33

microservices in Go, shrinking our cloud

58:35

footprint and we sunseted it and got it

58:39

all into production, the Go code. I was

58:41

like, we don't really need Puppet

58:42

anymore. And I open sourced this project

58:44

called CompD and it would pull variables

58:47

from CD and generate just enough config,

58:49

just the parts of Puppet that I thought

58:51

made sense. And then Docker was out. And

58:55

then I was like, wow, we can probably

58:56

stop moving Python files around. We can

58:59

probably package them up. Not in our

59:01

case.

59:01

>> And the idea with Docker was right, that

59:03

it it would define a virtual machine or

59:05

a container, right? So to me the big

59:07

value of docker at the time was

59:09

previously I had definitely did the work

59:10

to make RPMs for every app even the

59:12

custom apps RPMs are the red hat package

59:15

management y

59:16

>> so if you're on a red hat system you can

59:17

do yum install engineext yum install

59:19

postgress but most people

59:21

>> even today don't package their third

59:24

party apps like the apps that a

59:26

development team would write you're like

59:27

no we just put cicd we'll copy them over

59:29

there maybe put them in a tarball but we

59:32

usually never went to making official

59:34

Debian packages or RBM packages

59:36

But puppet meant you didn't have to go

59:38

through all of that work and you can

59:40

still end up with a package something

59:42

that was repeatable. So all the stuff we

59:44

used to do with Python and virtual in

59:46

all the things you used to do with Ruby

59:47

gems and you know the virtual

59:49

environments we have for that we got rid

59:51

of it just squish it all into a docker

59:53

container and you got rid of a lot of

59:55

dev tooling. So this is why I think it

59:57

resonated so much with developers

59:59

because we cleaned up the mess of

60:01

working on multiple projects and so I

60:04

was attracted to that comp was

60:06

compatible with that and then coro was

60:09

the thing that I was like you know what

60:11

I think I know what I want to do but I

60:13

didn't understand distributed systems

60:15

not to the degree what coro was doing.

60:18

So when I moved to the the what was the

60:20

idea behind coros was like Google's

60:22

infrastructure for everyone else and so

60:25

at that time we did there was a tool

60:26

called MSOS um the board paper had

60:29

already been published I tried to read

60:31

it when I was at puppet labs I don't

60:32

understand any of this stuff is hard to

60:35

install I couldn't justify it but we

60:37

would see kind of the rumblings of the

60:38

Twitter folks talking about the

60:39

distributed system and all this maybe

60:41

big data stuff is going around but I was

60:43

like I just don't understand it seems

60:45

incompatible with the stuff that I think

60:46

about even as someone who's worked at

60:48

Google that had a system like this,

60:50

right? They had Google cluster file

60:51

system at this time. It didn't seem as

60:54

complicated as this MS thing. So I was

60:55

like, I dismissed it. But what cores did

60:58

was build on top of Docker. Cor is like,

61:01

what if we had an operating system that

61:03

only had Docker on it? Everything is

61:06

written in Go. We can have a little key

61:08

value store where you can put your

61:09

config and we would just synchronize it

61:11

to all the machines. And that was so

61:13

compatible with the comp dway way. And

61:15

so I'm looking at this cores thing. And

61:17

I'm like, yo, this looks a little bit

61:18

more like the future because that's what

61:20

we used to do. You know, I had at this

61:22

time I was a software developer at

61:24

Puppet. I was a software developer, VP

61:26

of engineering at the other company. And

61:28

I was like, you know what, ops can learn

61:30

a lot from the uh Docker way of thinking

61:33

about the world because as a system

61:35

administrator, we always try to make the

61:36

OS small, remove things you don't need

61:38

so it can be secure and repeatable.

61:40

Docker was like for the things that need

61:42

to change, just put it here and isolate

61:45

it. And Cororos is like, "What if you

61:47

had an operating system designed only to

61:49

do that?" And I met the Cororo team at

61:52

Gopher Con, a Go language conference.

61:56

And they saw me present. And what I

61:58

learned from the puppet days, every

62:00

presentation is an interview. I don't

62:02

think a lot of people think about it

62:03

that way cuz people are looking at you

62:06

on stage and they get to see what you're

62:08

about. And so at Gopher Con, I remember

62:11

also Rob Pike and the original creators

62:13

of Goldinger. Oh, this is like the first

62:15

Gopher Con, right? And so the original

62:17

creators, Russ Cox, all these people I

62:19

look up to, Brad Fitzpatrick, and

62:21

they're all in the audience. And I

62:24

remember I had a talk, two things. I'm

62:26

sitting in the audience waiting for my

62:27

turn. I'm number four on the list or

62:29

something like this. And the two people

62:31

who started Gopher Con, they're just

62:32

from the community, Brian Kettleston and

62:34

Eric St. Martin. And they're new to this

62:37

conference scene. Like you could tell,

62:38

right? You know, they were the best MC's

62:40

in the world. But they were like, "Hey,

62:42

welcome to Gopher Con." And at the point

62:44

in time, Ruby is still dominating. And

62:46

down the street, there was the Ruby

62:48

conference going on. And we were just in

62:50

this other building. And I remember the

62:52

first talk they introduced Rob Pike and

62:54

he gave this amazing keynote around

62:56

Hello World. He went up all the way down

62:59

to the compiler. He went all the way up

63:01

and he described how the language took

63:04

shape. It felt simple on the surface,

63:06

but it went super deep. And it's like

63:08

Rob Pike had also come full circle from

63:10

his AT&T days through Unicode through

63:13

all the stuff that he's ever done. And

63:15

now we get to see one of his best works,

63:17

Golang. And my talk was titled Golang

63:20

for system administrators. I wanted them

63:21

to see that there's a better way. The

63:23

way they introduced Rob Pike, though, I

63:24

was like, "Oh man, this is Rob Pike. You

63:26

got to you got to have more energy than

63:28

that for Rob Pike." So, I'm sitting in

63:30

my chair and I don't know them, but I'm

63:32

sitting with a buddy of mine from that

63:34

company where we rewrote everything in

63:36

Golang, Billy Click. We're sitting next

63:38

to him. Say, "Hey, Bill, I'm going to go

63:39

ask them, can I be the MC?" He's like,

63:43

"What?" Okay. So, I'm whispering. And I

63:45

walk to the backstage. It's like, "Hey,

63:47

Eric, uh, Brian, uh, can I try my hand

63:51

at being the MC?" And they're like,

63:54

"Sure." Right? And they knew who at

63:55

least who I was because they accepted

63:57

the talk. And so I don't know if it was

63:59

after Rob, but I came out next. So like,

64:02

"Hey, I'm Kelsey High Tower. You may not

64:04

know me, but I'm going to be your MC for

64:06

the rest of the day." And I don't know

64:08

what happened because it was my first

64:10

time doing that. I'm cracking jokes. I'm

64:13

having fun. And I said, "Hey, from here

64:16

on out, when anyone comes to the stage,

64:19

it needs to be loud in here to the point

64:21

where we can get kicked out." And so I

64:23

was, "All right." Hey, so our next

64:24

speaker and I think it might have been

64:27

Derek Coloulston, you know, he's like a

64:29

Google. He was talking about some ghost

64:30

stuff and I remember it got really loud

64:32

and then they come on stage. So if you

64:34

were a speaker ever before and it's like

64:36

you walk up to basically a standing

64:37

ovation, you're energized, everybody is

64:41

excited. I don't care what you do, the

64:43

energy level is high. And so he comes

64:46

out, he's having a good time, the

64:48

audience is having a good time. And then

64:50

eventually it was my turn. And I

64:52

realized like who introduces me. So I go

64:54

onto stage and I was like I'm next. So

64:57

we're going to try it like this. I'm

64:59

going to go back and I'm going to come

65:00

out and you guys gonna make a lot of

65:01

noise for my talk. And then I remember

65:04

just like sliding slowly behind the

65:06

curtain. So everyone's now laughing. And

65:08

then the music comes on and I walk out

65:11

surprised like hey. And everyone's

65:13

clapping and I do this talk and at that

65:16

time it's live demo or nothing. And at

65:19

the time they had this thing called go

65:20

present. So Rob Pike team, they wanted

65:23

to make sure they could use Go for

65:24

everything, even generating a slide deck

65:26

presentation.

65:27

>> It was all in Go.

65:28

>> It was all in Go. So you had this nice

65:30

HTML representation of your slides. You

65:32

just open up your browser.

65:33

>> Hopefully it won't crash.

65:34

>> Hopefully it doesn't crash. And you can

65:36

run executable code in your examples.

65:38

>> So any code snippet you put there, it

65:40

was formatted nicely. And you had the

65:42

little run button so people can see the

65:44

output of the Go code. And so I was

65:46

like, hm, what would a system

65:49

administrator value you can get from go?

65:51

How can I prove it to them? And so I

65:53

wrote a ipixie server in Go. And I

65:56

remember in VMware Fusion that runs on

65:58

your laptop. So if you want virtual

65:59

machines on your laptop, you can use

66:00

desktop parallels or VMware Fusion. The

66:03

thing about VMware Fusion on your Mac,

66:06

you can create virtual machines, but you

66:07

can also swap out the network card. And

66:10

I did one where you can have a network

66:12

card that talks to IPixie. So, I wanted

66:14

to show them how it would um boot up

66:16

multiple machines from a Go Pixie server

66:19

running on my laptop. So, part of that

66:21

demo would start the I had this kind of

66:23

snippet of my Pixie server and I hit the

66:26

run button. So, now my Pixie server is

66:27

running in the background. I was like,

66:28

"So, what can you do with it?" And I

66:30

remember looking in the front row and

66:31

Rob Pike and team are just intimately

66:33

looking at this thing like, "Wow, this

66:35

he just started a pixie server from his

66:37

laptop from Go Present the slide deck

66:41

tool." And so this thing is running and

66:43

I'm like, "All right, let's bring up

66:44

VMware. I got to make sure I switch the

66:46

adapter to the one that supports iPixie.

66:48

Got to do some firmware thing." And then

66:50

I remember I booted the VM. You can see

66:52

the logs in the Go Present of like HTTP

66:55

handing off the image, giving the IP and

66:59

the virtual machine is booting up and

67:01

you can just see the amazement on the

67:04

audience face like did you just do that?

67:07

And then I booted another thing in the

67:09

thing and I'm going through why I think

67:11

that this is a gamecher for the craft

67:14

that we have. We finally have a tool

67:15

where we write high performant things

67:18

with the simplicity of imperative

67:19

programming and we can go beyond just

67:22

scripts. We can actually build systems.

67:24

The audience was dialed in and it got

67:26

loud like after you know things were

67:27

working people were clapping. I look in

67:29

the back and there's a whole bunch of

67:31

people now standing and I recognize some

67:33

of the names because they're from the

67:35

Ruby community. These are people that

67:36

are writing the Ruby books. And then,

67:38

you know, after I'm done, there's a

67:40

break and I walk back there. They're

67:42

like, "Hey, we saw on Twitter that you

67:44

guys are just like going crazy over

67:46

here. It's out of control is

67:47

electrifying. We left the Ruby event to

67:51

come here." And so I felt like, man, it

67:54

had arrived. But guess who else was

67:56

there? The Coros team. The Coros team

67:58

was watching me because I was pixie

68:00

booting Coros. This is what I mean is

68:02

every job's an interview. the team was

68:05

like all right we can see that yeah you

68:06

should join the core o team so that's

68:08

how I ended up at coros this is how I

68:10

really felt like the container movement

68:11

had legs and this is what maybe a year

68:13

or two before kubernetes comes out

68:15

>> and then kubernetes came out u and you

68:19

were starting to contribute to that as

68:21

well

68:21

>> yes so my core os and I think the thing

68:23

that's very important a lot of software

68:26

engineers sometimes they look at the

68:28

people on stage and they ask questions

68:30

like does that person know what they're

68:31

doing is this person just like an

68:33

evangelist. Uh, did someone write this

68:36

demo for them? Did they give it to them

68:38

and they just run the code?

68:39

>> Yeah, we we think that, don't we?

68:41

>> Well, I mean, I can see why because

68:43

sometimes

68:45

it's hard to value skills you don't

68:47

have. So, a lot of software engineers

68:49

are terrible. If you put a soft some,

68:50

they can't talk. They can't simplify

68:53

concepts. Maybe they can write code

68:55

really well, but this is a set of skills

68:56

that they may or may not have. And so,

68:58

when you see someone like that, you're

69:00

you're you're questioning them. And I

69:02

remember giving a talk one time at

69:03

Strange Loop about Cedd and CRO OS and

69:06

someone was like

69:08

do you understand uh is isd like a CA

69:11

system or AP system like the cap theorem

69:13

and the question was kind of loaded like

69:15

we don't think you even know what that

69:17

means. I was like um CD is going to

69:20

always favor consistency. He was like

69:22

that's not correct the RAF paper blah

69:23

blah blah. I said listen you said Etsy

69:26

D. Let me show you this is the raff log.

69:30

This is my three nodes. I'm going to

69:32

turn off two. And you notice I can't

69:34

write any keys. So availability has been

69:36

sacrificed.

69:38

Consistency is being preserved. I'm

69:40

going to start another node. There's

69:42

going to be a handshake. There's going

69:44

to be quorum. I will be able to write

69:46

keys. Now it works. That's the cap

69:48

theorem in reality. So it doesn't matter

69:51

what the rap paper says that you're

69:52

talking about a raff log on a single

69:53

implementation. Raph doesn't talk about

69:56

cluster membership, leader election, how

69:58

it's implemented, and what you should do

70:00

in the different modes. That choice is

70:02

yours. And this is how D is implemented.

70:04

And I remember he was like, "Oh

70:06

this guy actually knows what he's

70:09

talking about." Being at Coros, we were

70:12

working on our own fleet management

70:14

system called Fleet. We're using systemd

70:17

and we're trying to synchronize configs

70:19

through CD and remember in a core os

70:22

cluster all the nodes communicate viacd.

70:26

So imagine using systemd for those that

70:28

have never used systemd you put a unit

70:30

file like I want this process to start

70:32

with these flags you know bind to this

70:34

port and you put it in a directory and

70:36

then systemd will start it and if you

70:38

had a thousand nodes of course you could

70:40

SCP that file to all 1,000 nodes and

70:43

then there you have it. So we decided

70:45

instead of you copying all the files of

70:47

all the nodes just put the unit file

70:50

incd and the node that should run those

70:53

things would then pull from and just run

70:56

those unit files and we called it fleet.

70:58

So we had our own vision of giving

71:00

people a distributed spouse or

71:02

distributed system. About a year goes by

71:06

Kubernetes comes out and everyone was

71:08

like what's that? And we're all we got

71:11

like a day notice. So the Google team

71:13

reached out like hey tomorrow we're

71:15

announcing this thing. Here's the GitHub

71:17

repository. Here's you guys are under

71:19

embargo. Don't talk about it. And so I'm

71:21

thinking we're not part of this story.

71:23

like our our names are not in here just

71:24

say as Google and Red Hat and they're

71:26

going to announce it at Docker Con.

71:28

There's no core OS in here. So, what can

71:30

we do? And I remember I stayed up all

71:32

night. I got access to the GitHub

71:34

repository. I reading all the Go code

71:36

trying to figure out what all these

71:37

binaries mean cuz there's no docs.

71:39

>> Yeah.

71:39

>> And so I got everything working on core

71:41

OS. So when they did the official Google

71:45

announcement, of course there's a famous

71:46

Docker keynote where they unveiled it to

71:48

the surprise of even Docker to some

71:50

degree. And I remember they post their

71:53

number one on hacker news and then we

71:56

post hey what they just said but here's

72:00

how you run it on core o

72:03

>> and some examples and commands and I had

72:05

to do a few patches to get it to

72:06

actually work and I had to build some

72:08

binaries to get things glued together.

72:09

>> You did that overnight.

72:10

>> Overnight I didn't go to sleep. I'm just

72:12

like hey guys I finally figured out how

72:13

to compile everything. I think the

72:15

kublet does this. You have to put this

72:18

there. They had like a coup up SSH

72:21

script, but I had to reverse it because

72:22

I'm not using Google Cloud. We got core

72:24

OS. We're on bare metal. So, I have to

72:26

pixie boot some things. But I think if

72:27

you put all these things in the right

72:29

place, there's this CD thing that's

72:31

ours. We know that. So, we know how to

72:32

use that. But I think the API server

72:34

connects to that. There's no volumes.

72:35

There's no config maps. So, all you can

72:37

do is get this thing stood up and then

72:39

you can submit a config and then it will

72:42

just basically use Docker in the

72:43

background. Okay, I can document that.

72:44

So, we get everything to work and I

72:46

write this nice little guide. Someone in

72:48

our team, they publish it to the

72:49

official core west website. So then we

72:52

launch that on hacker news and then we

72:54

go to number one and everyone is like

72:56

Google just announced this thing. We

72:57

don't know what it is. And then Kelsey

72:59

launches this thing. We now know what it

73:01

is. We know how to install it. We know

73:04

how to run it. So now people are

73:05

downloading core OS just so they can

73:07

play with Kubernetes. And I had a

73:09

keynote probably in a week. I don't know

73:12

what I submitted to the conference cuz

73:13

usually you submit like months ahead of

73:15

time. I was like, "Hey, I know this talk

73:17

was supposed to be about this, but it's

73:18

not today. It's going to be about

73:20

Kubernetes." And people like, "What's

73:21

that?" It's like, "Yeah, it just got

73:22

announced. I'm going to show you." And I

73:24

started giving people live demos of

73:27

Kubernetes and how to make it work, you

73:29

know, using Coros and all these things.

73:31

But the team still wasn't sold because

73:32

we had our own road map.

73:34

>> Yeah.

73:34

>> And also at the time

73:35

>> and and you had your own fleet

73:36

management software.

73:37

>> Yeah. We had our own Kubernetes was now

73:40

competing with it with fleet

73:41

specifically.

73:41

>> Yeah. And also we didn't know we can

73:43

trust it, right? Remember Docker is the

73:44

king. Docker's number one. There's

73:46

Docker Swarm, right? And we're with

73:48

Fleet. And right now, we're like, uh,

73:50

Google also launched years prior a thing

73:53

called let me contain that for you. It

73:56

was a container runtime written in C++

73:58

to compete with Docker. And no one

74:00

cared.

74:01

>> Yeah.

74:02

>> And so we didn't know like maybe no

74:03

one's going to care about this either.

74:05

It's only when I started going home and

74:06

starting doing small contributions and

74:08

starting to read everything and getting

74:10

a feel for it, I was like, "No, there's

74:13

something here." And so for maybe two or

74:14

three months and luckily the founders of

74:16

course were really nice, Alex Pov and

74:18

Brandon, they were just like they didn't

74:21

get mad or anything. I was contributing

74:23

nights and weekends kind of like I was

74:24

at that other company. Uh all of my

74:27

keynotes were more like Kubernetes plus

74:28

core OS. And I remember at some point it

74:31

was inevitable. We all got in a room. I

74:34

became the product manager of core o at

74:35

the time and Alex is like I think you

74:37

got the vision here and we got everybody

74:39

in the basement in San Francisco in the

74:42

office we were like hey guys all in on

74:44

Kubernetes fleet deprecated all these

74:47

things that we're building deprecated

74:49

we're going to go all in and I'm glad we

74:51

did because um Alex Py came up with the

74:54

name operators which is like a core idea

74:55

in the Kubernetes community we put all

74:58

this effort in there me and another guy

75:00

working on a thing called CNI which is

75:01

the networking layer for Kubernetes And

75:04

what Kubernetes really meant for me was

75:06

that previous 15 years of experience as

75:10

a practitioner in the data center

75:13

learning promise theory learning Puppet

75:16

where it works well where it doesn't and

75:18

then understanding that Puppet wasn't

75:20

the only way and then making going

75:22

through all these loops. And so when I

75:24

ended at Kubernetes it felt like this

75:27

would be the thing I would build if I

75:29

only knew how. And that's the way I

75:31

explained it to the rest of the world.

75:33

And at that Gopher Con, maybe the next

75:35

one, there were people from the now

75:39

early Kubernetes community. It's a small

75:41

company called Kismatic. They were kind

75:42

of a cores competitor to some degree,

75:45

but they came up with the idea like we

75:46

should have a conference just like

75:48

GopherCon. We called it KubeCon. Joseph

75:51

got the logo going and the Kismatic team

75:54

kind of put up the money for the first

75:55

event and we really welcomed the entire

75:58

community and now it's been 12 years

76:01

later and the CNCF has done a fabulous

76:03

job of keeping it going. Now there's

76:04

like what 13,000 people here in

76:06

Amsterdam keeping that thing going.

76:08

>> So I asked this from Cat Cosgrove as

76:11

well who was on the podcast. What do you

76:13

think really made Kubernetes break

76:17

through and then just just become the de

76:18

facto way of of orchestrating nodes and

76:22

and and just winning again? There was at

76:24

core o you were building fleet docker

76:26

had swarm like as you said in the

76:28

beginning it it didn't seem like this

76:30

this will be this big

76:31

>> I think the number one success criteria

76:33

was docker so remember there was mos and

76:36

msosphere and they had their own runtime

76:40

corp had come out with nomad and they

76:42

had their own runtime but the biggest

76:44

runtime that had already got global

76:46

consensus was docker so by that time

76:49

there were so many docker containers and

76:50

docker workflows and docker Swarm

76:54

maybe the Achilles heel to Docker Swarm

76:56

was its design. They tried to take the

77:00

Docker API which worked really well for

77:02

one node and expand it across multiple

77:05

systems and it was not the right API to

77:08

scale to another type of thing that we

77:10

needed. And so they kept trying. They

77:12

tried to add storage. They tried to add

77:14

networking but the Docker API was never

77:17

meant for that. And so the Kubernetes

77:19

team was smart. Instead of trying to say

77:22

Google's better than everyone on

77:23

everything, they did a couple of things

77:24

correct. Let's just use CD. Let's just

77:27

use Docker. So you take those two things

77:30

and you take the experience of the

77:31

people who wrote the Omega paper which

77:33

is kind of thinking about what would

77:35

come after Borg and at least the things

77:36

like MSOS.

77:37

>> So Omega was a system where what Google

77:40

would have built after Borg but they

77:41

never built it, right?

77:42

>> Yeah. So they had elements of it. So

77:44

like the omelette, you know, this like

77:46

agent that would like be more

77:47

declarative. a lot of hints from the

77:50

Kubernetes world that will come later

77:51

>> and and then just to be clear Borg was

77:54

and is still Google's way of managing

77:56

their back then hundreds of thousands

77:58

now probably millions or tens of

77:59

millions of of servers and they were

78:02

best in the world with this or they

78:04

still are right so they learn

78:05

>> I think Borg was one of these things

78:06

where you integrate the hardware the

78:08

software the package management the

78:10

configuration management map reduceuce

78:12

right Borg is this thing that just

78:14

expands and grows in some ways I guess

78:16

it's extensible but all that insight and

78:18

knowledge, but then they get so much

78:21

experience with that. If you were to do

78:23

it again, what would you do? And you

78:24

read the Omega paper and it's like

78:27

here's how we what we learn from

78:29

scheduling. It doesn't need to be that

78:31

complex, especially for certain

78:32

workloads. You don't need this like high

78:35

performance overengineer thing. There's

78:37

a simpler way to do scheduling,

78:39

especially if you can give the scheduler

78:41

a bit more metadata about the workload.

78:43

They're also big game changers. Now

78:45

instead of talking about Java versus

78:46

Python versus Ruby, you only have to

78:48

talk about scheduling Docker containers.

78:51

And so I think that's the number one

78:53

success criteria that we were already

78:55

off to a running start because you could

78:58

just reuse the same Docker containers.

79:00

You didn't have to rebuild a new image

79:02

thing. So given that what they tried to

79:05

do in the early beginning was just fill

79:07

in the gaps. And in many ways, yes, it's

79:09

a new system, but it fills in the gaps.

79:11

The one gap that they filled in was

79:13

Docker had an entry point. So if you

79:15

needed a Ruby app that needed EngineX

79:18

and your process, you used to have to

79:20

write a little shell script, the entry

79:21

point script that would do all this

79:23

magic almost imitating an init system.

79:26

Kubernetes is like, no, no, no, you

79:27

don't need to do that. You can just make

79:28

separate containers and then Kubernetes

79:30

would run them as a process tree. And so

79:34

for many people, it's like finally now

79:35

we can have a clear way of thinking

79:37

about application architecture

79:39

>> like blocks. like blocks now instead of

79:41

like you have to open the entry point to

79:43

see what we're going to do versus full

79:46

life cycle management independent. So it

79:47

solves that number one problem. The

79:50

other big one that I think that they

79:51

solve number one we went from

79:52

infrastructure is code to infrastructure

79:55

is data and infrastructure is code is

79:57

like if this do that um bring in this

80:00

module for loops all this stuff and

80:02

Kubernetes is like no no no you have to

80:04

specify exactly the containers you want

80:06

how much memory that they need and then

80:08

we have the status field to tell you if

80:09

they were running or not and you would

80:11

take this data object that you could

80:13

write by hand give it to an API and then

80:16

the control loops would operate on this

80:18

state so That means it didn't matter if

80:20

you had Ruby, Python, or anything. You

80:22

can just take your IDE, write some YAML,

80:26

give it to another tool, manipulate the

80:28

YAML, and then pass it down to the API

80:30

servers. You can build any combination

80:32

that you want it without having to be a

80:34

compiler first. That to me was a

80:36

fundamental game changer that I don't

80:37

know if a lot of people understood why

80:39

it felt very easy to onboard to

80:41

Kubernetes. Cubectl apply object off you

80:46

go. And the last thing I think credit to

80:48

Brendan Burns, the ability to extend

80:51

Kubernetes in a first class way.

80:53

OpenStack didn't have it. MSOS didn't

80:56

really have it. In MSOS, you have a

80:57

scheduler and you built the other part

80:58

of the scheduleuler. So you can have

81:00

Spark, Hadoop, Marathon, but you had all

81:02

these other tools sitting on top of a

81:04

thing. So an extension in MSOS was heavy

81:08

almost like a whole another system. The

81:10

thing that makes Kubernetes powerful,

81:11

there's a data model. We gave

81:13

infrastructure a type system. So instead

81:15

of imperative shell scripts, you finally

81:17

had types. So if anyone's ever come from

81:20

like Python to a type language, types do

81:23

a lot for you in terms of cognitive

81:24

overhead. Like you really know what goes

81:26

into this function. If you put the wrong

81:28

thing into this function, it doesn't

81:30

even work like you can't pass a string

81:31

where an integer needs to be. Kubernetes

81:34

brings the same semantics to

81:35

infrastructure. And finally, now it's

81:37

much safer to automate things because

81:40

you're gluing together things that

81:41

actually have structure and types. I was

81:43

about to say the reason we love types

81:45

and every language is goes towards them

81:47

is safety and it eliminates a a whole

81:49

class of errors.

81:50

>> Yeah, you can do things like static

81:51

analysis. You can have other tools

81:53

compile different things and ensure that

81:54

they have the exact same thing and you

81:56

have this validator tells you that's not

81:57

the right object, that's not the right

81:59

field. And so once you have all of those

82:02

things, you can build a really nice

82:04

deployment system. So coupl deploy these

82:07

containers, no problem. But what about

82:08

everything else? So instead of trying to

82:11

evolve Kubernetes to do everything,

82:13

Brendan Burns, I remember sitting next

82:14

to him, he's like, "Kelsey, let me show

82:15

you this thing, you can extend

82:18

Kubernetes just by giving it a

82:21

description of what you would like your

82:23

object to be." So if you were thinking

82:24

about this from the rest world, hey, I

82:26

need a user, here's the credit

82:28

operations, and just give it to the

82:29

thing and it does everything else for

82:30

you. And so when that came out it's like

82:32

so if I wanted to manage let's say a

82:36

firewall like yeah you can describe a

82:38

firewall and you give that to Kubernetes

82:41

and all the tooling works you can now

82:43

say coupl apply a firewall and so now we

82:46

got tools like search management where

82:47

if you want a certificate from let's

82:49

encrypt you can just say what domain you

82:51

want where it should live give it to it

82:53

and now you had a first class extension

82:55

you didn't have to uninstall it you have

82:57

to make some magical binary and it

82:59

really didn't matter what what language

83:00

you on it because once you put the data

83:02

model in place, you got the machinery

83:05

and if you care, if you like Python, you

83:07

can have Python running a loop, grab the

83:09

data and then make it so if bash was

83:11

your thing, you can literally pull the

83:13

config using a bash script and make it

83:15

so and just update the status field.

83:17

That opened up the entire ecosystem. So

83:20

Cisco could come in, do what they wanted

83:22

to do. Red Hat can come in, open shift

83:25

and do what they wanted to do. To me

83:27

that was the gamecher that brought the

83:29

rest of the community in.

83:30

>> And then you joined Google not very

83:33

surprisingly at this point I guess from

83:34

the outside of course but but h how did

83:36

that go? You've been contributing to to

83:39

Kubernetes as well. The team team was

83:41

there. Did you join the Kubernetes team?

83:43

>> No. So by that time I'm at Coros

83:47

Kubernetes has definitely taken off. I'm

83:49

giving lots of keynotes now. Everyone

83:51

wants to know my opinion. I'm making all

83:54

these prototypes. I'm kind of moving

83:55

things forward. There's a Kubernetes

83:57

book now, right? I'm a co-author with

83:59

Brendan Burns, Joe Beta at the time. I'm

84:01

like, you know what? I am I'm thinking

84:03

about my exit. So, in our careers, we do

84:06

a lot of work to get into this field.

84:08

All the certifications, the boot camps,

84:10

the studying, some of us college, and

84:13

then once we get in, we're thinking

84:15

about career progression. Dev, senior

84:17

engineer, principal engineer,

84:19

distinguished engineer, and we spend

84:21

almost our entire lives on that

84:22

trajectory. And our field is so young

84:26

that some of our pioneers are finally

84:28

like no longer here for the first time.

84:32

We're not used to that and we're not

84:35

really used to people retiring. Like Rob

84:38

Pike just retired. The concept of an

84:40

exit for individual contributor or a

84:43

leader in the tech space is we don't we

84:45

didn't have a lot of those. Lionus is

84:48

still at it. He's not retired, right? So

84:50

we don't spend a lot of time thinking

84:52

about the exit plan in our field. If

84:54

you're a professional athlete, your body

84:56

will tell you when it's time to go. And

84:58

so when at core OS we reached this peak,

85:00

I felt like I've done everything I've

85:03

ever wanted to do

85:05

>> in in the tech industry.

85:06

>> In the tech industry from 1999 to being

85:09

unsure of myself to seeing myself on the

85:12

side of museum buildings, full landscape

85:16

view because people are coming to see

85:18

what I think about where technology is

85:20

actually going. And so it comes full

85:23

circle. You get a bit of taste of the

85:25

fame. You can look at GitHub and you

85:28

meet people. We use your libraries. We

85:30

used your command line tools. I started

85:32

my career like some people were not even

85:34

born when I graduated high school and

85:36

they started their careers from those

85:38

books. And so I felt at the time that I

85:40

had come full circle and I was starting

85:43

to think about the exit part of that

85:45

journey. I remember spending time with

85:47

Jet Propulsion Lab, JPL, part of NASA.

85:50

And I remember being there and and I was

85:52

so excited because the movie The

85:55

Martian, had just wrapped up filming

85:56

there, and they gave me a tour of the

85:58

facility, like the Mars rover, the new

86:00

one before they launched it to Mars.

86:02

They were QAing. It was just going in a

86:04

circle around the track. And I'm like,

86:06

had a little laser on there so it can

86:07

split rocks. And they were showing me

86:09

how they improved the wheels over time.

86:11

I went to another lab and there were a

86:14

bunch of scientists working in there and

86:16

it looked like a fish tank and I

86:18

described it that way was like yeah we

86:20

we determined that if you want to

86:21

replicate parts of Mars surface and I

86:23

might be getting this wrong that the

86:25

rocks that you find in like a fish tank

86:26

we can replicate some of this stuff and

86:28

maybe slightly different than that. As

86:30

I'm watching these people work and he

86:31

showed me like how spacecraft has

86:33

evolved over the last 20 or 30 years and

86:36

I'm like wow you all seem to have an

86:38

actual purpose. For the first time I've

86:41

seen people using technology not to just

86:44

make more apps not to add numbers in a

86:46

database but to actually have humanity

86:50

do something. And so they were not all

86:52

about Kubernetes and Docker and Python

86:54

and Go. They were like we're just trying

86:56

to get a person to Mars and back again.

86:59

I remember in part of the interview

87:00

process that their interview questions

87:02

are if you had to deflect a meteor, how

87:05

would you do it? But it has to hit one

87:07

state.

87:08

So now you're in the leadership

87:10

position. What would you do? And you're

87:11

just explaining the answer like you know

87:13

I would kind of bring a bunch of experts

87:14

and then you know you got to think about

87:16

the ability to evacuate people and you

87:18

have to explain yourself. And the core

87:19

part of my answer was you would have to

87:22

explain yourself almost 24-hour live

87:25

stream. Here's the trajectory. Giving

87:27

everyone the countdown. Explain every

87:29

decision you're making. I chose

87:31

transparency. I chose truth. I chose

87:34

like, look, we have to deflect it.

87:36

There's no way to make it zero. So,

87:38

we've chosen this state and this is the

87:40

evacuation plan. And we estimate that

87:43

this number of people won't make it.

87:45

We're just being honest with you. No

87:46

need for conspiracy theories. It's live.

87:48

And I was like, wow, what an interview.

87:51

A 20-year career at that point. never

87:53

had an interview that made me feel that

87:55

way. And so I actually was going to go

87:57

to NASA after Coros. I even signed the

87:59

employment agreement. I was going to

88:00

move to Pasadena, California and work at

88:03

NASA on the Mars mission and lead up the

88:06

infrastructure and the infrastructure

88:07

teams. And of course Google called. I

88:09

was like, hey, come to Google. And at

88:11

that point, I was like, for what? You

88:14

have hundreds of thousands of employees.

88:17

I admire Google. I've been there before,

88:19

but not in that capacity. I was going to

88:20

go to the headquarters.

88:22

>> Yeah. not not not to the

88:23

>> not to the data center but to the

88:24

headquarters and I and I've always

88:26

admired people like Brian Grant, Eric

88:28

Tune, Don Chin, all of these wonderful

88:31

people that I got to work with through

88:32

the Kubernetes community. In many ways,

88:34

I felt like I was already working on the

88:36

team because by that time I had commit

88:38

access to Kubernetes. So, I kind of felt

88:41

like all the things I wanted to achieve

88:43

in that regard was there. And so, I was

88:45

like, why would I come work there? I'm

88:47

just going to be a cog in the wheel. I'm

88:48

going to go there. I'm just going to

88:50

disappear. you're going to just make me

88:51

work on Google stuff all day long.

88:54

What's the value in that? I've seen the

88:55

peak of this. And they were like, we

88:57

won't do that. I was given the

88:58

opportunity to do Devril and it's the

89:00

first time I ever did it. But devro

89:02

represented freedom.

89:04

No tickets, no write code measured

89:07

against squee benchmarks. I was like, I

89:09

don't want that. I want to be able to

89:11

make impact. And so the team was smart.

89:13

They were like, look, we got this area

89:14

called Devril and we'll let you define

89:16

what you do.

89:17

>> So you got to write your job description

89:19

pretty much.

89:20

>> Yeah. But as an entrepreneur, I know how

89:22

this goes.

89:23

>> How does it go?

89:24

>> If you come in and you really do Devril

89:26

stuff, in my mind, you're going to get

89:28

fired because if you limit yourself to

89:30

the external perception of Devril, you

89:32

go to conferences and you become more of

89:34

an evangelist, you do tutorials and

89:36

guides. For me, those are activities.

89:39

I'm a person of impact. And so, the

89:42

first thing I did when I got to Google

89:44

was like, where's the customers? How do

89:45

we make money on cloud? So, I need to

89:47

figure out how to talk to the customers.

89:48

So, hey, where's the sales rep?

89:50

If you ever need anyone with Kubernetes

89:52

expertise, call me. I will fly to

89:54

Disney. I will go to Walmart on site and

89:58

I will whiteboard for 6 hours because

90:00

that's the revenue component. So

90:02

globally went to Australia, Canada,

90:05

doesn't matter. We don't even have a

90:06

region there yet. I'm going to bootstrap

90:08

it. So now I'm growing my impact on the

90:11

revenue side.

90:12

>> And and the reason you said if you would

90:14

have gone as Defo, you would have been

90:15

fired because you would have not been

90:16

generating any revenue. I just felt like

90:18

I was going to be fired.

90:20

>> But but this is just like thinking as an

90:22

entrepreneur as like you want to make

90:24

money.

90:24

>> I want I want to make sure that I'm

90:26

impacting the business. And for most

90:27

businesses, revenue is the criteria. And

90:30

no one ever made me do that by the way.

90:31

It wasn't like Demetri.

90:34

It's like no no. To me, I understood the

90:36

value of revenue. So I would go out and

90:39

I was able to do it in an authentic way.

90:40

I'm just talking about the same things I

90:41

was talking about before. And then

90:44

product impact. This is cloud. Why limit

90:46

yourself to Kubernetes? There's

90:49

serverless, there's databases, there's

90:51

metrics, there's there's so many things

90:52

here. So now I'm like, I need to learn

90:55

everything and I want to employ all of

90:57

my skills. So it turns out my time in

91:00

financial services means I can be an

91:02

exec sponsor. I knew how to go from

91:04

hello world to hello revenue. So if I

91:06

got into an exec briefing, I didn't

91:08

waste everyone's time showing them the

91:09

latest feature of Kubernetes. Doesn't

91:11

make sense. They want to know how these

91:12

tools come together to lead to actual

91:15

app impact and outcomes. And so I

91:17

matured there and I also got smart. You

91:21

got to go to other teams and you read

91:24

the OKRs, right? So another team might

91:26

say, "Hey, Kelsey, we're really trying

91:27

to get more adoption on our metric

91:28

stack." And I remember the first thing

91:30

that I started implementing at Google

91:32

was a thing called empathetic

91:33

engineering. So you have a lot of smart

91:35

Googlers. These people are brilliant. I

91:37

mean extremely brilliant to the point

91:40

where the hardest problem Google had in

91:42

my opinion was what to build. Not how to

91:45

build it, what to build.

91:46

>> They could do that.

91:47

>> And in some cases you end up with like

91:48

five messaging systems and but the thing

91:51

is what to build seemed to be the most

91:53

pressing problem. And so the one thing

91:55

that I tried to do was like how do you

91:57

convince other engineers, you know,

91:59

their manager, how do you get them to

92:01

trust you? And I started these

92:02

empathetic engineering sessions where

92:04

the first one was like get the

92:05

Kubernetes team in one room. All of them

92:07

engineering off-site. I want you all to

92:10

install Kubernetes but you can't use any

92:11

scripts. And remember these some of them

92:13

are distinguished engineers and

92:14

principal engineers. Some of them worked

92:16

on Borg. Some of them are just the

92:17

original creators of Kubernetes itself.

92:20

And it was so fun to watch them struggle

92:22

because it's like do we install Docker

92:24

first? What version of Docker? Can we

92:26

put this on your bunt too or does it

92:28

need to be Red Hat? And so an hour goes

92:30

by, teams of four are like, "Nah, man.

92:32

This is doesn't work." I was like,

92:34

"Great, you all can stop. I'm going to

92:36

show you how I would do it." And of

92:37

course, I know how to do this because I

92:39

get to prepare, right? So, not a knock

92:41

against them. I'm just like, "All right,

92:43

Debian, tune the kernel this way. Put

92:46

Docker on there. Put FCD, put the API

92:48

server, put all these things. There you

92:49

go. That's how you do it." And I was

92:51

like, "Yeah, I mean, of course, you had

92:52

prepare, of course." And so, the

92:55

question then was from an engineering

92:56

perspective, how will we make this

92:57

better? And then people are like well if

92:59

we had OS packages this could have been

93:01

appit install and we could have just

93:03

used local machinery like that's a good

93:05

idea. Someone was like we will make that

93:06

happen. Another person was like even if

93:08

you had those packages though you still

93:10

need to know what order and where the

93:11

config files go. So coupube admin was

93:14

born which was a command line tool that

93:16

gave you a procedural thing. But the

93:17

other thing that I remember from my

93:18

career was I don't want just a tool that

93:21

abstracts everything from me. I want to

93:22

know how it works. So I wrote the guide

93:24

Kubernetes the hard way. And that guide

93:27

is what I used to help teach people at

93:29

GitHub in the early days pre-Microsoft

93:31

how to like run Kubernetes on bare metal

93:33

and and walk them through that guide.

93:35

And so it was that empathetic

93:37

engineering that helped me make a huge

93:38

impact on cloud because I can go to

93:41

every team, every org. And instead of

93:43

guessing what their road map should be,

93:45

given someone who had spent time in the

93:47

field, given someone that had this

93:50

enterprise background, hands-on

93:51

experience across lots of tooling, I

93:53

knew where people were coming from, I

93:55

would say based on where Google sits in

93:58

the landscape and in the competitive

94:00

landscape, given what our abilities are

94:02

and what our customers need, I think

94:05

this is it. But I never said it that

94:07

way. I would get everyone in the room.

94:10

>> You you would have them discover it.

94:12

have them discover it. So you

94:14

>> and nudge them.

94:15

>> So you you you knew what you think the

94:18

key the most important problem areas

94:21

were for example and then you

94:22

orchestrated a session to help people.

94:25

>> I try to always know the two things in

94:27

multiple product areas that would make

94:29

the most impact aka revenue that would

94:31

get adoption and so and then launches

94:34

versus landings. You would put all these

94:36

things in motion. They would land at

94:38

different times. So launches is we ship

94:40

the thing, people have a big

94:42

celebration. I know that doesn't matter

94:44

as much as the landing. People are

94:45

actually paying for it. So when I got

94:48

good at that cycle,

94:50

the promotions were a little predictable

94:52

because I would be able to make impact,

94:54

right? Sometimes you build prototypes

94:56

and sometimes you would contribute to

94:57

things like cloud functions. But the

94:59

overall goal though was to use every

95:02

skill you had. So working with PMs, we

95:05

got to add Go support to cloud

95:06

functions. We're the team that made Go.

95:09

Amazon has support in Lambda for Go. We

95:11

need to do this. And also, I have a

95:13

keynote at the next Gopher Con and I'm

95:15

talking about serverless. And I have two

95:17

choices. I have to use Lambda or we can

95:19

use Go Functions. And so, we sprint. We

95:22

get it done. We get all the Googlers

95:24

reality. We get it checked in. It's in

95:26

alpha. And I tell the PM, "Hey, you want

95:28

to go to Gopher Con? We'll launch it on

95:30

stage." We launch it on stage. We tell

95:33

people how we designed our worker, how

95:35

the internals work. and then they can

95:37

just come sign up. That was the

95:39

trifecta. You do the work, you have the

95:42

vision, you execute, you launch, and you

95:45

land.

95:46

>> Land.

95:46

>> And the landings compiled over seven

95:49

years is how you go from like I think

95:51

maybe L5 to distinguish engineer

95:54

>> L9. That's like four promotions.

95:56

>> Yeah. Four promotions, seven years. But

95:58

it's interesting because a lot of times

95:59

when you ask someone on, you know, how

96:02

they got promoted, let's say, yeah, four

96:04

four times in seven years at a place

96:05

like Google, I would expect just being

96:08

naive that they will tell you like,

96:09

okay, this is how I planned or like this

96:11

is what you need for each level. But

96:12

sounds like it's it's a very different

96:15

you just had landings that that created

96:17

impact like and and you were focusing,

96:19

do I read it correctly, that you were

96:20

not focusing on your promotions or the

96:23

next next level? You you just wanted to,

96:25

you know, do the best work that you

96:26

could.

96:26

>> Oh, no, no. I was focused on your next

96:28

levels because that was the goal.

96:30

>> Because think about it, if my whole

96:32

career, I've always tried to acquire the

96:34

skills and make the impact so I can move

96:37

to the next level. And so at Google, the

96:40

levels were expressed as promotions. And

96:42

there was a point in time in the org

96:44

that I was in, there was no level seven

96:46

for an individual contributor. So now we

96:48

have to make a level seven. And then

96:50

once you get to a level seven, now you

96:52

kind of pave the way for the other

96:53

people that want to come up through that

96:55

icy path. And then level eight isn't the

96:57

same as level seven. Level eight isn't

96:59

the same or level 9 isn't the same as

97:01

level eight. And yes, there is a formula

97:04

to some of the promotions early. So from

97:06

3 to four, four to five is a little

97:08

formulaic. You have a ladder. There are

97:10

things that are expected of you. And the

97:12

decision making on those type of

97:14

promotions are localized. Meaning your

97:16

manager, maybe a director. But then

97:19

outside of that though, when you start

97:20

to go higher, it's now expanded where

97:23

there's now other teams that have to

97:25

understand your impact in a way that

97:27

can't be biased by a local team. So if

97:30

you think you've made a lot of impact

97:32

and then people across the org do not

97:33

agree, that allows you to really

97:36

throttle what impact means, right?

97:37

Because if it's just your team, I really

97:39

like this person. Now everyone's a

97:40

distinguished engineer. And so I think

97:42

Google did a really good job of saying,

97:44

look, it was okay to be like L5 or six

97:46

for your entire career. Yeah, that's

97:48

their terminal level. I think it used to

97:49

be L5, now it's L4 actually. Okay. But

97:52

they moved it back cuz I I think L5 has

97:54

gotten a bit tricky and they don't want

97:56

to fire really good L4s.

97:58

>> Exactly. So, and I think for a lot of

97:59

people, you can follow the formula and

98:01

get to where you need to be. But I was

98:03

like, at the time, I think there's like

98:04

a couple hundred distinguished

98:05

engineers. So, as an entrepreneur, if

98:08

you show me the top of the mountain, I

98:10

want to get there.

98:11

>> So, then you were targeting, you're

98:13

like, all right, how can I get to the

98:14

next one? To the next one. and impact

98:16

was the name of the game, right?

98:18

>> Yeah. And I guess the only thing I would

98:20

probably add to the moment or to the

98:21

situation was I wanted to do it

98:23

authentically. And so there was one part

98:26

of the time I remember I didn't get one

98:27

of the promotions, but I was getting

98:28

promoted pretty fast. So of course

98:30

people like, "Dude, you need to actually

98:31

make an impact before you get promoted

98:33

again. Stop it." And that was good

98:34

feedback. But I remember I took a

98:36

chance. So there's a pattern to doing a

98:38

promotion packet like structure. There's

98:41

examples and you go through all of this

98:43

stuff and you get feedback. I remember

98:44

one year I was like, I'm not doing that.

98:46

This year I'm just going to talk in like

98:48

the first person. Hey, I'm Kelsey. I

98:50

work on these things, not these things.

98:52

These things are important to Google.

98:53

So, here's exactly what I did, but more

98:55

importantly, here's the people I brought

98:56

along. Here's the teams I've impacted

98:58

and here's the results of this. So, I

99:00

did this project and here are the

99:02

results of that. And I'm talking in this

99:03

way like I'm ignoring the process. I

99:08

don't really care about the template.

99:10

And as someone who at that point in time

99:12

was on some of the promotion committees

99:13

where we're looking at the promotion

99:15

packets and making a decision as a team,

99:17

I decided to write my packet for those

99:19

people so that when they got it cuz

99:22

look, if you're having to do a read a

99:24

lot of these, it's it's hard. You're

99:27

like, "Oh man, they're all so dry.

99:29

Everyone's being very safe. Everyone's

99:30

only telling me what I want to hear. I

99:32

don't even know the person from after

99:34

reading this whole packet." I said, "I'm

99:35

not going to do that. I want them to see

99:37

me as if I was in the room advocating

99:40

for myself. And I remember getting

99:42

feedback on that package like, Kelsey,

99:43

this is like, come on, bro. This is, you

99:46

know, things. I was taking it seriously.

99:47

It wasn't I wasn't making a mockery of

99:49

it. I just wanted to make sure that they

99:51

understood what I was doing and I was

99:53

aware that I wasn't just trying to play

99:54

the game. I was trying to approach this

99:56

process authentically. And I got

99:58

promoted off of that packet. And look,

100:00

it could just be sometimes the work

100:01

sometimes speaks for itself, but a lot

100:04

of times people can't see the work if

100:05

it's not presented correctly. And so

100:07

that kind of slingshot I mean and the

100:09

reason why I tell that story is that

100:11

every distinguished engineer doesn't get

100:13

there the same way. Everyone thinks

100:15

like, oh, how much code did you write?

100:17

What complex thing did you build? And

100:20

for me, I think it was the impact on

100:21

Google Cloud's culture. The empathetic

100:23

engineering thing became an official

100:25

thing that they used to onboard other

100:27

engineers. It became things that had a

100:29

whole team behind it. They used to go

100:30

give them and a product manager that

100:32

would evolve the program and integrate

100:34

into HR the philosophy around other

100:37

engineers saying, "Kelsey, we just did

100:39

an empathy session. I want to show you

100:41

the results of it because we're about to

100:43

ship it." And then engineers started

100:45

really thinking about the customer. I

100:47

mean, Amazon was always known for that

100:49

to some degree, but to help Google get

100:51

on the same page, I mean, I'm pretty

100:53

sure other people had an impact, but

100:55

there was a direct line of impact from

100:57

those type of programs and also me

101:00

diversifying, moving away from

101:01

Kubernetes into the serverless realm,

101:03

moving to the world where you're helping

101:05

out the Postgress or the Spanner team,

101:06

add a Postgress interface, the Go team,

101:10

getting a little bit better with cloud,

101:11

just making other people successful

101:13

around you is one of those things that

101:15

helps you become distinguished. is the

101:17

impact, the ability to influence.

101:20

>> Before you got to the distinguished

101:21

level, you you shared a story about

101:23

Microsoft in an offer. Can can you tell

101:25

us about that?

101:26

>> Yeah. So, I'm one of those people. I

101:28

don't like ultimatums. That's it's hard

101:30

for an ultimatum would be you're working

101:32

at a company for a couple years. You're

101:33

doing a really good job. And I'm just

101:34

going to make up numbers here just to

101:36

protect everybody, but just say you're

101:38

making $100,000.

101:40

And for a lot of times, you could be

101:42

happy with 100,000. And so a company

101:44

says, "Hey, we're hiring." And you go

101:47

there, you do an interview, and they

101:48

say, "Look, we're paying $120,000."

101:51

At that moment, you are actually worth

101:53

$120,000. Cuz you now have evidence from

101:55

the market. The $100,000 you currently

101:57

make doesn't look so good anymore. You

102:00

can't unsee a job offer for 120.

102:04

And so now you have to make a decision.

102:06

You can commit to that. Leave your job

102:09

and go make 120 and start over. Or you

102:12

can do the ultimatum thing. If you don't

102:15

pay me 120, then I'm leaving. And that

102:19

puts everybody in a weird predicament

102:20

because sometimes it doesn't have to be

102:22

that adversarial. Sometimes it's just

102:25

this is evidence that, hey, look, I want

102:26

to advocate for myself. I know we're not

102:28

in promotion cycle, but I believe I'm

102:31

worth 120 and I would like to have that

102:33

conversation. And someone would say,

102:35

hey, well, you need to go prove it. It's

102:36

like, well, I have an offer if you want

102:37

to see it, but I would rather be here.

102:40

And that can turn into a you went to go

102:44

look for another job. It's like, oh my

102:45

god. So I'm stuck.

102:47

>> They can have weird dynamics, right?

102:48

Especially with your manager or or your

102:50

management chain.

102:51

>> Exactly. So I was always weary of that,

102:53

but I also knew that in business,

102:56

that's just how it goes. And so I'm

103:00

really at the peak now. I'm thinking

103:01

like early retirement. I'm probably can

103:03

get out of here at what 55 60 if I

103:06

continue on this pace.

103:07

>> Yep. And then Microsoft is like, "Hey,

103:09

come through." And look, I never had an

103:12

executive recruitment process. So by

103:14

this time, I'm probably considered an

103:16

executive at Google. Once you hit like

103:17

L7, you're kind of considered like an

103:20

executive.

103:20

>> What What is an executive?

103:21

>> So an executive just means that you

103:23

probably have uh an admin to help you

103:25

with some of the tasks you're doing.

103:27

You're probably going to be asked to be

103:28

an executive sponsor of things and

103:30

programs. So if a team wants to have a

103:33

program for something and there's going

103:34

to be a budget for that, you may have to

103:36

help oversee that program. So they need

103:38

executive sponsorship. Another

103:40

engineering team knows that they're

103:42

going to need budget for something and

103:43

they need someone that has a little bit

103:45

of political capital, a little bit of

103:47

weight in the organization to help

103:48

endorse them. So that can be executive

103:50

sponsorship or you might be assigned to

103:52

one of the largest c customers the

103:54

company has. But that executive set of

103:56

duties means that you're going to be

103:57

making impact above and beyond yourself

103:59

typically to support other parts of the

104:01

organization. So I grew into that at

104:04

Google. Microsoft was like, we want you

104:06

to start there. And here's the thing, I

104:10

didn't think about my role that way

104:12

there. I'm still the old Kelsey from

104:14

Coro West days, right? I'm just doing

104:16

well here. And I wasn't going to

104:19

interview at Microsoft. I'm like, for

104:20

what? I'm at Google. I mean, I had a lot

104:23

of freedom at Google. I was making

104:25

impact at Google. I had a good

104:27

reputation.

104:29

And so, I'm like, "No, my trajectory is

104:30

fine. I'm not doing that." And to be

104:32

honest, I don't like Windows.

104:35

I I didn't like Azure. I don't like

104:37

.NET. I like GitHub. VS Code is nice,

104:41

but my whole career, the majority of it,

104:43

has been rooted in authenticity. I've

104:45

been working on the things I actually

104:46

like and care about. this would be one

104:48

of the first times maybe outside of some

104:50

of the enterprise roles that I'm going

104:52

to go work on a set of technology that I

104:55

wouldn't use on purpose. And so I went

104:58

there and I met the Microsoft team. And

105:00

the weird thing though is I had a

105:01

recruiter and they swapped the recruiter

105:03

out and it's like, "Hey, our mistake."

105:04

I'm like, "What do you mean mistake?

105:05

This person was super nice and they

105:07

asked for a resume and I didn't have a

105:10

resume cuz it's been seven years

105:11

>> cuz you had to create one."

105:12

>> Well, it's been actually 15 years at

105:14

that point since I ever had to show

105:15

someone a resume. So, I'm like, "Reme?

105:18

Oh, man. I haven't made one of those in

105:20

a long time. I'm looking online for a

105:22

template. Like, what's the style of

105:24

résumés these days?" And so, I'm like

105:26

trying to figure out a resume. I'm like,

105:27

"See, this is why I don't waste time

105:29

interviewing. I don't got time for this

105:30

anymore." And they swap the recruiter

105:33

out and it's like, "Hey, sorry about all

105:34

that. You we don't need no resume.

105:36

Sorry, that's not this kind of process.

105:38

What we want to do is make sure that you

105:40

meet the right people who represent

105:42

Microsoft." I was like, "Okay, that's

105:44

different." So, I get on site. I'm like,

105:46

"Okay, what kind of quiz questions are

105:48

we going to be prepared for?" You're not

105:49

doing quiz, bro. You had commit access

105:51

to Kubernetes. You wrote the book on

105:53

Kubernetes. You're leading these things.

105:55

You helped start K. Come on. Like, you

105:56

have a Wikipedia page. Like, there's We

105:58

don't need to try to figure out whe you

106:00

made the impact. We can just look at

106:01

GitHub. There's evidence there. And so,

106:04

I'm meeting all these leaders. They're

106:06

bringing all these people who are behind

106:08

the scenes. I remember meeting Scott

106:09

Gunry for the first time. And I didn't

106:11

really know who he was because I just

106:12

didn't know how I didn't know the

106:14

lineage and the history of of Microsoft.

106:17

And you know, of course, I'm looking up

106:18

who these people are and and I was like,

106:21

"Wow, this is they're courting me. Oh,

106:24

this is what that feels like." I mean,

106:26

Google did it a little bit too, but not

106:28

like this was like I'm I'm looking I'm

106:30

looking at the these are the executive

106:32

directors of

106:33

>> this is like reverse interview. They're

106:34

not interviewing you. They're trying to

106:36

sell themselves.

106:37

>> You know what? And that's the thing that

106:38

I appreciated a lot because they were

106:40

like this is your career. You built a

106:42

fantastic career over there. We can't

106:45

ask you to throw that away without

106:46

understanding what you would be doing

106:48

here. And so it was like you can if you

106:51

want to understand the business if

106:53

there's someone you haven't gotten a

106:54

chance to talk to just give us a name.

106:56

And I'm talking to them and the one

106:58

thing that I really respected about

106:59

Microsoft was I think by that time they

107:01

had also acquired GitHub. And so they

107:03

had a big vision for themselves, a lot

107:05

of diversity. And I was like, "Okay,

107:07

there's a lot of opportunity here."

107:08

They're also all in on Kubernetes. They

107:09

had just acquired people like Das and

107:11

Brendon Burns is there. So I was like,

107:13

"All right, Kelsey, you can come and

107:14

make an impact there. There's room to

107:16

grow." I'm like, "All right, I might do

107:18

it." All right. So I'm glad I did the

107:20

interview. And I get home and it felt

107:22

like that time I doubled my salary. I

107:23

told you on the way home and I remember

107:25

I get this email from Satia, the CEO of

107:28

Microsoft. And I'm like, man, he wrote

107:30

this nice email, Kelsey, that I heard

107:31

you had a good experience with the team.

107:33

Remember, I did the interview at the

107:34

Microsoft headquarters, right? So, hey,

107:36

heard really good things from the team.

107:38

Just wanted to let you know, you know,

107:40

you're going to be respected here. We're

107:42

going to support you as a team. I'm

107:44

like, damn, support as a team coming

107:46

from the CEO. And the offer was like a

107:49

PDF. It's an attachment. So, I read this

107:52

thing and so number one, what an honor.

107:56

This is the CEO of Microsoft. Yeah, so

107:57

many more important things to be doing

107:59

than to be emailing me about a role. And

108:03

I open a PDF and as a like very often in

108:07

your career there's a zero get added to

108:09

the equation. And so you're looking at

108:11

this like I didn't even know that they

108:14

do that. We know that it happens,

108:18

but the person that graduated from high

108:19

school in 1999

108:21

that chose the A+ certification didn't

108:23

know that was available even while I was

108:27

at Google having all this success. And

108:29

Google paid me pretty well, too. But I

108:31

know you can add another zero still. And

108:33

so I'm like, whoa, this is this is

108:36

crazy. And I'm like, wow. So I um I

108:38

showed my wife and she was the one that

108:40

said, "You should just go interview.

108:41

Like put your ego to the side and let's

108:44

go see what's out there." So, shout out

108:45

to my wife. And so, I get the PDF and

108:47

I'm like, okay, this number is perfect.

108:50

Honestly, I don't know what to say, but

108:52

let's just just find out like, is this

108:53

really the only number? So, I remember

108:55

given a counter like, you know what, I

108:58

think it should be this. And the funny

109:00

thing is Microsoft counter back higher.

109:02

So, we're not playing around. I'm like,

109:03

oh, whoa, now I understand that I don't

109:07

understand this part of the game.

109:08

>> Yep. And so I have this offer and I knew

109:11

that I wasn't going to go interview

109:13

there if I wasn't serious about taking

109:15

it. So I was serious about going to

109:17

Microsoft been almost 6 years at that

109:20

time at Google and I went to my manager.

109:22

I had the same manager which is

109:23

legendary at Google. I had the same

109:25

manager for 6 years straight even with

109:28

all the reorg manager the whole time. He

109:30

was a director. So even when I got

109:32

leveled up they allowed at least someone

109:35

one level above still to report to a

109:36

director. And I had a such a good

109:39

relationship with them and I told them

109:40

what happened. I said I wasn't looking

109:42

and they asked me to come in. So I went

109:44

in and I'm going to take it. Number one,

109:47

it will be financially irresponsible to

109:49

not do this. So that will be the driving

109:53

force and also I get to stretch myself

109:55

in another way and see if I can make an

109:57

impact again. He's like, "Okay." Um, but

110:01

it was no ultimatum. I was like, "I'm

110:02

leaving." And he's like, "I'm just

110:05

curious what Google would say." I said,

110:08

"No, not great. I don't want to do

110:09

Ultimatum."

110:10

>> Yeah. You don't believe in it?

110:11

>> I mean, I do believe in it, but I didn't

110:13

want to do it.

110:13

>> You don't want to do it? Yes.

110:14

>> I didn't want to do it

110:15

>> cuz you understood the dynamics.

110:16

>> The dynamics, especially I in in many

110:18

ways, Google had been really, really

110:19

good to me in every facet. So, it wasn't

110:22

ultimatum time. It was more like I've

110:24

earned it. And he said that too. I gave

110:26

him the PDF and he looked at it. He just

110:28

started smiling and like, "Oh, wow.

110:31

Whoa."

110:32

And then he said something that was

110:34

really dope. He says, "I want you to

110:37

know you're worth every penny of this."

110:40

And I was, "Oh,

110:42

the whole

110:43

>> That's That's

110:45

>> a game changer because he knows me like

110:47

no other person I've ever worked with.

110:50

No one knows me as well as Greg does. He

110:52

knows my strengths. He knows my

110:54

weaknesses. He knows my ambitions and my

110:56

motivations. He knows all of them. For

110:58

him to say that, it was important." And

111:00

so I'm thinking if Google wanted me to

111:04

be at that level, they would have done

111:05

it already. But also, pragmatically

111:07

speaking, no one really knows your

111:10

situation. Like all these people have

111:11

thousands of people they manage. They're

111:13

not targeting you or being mean to you.

111:15

At least in my case. And so maybe they

111:18

thought I was making that kind of money

111:19

already. Maybe they thought that I was

111:22

already a distinguished engineer. That

111:24

how would everyone in the or know? They

111:27

got other things to worry about. So he

111:29

presents the thing to them and I think

111:32

within hours they're like this is no

111:33

problem. Like hey here's the you know

111:35

don't worry about that number. Here's a

111:36

bunch of stock and all these things and

111:38

I'm looking like whoa whoa. So now I

111:42

have the money and I'm at the company I

111:45

want to be.

111:45

>> And you didn't do an ultimatum.

111:47

>> I didn't do the ultimatum. So I felt

111:48

good about the relationship. I didn't

111:50

feel like um there was going to be some

111:52

retaliation. I had no fear about that.

111:54

And I continued to be successful.

111:55

eventually got promoted to distinguished

111:57

engineer at Google told the Microsoft

111:59

team no but the one thing that people

112:01

saw from this I didn't talk about this

112:02

at that time but I did do a tweet and

112:04

the tweet was different company same

112:07

team a lot of people's like what does

112:09

that even mean different company same

112:11

team but people were you know retweeting

112:13

it and they liked it and people oh it's

112:16

because of the community stuff and how

112:17

the different people in the community

112:19

work together and that was part of it

112:21

but a big part of it was that moment

112:22

that Microsoft got me the biggest

112:25

raising my career at Google and about 3

112:28

to 6 months later I was in San Jose and

112:32

Satia was there and his admin is like

112:35

hey um Sate would like to just you know

112:38

meet me with you I'm like the CEO of

112:41

Microsoft got time to do anything so I'm

112:43

in San Jose and then I go to this hotel

112:46

and the admin meets me downstairs like

112:48

hey Santi kind of ready to see you now

112:50

and I'm going up and now he know I'm

112:52

coming right like let's just say the

112:54

meeting is at 1:00

112:55

He knows I'm coming for like days and

112:57

then you go into the hotel room and like

112:59

the the doors are open overlooking a

113:02

mountain range and Sati is sitting there

113:04

overlooking the mountain range like a

113:06

vanity fair photo shoot and I remember

113:10

before on on the plane ride there I'm

113:12

reading his book hit refresh and I

113:15

remember the opening chapter he talks

113:17

about starting Microsoft as a developer

113:20

advocate and now being CEO of Microsoft

113:24

advocating for the soul of Microsoft

113:27

because he had been there so long. You

113:28

saw the birth of cloud and all these

113:30

things. I was like, "Oh, this and the

113:31

book was actually a pretty good read

113:33

about his trajectory in the industry and

113:37

his time at Microsoft." So, now I'm done

113:39

with the book and I'm about to meet him.

113:42

So, I have all this context in my head.

113:44

So, when I walk through, I felt like I

113:46

had this rapport with him for some

113:47

reason because I read the book and then

113:50

he's looking out over the mountain range

113:52

and I walk through the door. was like,

113:53

"Sate, why are you sitting here like

113:54

this? You knew I was coming, so you're

113:55

just posing like we're doing a photo

113:57

shoot." And he just started laughing.

113:59

And so the tension, at least for me, was

114:01

way down. And we had a discussion. I

114:03

won't repeat everything here, but he

114:05

said something dope. He said, "We were

114:07

sitting around at the table and we asked

114:10

ourselves, what executive did we want

114:12

that got away? That means that you still

114:16

were in the minds of of at least some

114:18

people." He's like, "You were on that

114:19

list." And uh we had a discussion and he

114:22

was very transparent and he said um we

114:24

gave you a good offer. We think we gave

114:26

you a good offer and at that time Thomas

114:29

Karen had just come from Oracle. My

114:32

personal opinion I liked his leadership

114:33

at Google but I can understand why some

114:36

people were afraid of the Oracle DNA

114:38

being brought to Google. And I think

114:41

maybe some people in the industry felt

114:42

like oh this is a moment to go and maybe

114:44

poach a few people that didn't want to

114:46

make that transition. and he said

114:48

something like, um, we gave you a offer

114:50

as if you were running away from

114:52

something and we should have gave you

114:54

something to run towards. And I was

114:56

like, damn, that that's poetic. And so

115:00

we wrapped up that meeting and I really

115:02

felt like, man, I actually belong to the

115:04

industry. It wasn't like I'm a Googler

115:06

or Kubernetes person. I really felt

115:09

after that moment that I was an industry

115:11

person. So I was very comfortable at

115:13

that point retiring within the next year

115:15

or so. You talk with Sachio Nadell and

115:18

about a year later you retired. How how

115:22

did that thinking come up to because you

115:24

were mentioning that you kind of had

115:26

your retirement. You were thinking about

115:29

your kind of endgame or exit game.

115:31

>> So before joining Google, I kind of felt

115:32

it was going to be possible, right?

115:35

Because now I'm making money. I'm

115:37

saving. I really practice a whole life

115:39

of minimalism. You know, I live way

115:41

below my means. So even when the money

115:42

changed, the lifestyle didn't. I was

115:44

very conservative in terms of what I was

115:46

spending. I didn't care about jewelry. I

115:48

didn't care about buying cars to impress

115:50

other people. That was gone. I felt free

115:52

from that kind of thing in society. So

115:55

the money started to become like freedom

115:57

tokens. This money means I can get out

115:59

of the game. And so everyone, at least

116:01

the people I know or what I attempt to

116:03

do, you set this number and then when

116:05

you blow past the number and if you're

116:07

still a little young, you're like,

116:08

"Well, maybe I can change the number."

116:11

But the thing I was careful not to do

116:12

was to change the lifestyle because I I

116:14

watched people around me change the

116:16

lifestyle so you can make a lot of money

116:17

and still be broke. And I was like, I

116:19

want to avoid that because at that point

116:22

I used to ask questions, why am I doing

116:23

this? And for me personally, I felt like

116:27

I was lying to myself. I love this job.

116:30

And it's like, no, you learn to love it.

116:32

And being someone who was good at it,

116:35

you tried to figure out working around

116:37

the people you like helps you love it a

116:40

little more. Working on the things that

116:42

you're curious in helps you love it a

116:45

little more. But you can't deny the

116:46

pressures of just enterprise, stock

116:48

price, you know, this person wants it

116:51

now. There's a debate on whether we

116:53

should do this or do that. Um, there's

116:56

personalities involved. There's parts of

116:58

it you didn't love. And then the other

117:00

one I thought about was time. Everyone

117:02

thinks they're going to probably live to

117:03

90 or 100 or we don't even think about

117:07

it at all. I

117:09

>> I think a lot of us just don't think

117:10

about it,

117:11

>> right? And maybe it's not healthy to

117:12

think about it, but at some point, I

117:14

think around maybe 37ish, I'm thinking

117:18

like,

117:19

what's the point of doing all of this

117:21

work? Why are we doing this? And I used

117:24

to ask that question in my job. Why am I

117:26

doing this? Why am I writing Python?

117:28

Well, it's because you're a software

117:29

developer. It's like that's not the

117:31

answer. That's the easy obvious answer.

117:33

So I learned to just zoom out. And when

117:36

I started zooming out on my career, it's

117:37

like what are you doing this for?

117:38

Because once I started having a better

117:40

answer when my daughter was born, I'm

117:42

doing this for her. I'm doing this for

117:45

my family. I want to make sure that

117:47

we're all safe and protected. And so I

117:50

started just changing my attitude. So

117:51

for example, when my daughter was born,

117:53

I remember just taking a job where I can

117:55

work overnight. I'm just going to work

117:57

in a knock. I don't really care about

117:58

this job as much in terms of career

118:00

progression as long as I can be home

118:02

with her. So, we don't have to do

118:05

daycare. I'll take my shift, my wife

118:07

takes her shift, but this was the

118:09

priority. So, then I started to

118:10

structure my work life around this. Now,

118:14

I was never great at work life balance.

118:16

I won't lie. My daughter goes to sleep.

118:18

I'm back on that computer trying to

118:20

learn new skills. I probably approached

118:22

a lot of burnout in my career.

118:23

>> I'm glad it's not just you.

118:24

>> No. Yeah. I ain't going to lie. I'm

118:26

saying like, "Oh, and I had to I did not

118:27

have that part figured out." And also

118:29

the thing about burnout, what I think is

118:31

interesting is if you play professional

118:33

soccer and you put in a lot of effort

118:35

and you lose every year. You're going to

118:37

feel burned out. I'm doing a lot of work

118:40

and we never win. But the teams who

118:42

actually win play more games than

118:44

everyone else because they have to play

118:46

the playoff semi-finals. They got to

118:48

World Cup. And if you win it multiple

118:49

times in a row, you play way more games

118:52

than everyone else. But for some reason,

118:54

the champions aren't tired.

118:55

>> Yeah. They're not burnt out.

118:56

>> Because I mean, they probably are, but

118:58

they ignore the feeling because they

119:00

know what's on the other side. And so,

119:02

my career had a lot of winnings. So, as

119:04

I'm pushing the limits, you're getting

119:05

the win. You're pushing the limits. So,

119:07

some of the burnout that is

119:08

psychological, you just dial it back

119:11

because like, wow, this was worth it.

119:14

And so what the money became for me is

119:16

that feedback loop of saying, you know

119:17

what, let me store these things away

119:21

because here's what the math means. And

119:24

I always calculated the math on interest

119:25

payments, not stock increases. At some

119:27

point, you get away from that. Like I

119:29

want vanilla US Treasury bond. What does

119:32

that pay? So how much money do you need

119:34

to live off a fraction of this money?

119:36

And I started just making the

119:37

calculations. And then you start

119:39

negotiating salary around these

119:40

particular things. and you start asking

119:42

yourself, am I making an impact that is

119:44

worthy and deserving of these things? So

119:46

then, of course, you get into things

119:47

like investments, startup stuff, blah,

119:49

blah, blah. But then I'm starting to

119:51

say, oh, I'm getting close. I can see it

119:54

now.

119:54

>> Which looked impossible early.

119:55

>> It looked impossible. So like halfway in

119:58

my career looked impossible.

120:00

Maybe my 401k would do something and how

120:03

much does social security pay and if I

120:05

do everything just right. And then it

120:07

was like, oh, I don't need social

120:09

security anymore. I don't care what the

120:11

stock market is doing, but I have to

120:14

stay the course and be disciplined and I

120:16

have to structure my career in the way.

120:17

So once I got that light at the end of

120:19

the tunnel, I started making decisions

120:21

based on that. I'm going to bet to go to

120:24

Coros instead of something that pays way

120:26

more money. Ah, NASA looked great, but

120:29

man, this changes the trajectory over

120:31

here at Google. Plus, I'm going to have

120:33

to step way up to be able to walk on

120:36

that particular stage. At least that's

120:37

what I told myself. But also, Google was

120:40

the type of place that could pay for

120:41

performance at that level. So, I was

120:44

like, "Wow, this is a good opportunity."

120:46

And so, now that I spent all these years

120:49

thinking about why do you work? I never

120:51

had a good answer, but I never accepted

120:53

the lie. And so, I was like, I'm working

120:56

to be me. And you become a distinguished

120:59

engineer, but you realize you're a

121:01

junior person.

121:03

You didn't put as much work on learning

121:04

how to live and the relationships and

121:07

the things that you do when the computer

121:08

gets turned off. You didn't put any

121:10

effort into that. Not a lot. Not as much

121:12

effort as you put into the work.

121:14

>> What parts are you talking about? Is is

121:16

this the the kind of the friendships? Is

121:18

is this the outside of work? Is this the

121:20

community? What?

121:21

>> Just developing myself. So most of my

121:22

friends I've known for 20 years. We talk

121:25

on the phone all the time. I see them. I

121:27

fly. I see them. That stuff is

121:28

important. I've been married for 20

121:30

years. going to celebrate my 20th year

121:31

anniversary uh in a couple of months and

121:34

I felt like the core parts of my life

121:36

that I wanted to be healthy and stable.

121:38

I think I did those things but there was

121:40

things where you know I remember going

121:42

to Budapest for the first time and

121:45

stayed an extra day. So it wasn't leave

121:48

as soon as the conference is over. It

121:51

was stay one more day. And I remember

121:53

hanging out with people like Liz Rice

121:55

and her team and they were like we're

121:57

going to a bath. the uh what's what's a

122:00

bath? It's like oh it's like big

122:01

swimming pool and we went to one of

122:03

these huge parks where there's like you

122:05

walk in circle and then you go in the

122:07

building and there's all these plunges

122:09

you bath. Yep.

122:10

>> And I was like uh this is not the kind

122:11

of thing I do. The truth was it was the

122:15

kind of thing I never did. Didn't even

122:17

know. So I said sure I'll go. So I went

122:21

there. We rented some shores cuz I

122:22

didn't bring any swim things. It wasn't

122:24

on the agenda. We were there for like

122:26

three plus hours.

122:28

And I was like, man, what an experience.

122:31

And so when I got back home, I didn't

122:33

talk about the conference. I didn't talk

122:35

about the keynote. I talked about the

122:37

escape room we went to and the 3 hours

122:40

we spent at the bath house.

122:41

>> The escape rooms are also good. Yeah.

122:43

>> And so I was like, what the hell was I

122:44

doing? I was moving too fast through

122:47

this thing. And so then I started

122:48

dialing back a little bit. Hey, I got to

122:50

dial back a little bit. And then little

122:52

things like as a minimalist, I always

122:55

tried to live intentional. So, it wasn't

122:56

like the first time I just realized

122:58

there were other areas where I wasn't

123:00

being as intentional. I remember when I

123:03

was listening to music, I was like,

123:04

"Hey, my wife can sing and she knows the

123:07

lyrics." So, sometimes I'm singing a

123:09

song, she's like, "That's not how that

123:11

song goes." I'm like, "I was what I

123:13

remember." And now when I listen to

123:15

music, I actually pull up the lyrics and

123:17

I listen while reading the lyrics so I

123:20

can really understand what the song is

123:23

about. And it's little nuance things

123:25

like that where I was like, "Hey, life

123:27

doesn't need to be so fast." And this is

123:29

why you see me sometimes online like the

123:31

fact that people are overindexing on

123:33

productivity doesn't necessarily sit

123:35

well with me because it's like if you

123:37

just do productivity, you're going to

123:38

miss everything. You're going to miss

123:39

the experience. You're going to miss

123:40

this part that are hard. You're going to

123:42

miss the collaboration with your team.

123:44

If you just go through too fast, you're

123:46

going to move right past it because

123:48

you're a human. You're not a computer.

123:49

You're an actual human and you don't

123:52

work only for productivity. Maybe that's

123:54

what your job believes you are. And

123:56

there's that saying, you're not your HR

123:58

title. And so for me, part of that was

124:00

like dialing back to like, oh, you're a

124:02

human. Act like one. So I started to

124:04

invest in like my relationships, talking

124:08

to people, being patient, go to the

124:10

schoolboard meeting, do some of the

124:12

off-site things, spend more time with

124:14

your child and her games, teach her how

124:16

to drive instead of going only to the

124:17

driving school. Cleaning became a big

124:20

part of my everyday routine.

124:23

And look, if you have enough money, you

124:24

can hire someone to clean your house for

124:25

you. No problem. And there's actually

124:27

nothing wrong with that. But boy, I

124:29

enjoyed the parts where it reminded me

124:32

of all the success you've made. There

124:34

are some people who don't have a stove.

124:35

There's some people who don't have a

124:36

refrigerator. And so when you would

124:39

clean them thoroughly, like take

124:40

everything out, look at all the expired

124:42

food, sort everything back out, clean it

124:44

back to the condition when you bought

124:46

it, put it all back together. And what I

124:48

noticed was for the people who had,

124:52

in my opinion, success, they could

124:54

afford to do that. It is a luxury to be

124:57

able to afford to go slow because when

125:00

you're really, really busy, you need an

125:02

admin because you can't afford to book

125:04

your own tickets. When you're really

125:05

busy, you cannot afford to clean your

125:07

own house. And some people would say, I

125:09

make way more money having someone else

125:11

clean my house than I can go make money

125:12

doing everything. It's like, I promise

125:14

you, money isn't everything. It is not.

125:17

And so for me, I said, "Wow, now I have

125:18

time." Cuz some people only have money.

125:21

Now I had both. And I decided that I

125:24

could actually slow down. And the thing

125:26

that maybe some people noticed, even my

125:29

outward projection changed. I was way

125:31

more methodical. And so the work

125:33

changed, the keynotes changed because I

125:36

started to incorporate the philosophy. I

125:38

brought the people into the keynote. And

125:40

I started asking questions like, I know

125:43

what I want to show them, but then how

125:45

do I want them to feel? Because I wanted

125:48

sometimes I wanted people to feel

125:49

excited. Sometimes I wanted people to

125:51

feel a little bit embarrassed by the

125:52

state of our industry and the complexity

125:55

of what we added for no reason. And I

125:58

noticed I was just starting to be like

126:00

the full Kelsey was starting to be on

126:01

display. So then I was like, "All right,

126:03

it's time to retire. What am I going to

126:05

walk out to?" And luckily, I was

126:07

practicing just enough of like who

126:10

Kelsey is to start doubling down on that

126:12

as a retireer. And I didn't necessarily

126:14

do a good job. I'm only 3 years into

126:15

this. So, I'm a junior retired person.

126:18

And I make time for lots of things, but

126:21

I still want to hold on to all of this

126:23

knowledge, all these parts of our craft.

126:26

So, I'm still doing advisory, I'm doing

126:27

investing, I'm still doing public

126:29

speaking. I don't speak as much about

126:31

low-level technology things.

126:33

I do try to put a little bit of

126:34

philosophy in there, but I know that I'm

126:36

still holding on to that part of my ego.

126:38

Can

126:38

>> you tell me a little bit about the

126:40

advisory and the investing, both how you

126:43

got started, what advising means? I

126:45

think a lot of us software engineers are

126:47

curious about this and some of us will

126:49

have opportunity and also the investing

126:51

part, the the good, the bad, and the

126:52

ugly. You can now speak freely.

126:54

>> Yeah. So look, I think if you're a

126:56

software engineer, as you progress in

126:58

your career, you will be an adviser.

127:00

Because if someone wants to build

127:01

something, a junior engineer does

127:04

exactly what they ask. If I get this

127:06

ticket, I want to do a good job. I want

127:08

to get it done on time, exactly as you

127:09

ask. Bugs and all. And then as you get

127:12

more experience, you know that the

127:13

person's asking may not know what

127:15

they're asking for. So you're going to

127:16

be an adviser. Hey, if we did that, it's

127:20

going to add a lot of complexity and

127:22

you're not going to get what you want.

127:23

What I think you want is this. Let me

127:26

show you. And as an advisor, you're not

127:29

necessarily the person's boss. You're

127:30

just trying to give them something that

127:32

they don't have. So, you're advising.

127:35

Sometimes you become an engineer and you

127:37

get really close to the executive team,

127:39

but they check with you before they make

127:40

any big decisions. So, you're an

127:43

advisor. When you start to advise at a

127:45

very high level, then you also share in

127:47

the outcomes, right? A lot of software

127:49

engineers that work at larger tech

127:51

companies, they have equity. So if you

127:53

just don't focus on heads down do your

127:55

job and you get into more of those

127:57

advisory roles then you start to realize

127:59

that maybe you start to have a little

128:01

bit of effect on the stock price right

128:04

so my actions if they turn out well then

128:07

we get there so okay so how does

128:08

advisory work in the startup world when

128:10

when I first started doing it it feels

128:13

like an exact waste of time number one

128:16

VCs have large amounts of money so they

128:18

can invest in a thousand companies and

128:21

ideally one of them will return the

128:22

entire fund. But when you and I do like

128:25

in angel investing or advisory,

128:27

typically when I started advising, you

128:29

would take advisory shares. 99.99% of

128:33

the time they're worth absolutely

128:34

nothing. Number one, you're going to get

128:35

diluted to hell and back.

128:36

>> Oh yeah.

128:37

>> You don't even know how the taxes work

128:38

on this thing. You may exercise them in

128:40

the wrong way and you may end up paying

128:42

money.

128:43

>> Yep.

128:44

>> And getting nothing in the end. So then

128:46

you start having this allergic reaction

128:47

to like advisory shares, especially if

128:49

you get the ones that are way low on the

128:51

totem pole. So then I'm like, you know

128:53

what? I'm never going to work for free.

128:55

I used to say this to myself. You can't

128:56

be working for free. Can't be working

128:59

for free. And the people who respect

129:00

you, they'll never let you work for

129:02

free. And so when someone say, "Hey,

129:04

Kelsey, you want to advise?" I say,

129:06

"Stop this." When I first started, it

129:08

was like, "I need some equity." So

129:10

advisory shares, but I understood

129:12

something different now. I said, "Look,

129:14

I might need a quarter point, half a

129:16

point, or a whole point depending on

129:18

where you are with your funding rounds.

129:19

How much risk am I taking giving you

129:21

this time and how much impact will I

129:22

make?" Let's say I ask for a quarter

129:25

point of a company.

129:26

>> Cool. Quarter point being 0.25%.

129:28

>> Yep. Of equity. And I would say, look,

129:30

you know, I used to think you can be

129:32

advising for four years. That makes no

129:34

sense actually in my opinion from

129:35

experience. Advisory, I think, is really

129:38

good for like a year at a time because

129:40

advisory should have impact. It

129:42

shouldn't just be like this. Hey, let's

129:43

talk about what we're doing and you just

129:44

give superficial advice like no it

129:47

should really make an impact. So if

129:50

you're going to make an impact then

129:52

you've earned the equity and so what I

129:54

started doing instead of a four-year

129:56

vesting I would say look I need one year

129:58

no cliff 10year exercise window I'm

130:01

never losing again not on early

130:03

>> not on earth exercise.

130:05

>> So that worked really well. Also, you

130:07

look at Carta and it's all stacking up.

130:09

But I realized that I wasn't necessarily

130:10

avoiding the working for free problem

130:12

because if they don't have a good exit,

130:13

you still get nothing. So, I started

130:15

adding the retainer component. And the

130:18

retainer component, I used to think

130:19

about them as dividends, right? So, you

130:20

may give a dollar amount, it could be

130:22

1,500, it could be 3,000, could be

130:24

5,000. And you get that every month for

130:26

that one year. And so, in your mind,

130:28

it's like, all right, I get $60,000

130:30

plus equity. And now it's like, "All

130:34

right, you should probably call me

130:35

because it's just a very expensive

130:37

person sitting there." I remember the

130:39

first time I had a a decent exit. I

130:41

advised a company uh Pixie Labs. They

130:44

were doing observability with a small

130:47

twist on Kubernetes. They were doing

130:50

this observability and what they were

130:51

doing is leveraging ebpf. So that way

130:53

you didn't really have to add any agents

130:55

or instruments. So the way ebpf works is

130:58

you almost get to the kernel level. So

131:00

if two applications are talking to each

131:02

other at the lower level, I can actually

131:04

see that networking traffic. I can see

131:06

what port it's binding to and I can also

131:08

see that it's a go program and I can

131:09

even walk the tree like a debugger

131:11

would. And so they were doing

131:13

observability this way. And they had,

131:15

you know, almost like, hey, we're going

131:16

to compete with data dog or something

131:17

like that. And as an adviser, I looked

131:19

at it and said, look, you could try

131:21

that, but most people are really not

131:23

interested in changing observability

131:25

stacks just for a slightly different way

131:26

of doing things, even if it is EVPF.

131:28

They're like, "What do you think it

131:30

should be?" So, they're in stealth mode.

131:32

Their investors are like, "Yo, it's time

131:33

to come out of stealth. We got to start,

131:35

you know, getting some revenue from this

131:36

thing." I said, "Hey, we need a few more

131:38

months and we need to take another

131:41

approach." So, I'm sitting with the team

131:43

and I'm like, you know what you have?

131:44

You have like an agentless thing and

131:46

they also have this thing called Pixie

131:47

Scripts that allows you to kind of make

131:49

your own dashboards or aggregate your

131:51

own metrics. And I started like, oh, if

131:53

you're a system administrator, you can

131:54

wrap them like command line tools and

131:56

you can like create a thousand clusters

131:59

with these pixie scripts. And so this

132:01

idea that we should pivot just a little

132:03

bit, change the messaging just a little

132:05

bit before we come out of stealth. And

132:07

they gave a couple presentations with

132:08

this agentless observability. And then

132:11

we did a keynote or we did like a pixie

132:14

day before coming out of stealth. And we

132:17

showed system administrators this new

132:18

vision. It went well. I did this opening

132:21

keynote. I showed the vision. I

132:23

interviewed the founders and like why

132:24

did this need to exist? Why not just

132:26

data dog? The next day they had offers.

132:30

I think one of them was from maybe

132:31

VMware, but the other one was from New

132:33

Relic and they got acquired by New

132:35

Relic. And I was like, "Wow, what does

132:37

this mean?" And I remember the lawyer

132:39

came and said, "Hey, we need to

132:41

accelerate all your shares

132:44

and this is the money we owe." I was

132:45

like, "Whoa,

132:47

this can work." But also I felt like I

132:50

actually made an impact. We did pivot

132:53

and then the way it works in advisory

132:55

with VCs they like returns and word gets

132:58

around. Kelsey's advisory can have

133:02

impact. So other founders are coming VCs

133:05

are recommending some companies that

133:07

need help. So over time, you know, some

133:09

founders reach out like GMO from

133:10

Verscell reached out like, "Hey, Kelsey,

133:13

this is when they were making their

133:14

pivot from just being purely serverless

133:16

and front end to thinking about going a

133:18

little deeper in the stack." So I spent

133:19

a couple years with the Verscell team.

133:21

Docker can go on and on and that helps

133:24

you build out a portfolio. And so I was

133:27

like, you know what, stocks are cool.

133:28

Remember, I started to devest from that

133:30

once I had my retirement plan in place.

133:32

I was like, but I do like the concept of

133:34

the entrepreneurial mindset. And so

133:37

helping these companies get to the next

133:38

level even for my little short amount of

133:40

time, the little small impact and then

133:42

being able to share in the outcomes

133:44

became a major part of my advisory work.

133:46

So my advice to anyone that wants to do

133:48

advisory work, it really helps to be a

133:50

domain expert deep.

133:52

>> Y

133:52

>> So if if a team is about to build out

133:54

their engineering team and you've been

133:55

an engineering manager or a team lead,

133:58

don't just go say, "Oh, when we were at

134:00

Google, we did it this way." That's not

134:01

what a startup needs. What a startup

134:03

needs is you to say, "Listen, as you

134:04

build out your team, you have to think

134:06

about growth trajectory. You're going to

134:09

have to think about vesting schedules.

134:11

You have to think about personality

134:12

types, impactful work, junior versus

134:16

senior spread, when to bring in

134:18

engineering leadership, when not to.

134:20

That's the type of advisory that can

134:22

help accelerate a startup from one stage

134:24

to another stage. So then that might be

134:26

your type of advisory role. So when you

134:28

meet a founder, say, "Hey, listen.

134:29

Here's my domain expertise. there's an

134:31

impact I can have and if you think

134:33

that's going to be good for you at this

134:34

stage and don't get offended if your

134:37

advisory is no longer necessary because

134:39

maybe they're going to move on to

134:41

something much different than what

134:42

you're good at let them go get a new set

134:45

of advisors because you've done your

134:47

part

134:47

>> yeah I think this is the part of lowe

134:49

ego right

134:50

>> exactly

134:51

>> one thing I really appreciated you

134:53

especially this was very visible after

134:56

you retired that you you took intention

134:58

to understand technologies you had a

135:00

sometime with crypto where you went deep

135:02

and tried to understand it and asked

135:03

really good questions. The community

135:05

response was a little bit weird. I think

135:08

hostile but I'm not a fan of that

135:11

specific community. But the other thing

135:13

that struck me was with Genai as well.

135:15

You of course is everywhere now. It's

135:17

impacting

135:19

everyone is using it trying trying to

135:21

figure out how to best use it. How have

135:23

you gone about understanding Gen AI

135:25

especially with your approach of like

135:27

all right you know one one step at a

135:29

time. I'm very much a people person all

135:32

the way through and through. I'm very in

135:35

tune with myself. Again, when I'm

135:38

cleaning, I'm reflecting. And so, this

135:40

whole game to me feels like it's not

135:42

about the ones and zeros. I know

135:44

everyone wants to make it that way. We

135:45

judge too much of society based on this.

135:48

If you're a billionaire, you're

135:49

automatically getting respect. If you

135:50

have no money, people walk past you

135:52

without a second look. And it's

135:54

unfortunate that it's that way. But I

135:56

really do think about it. And the weird

135:58

thing is when you say you think about

136:00

people, people find that very odd. If

136:03

you're mean, if you're a narcissist on

136:06

Twitter, that's normal. That's expected.

136:08

If you want to get over with people, if

136:10

you want to game the system, that's

136:12

normal. Almost expected. But when you

136:15

say, I want to just be kind to other

136:17

people, that feels weird. People like,

136:20

what the hell is this? No, no, no. We're

136:22

it's we're all just gaming this thing.

136:24

My philosophy around technology really

136:26

is this people first situation. So when

136:29

crypto came out, everyone was like, "Oh,

136:30

we got these tokens, blah, blah, blah.

136:32

Kelsey is open source, you know,

136:34

blockchain." I said, "I don't doubt any

136:36

of these things. I've been a part of

136:38

open source movements. I've been a part

136:40

of things that maybe have threatened

136:41

other people's jobs. I get it. But this

136:43

crypto thing, I can't help not think

136:46

about the financial system in a way that

136:48

impacts real people. Real people are

136:51

forced to work, right? Right? So we go

136:54

back thousands of years. You can go out

136:56

into the forest, get something to eat,

136:58

and that's it. Now you have to get a job

137:01

because the forest is off limits. So now

137:03

we force people into the cycle. This is

137:06

reality. Now you're coming and saying

137:08

you want to change the currency, right?

137:10

Not all of them, but some of them did.

137:12

So I'm not as concerned about how

137:14

blockchain, crypto, that's not as

137:16

interesting. You're saying you want to

137:18

change the currency. There have been

137:20

countries that have gone through

137:20

currency resets. This is not a nice

137:23

experience because if you had a little

137:25

bit of money, a currency reset can mean

137:27

you have now no money. If you had no

137:30

money, it may feel like it's impossible

137:31

to ever get any more money. If you're

137:33

retired, what do you do during a

137:36

currency reset? You don't have any way

137:38

of making new money. You're retired now.

137:40

So, these are very, very real things

137:42

that I thought that group of

137:44

technologists were ignoring because

137:47

money go up. And so when I would have

137:49

those conversations with them, they

137:50

wanted to debate the low levels of like

137:53

crypto and how transactions are settled

137:56

and you know things about encryption,

137:58

the blockchain. I was like, "Yo, that

137:59

stuff is fine. We can go back and forth,

138:01

but at some point we have to talk about

138:02

how it impacts actual people." When

138:04

Genai comes out, I'm now super into the

138:07

philosophy of everything. So there's one

138:10

part of this that's a little personal.

138:12

Of course, we spent all of our careers

138:14

learning all these skills, training our

138:15

own models, right? We learn to program.

138:18

Yeah, we learn to program.

138:19

>> And it's hard.

138:20

>> Well, not just hard, but there's there's

138:22

aesthetics to this.

138:24

>> It's not just blindly typing code.

138:27

There's an art form to it, right? This

138:29

is why we have Ruby. And when you read

138:31

about the about Ruby and Matt's vision

138:33

for having something that can be almost

138:35

romantic to write. Pearl has its own

138:38

subculture. Going has its own culture.

138:41

So, we're not just writing code. And my

138:44

entire career, I always thought about

138:46

writing code as decision-making.

138:49

So before we do anything, we all figure

138:51

out what needs to happen. And then we

138:53

have to convince the computer to do it.

138:55

And every keyword, every if statement,

138:57

every function call is a decision we're

138:59

making. And of course, the syntax kind

139:01

of gets in the way from time to time. So

139:03

Stack Overflow we go. So Genai comes

139:05

out. And early stages, it's kind of like

139:07

people just talking to the machine. And

139:10

I've never been impressed by talking to

139:12

a computer. I'd rather talk to real

139:13

people. So, I don't really care too much

139:14

about that part. Yes, it mims human

139:16

capabilities for people that want to

139:18

talk to a computer. Knock yourselves

139:20

out. But then we get into the code

139:22

generation piece. Now, we're back to

139:24

where I was with the crypto stuff. I've

139:26

used the compiler. It generates a lot of

139:28

code for me. I've been doing that for a

139:31

very long time. I haven't written any

139:32

machine code. Now, I post things like,

139:34

"Hey, I'm adopting the zero token

139:36

architecture." People like, "What's zero

139:37

token architecture?" as like instead of

139:40

burning tokens, you learn things

139:44

and you think for yourself and just

139:46

complete tasks. And they're like, whoa,

139:48

why would you want to do that? It's like

139:50

because we taught the machines. I don't

139:53

know why people skip this step. Hey,

139:56

Kelsey, there's going to be this

139:57

artificial intelligence going to do all

139:59

the things. It's like, but we trained

140:01

it. So all those times I'm writing code,

140:04

the books I've published, the comments

140:07

back and forth on helping people solve

140:08

problems, it's all in there. Maybe it's

140:11

arguable that they have their own

140:12

worldview based on that. And maybe it's

140:14

slightly different, but I can never put

140:16

the machine over a person under any

140:19

circumstance. And I think there's a

140:21

subset, I don't want to say everyone in

140:22

the space is doing this, but there is a

140:24

healthy subset of people who really

140:26

believe what is the purpose of a person?

140:29

Why do we need them to write code? Why

140:31

do we need them to build software? It's

140:32

like maybe you don't understand what the

140:34

job has always been. We are trying to

140:37

solve human problems and we use whatever

140:40

technology is required. In some cases,

140:42

the technology happens to be software

140:45

and software ain't required for every

140:46

human endeavor. And I think a lot of

140:48

people are just in this bubble where

140:50

they believe software is the only way to

140:52

solve any problem. And then they think

140:54

Gen AI solves all human problems.

140:57

>> Yeah.

140:57

>> And this is where I start to push back

140:59

on that narrative. It's like you learned

141:01

to love this job and you forgot what the

141:04

rest of the world is doing. And so I

141:07

feel like some people are now trapped

141:09

and that person again I keep going back

141:11

to that person walking into the industry

141:13

for the first time. Luckily for me, they

141:16

were looking for people that had skills

141:17

and there was a pathway. So many

141:19

pathways for us. Now the new generation

141:22

that's coming out, they're unsure of

141:24

themselves. Hey, I'm watching the news.

141:27

You guys keep celebrating people just

141:29

using Gen AI to do everything. What am I

141:32

going to do? And I just can't accept the

141:34

answer being you're just going to come

141:35

in here and use Gen AI to do everything

141:38

and all you are now just the same.

141:40

>> Okay. So So this is the the one that you

141:42

cannot accept. But of course you're

141:45

through through advising through meeting

141:47

people to talk to through talking to

141:49

people. what what are some of the the

141:51

promising parts that you might see or or

141:53

even parallels to to previous technology

141:56

revolutions? May that be Kubernetes or

141:58

may that be the as as you know we were

142:01

moving to like a lot more powerful

142:03

computers like when when you're coming

142:04

out. So the way I think about it, so for

142:06

example, if I'm doing due diligence for

142:08

the fund that I do due diligence for,

142:10

that means before you make that decision

142:12

to write a check and explain to our LPs

142:14

why we took this position, we need to do

142:16

a little due diligence. And we and the

142:18

way I do due diligence, I want to meet

142:20

the founder, I would like them to walk

142:22

me through the particular product. And I

142:24

go one step deeper. Let's look at the

142:27

code. Let's look at your Amazon bill.

142:30

Let's look at the architecture. Let's

142:31

look at GitHub. How do you manage

142:33

issues? How do you all work together? I

142:35

want to get a sense for the team, the

142:37

product, and its trajectory. And when AI

142:39

is involved, the one thing I just do

142:41

before the thing kicks off in this

142:44

meeting, do not say AI because what we

142:46

don't want to do is use a big umbrella

142:48

to describe what you're doing. Let's get

142:50

concrete details. These are computers.

142:52

These are computer programs. Yes, just

142:54

like when I saw a regular expression for

142:55

the first time is a different way of

142:57

thinking about software than you know

142:59

imperative things. If else then. So, I

143:02

get that, but now you have to show me

143:05

what you're actually doing. So, when we

143:06

do that, when I put that handicap in

143:08

place, now they're forced to show me the

143:11

problem they're solving. They don't just

143:12

say, "Hey, AI for healthcare." Nope.

143:16

Show me exactly what you're doing. And

143:18

so, with that handicap in place, the

143:20

really good founders, really good

143:21

technologist, what they do is they say,

143:22

"Hey, here's our problem and here how an

143:26

industry currently solves the problem

143:28

and here's the drawbacks from that." And

143:29

since they can't say AI, they can't say

143:31

agentic, they just have to show me how

143:34

they make the problem better. Now, as a

143:36

technologist, I know that if I gave you

143:39

a random PDF, there is no easy way for

143:42

you to procedurally program parsing

143:44

PDFs. You just can never anticipate

143:46

everything you will ever see. So, it

143:48

makes sense to use OCR or if you don't

143:50

know what an OCR is, you might say, I

143:52

will go use cloud to do it. Whatever.

143:55

>> There's probably an easier way to do

143:56

this than using a large language model.

143:58

there are smaller models, smaller

144:00

techniques. So my advice to them would

144:02

be, you know, you don't need to use an

144:03

LLM for this. There are smaller models

144:06

or smaller AI techniques that are not

144:08

gen AI. So they're, oh, like good

144:10

feedback. We can probably lower cost

144:11

here. But then when they take these

144:12

technologies and they do something novel

144:14

with it, I'm like, you know what, that

144:16

is a good product for the people doing

144:18

this work. And I'll say, you see that

144:21

you did that without saying AI. So on

144:23

your website, why are you burying all

144:26

the value of this platform by putting AI

144:28

in big layers before we get to the

144:30

value? And so maybe they do change the

144:33

website to actually talk about the

144:34

value. When they do the demos, they

144:36

start with the value versus handwavy

144:39

text boxes where they put in a prompt

144:41

and it does something magic. Physicians

144:43

don't want to do that. They want to see

144:45

some of the other contextual things and

144:47

leverage AI to bridge the gap between

144:49

what they're currently doing and now

144:50

what's possible. So my advice to people

144:52

that I'm advising, you know, all the

144:54

starters, I got to make an AI pivot. I

144:56

said, 'If you all pivot to AI, then you

144:58

all will have a problem. It's like kids

145:00

learning to play soccer. They all run to

145:01

the ball. No strategy. Spread out,

145:04

figure where you add value and play your

145:06

position. So when I'm advising a

145:08

startup, what is your position in this

145:10

big landscape? You can't all run to the

145:12

AI ball. You got to stand back and

145:14

figure out what what value you're going

145:15

to add. So one of the companies I

145:17

advise, they're called Mass Driver. They

145:18

have like a visual kind of

145:21

infrastructure as code. You take

145:22

Terraform, you give it some metadata and

145:24

then you can interact with it visually.

145:26

And part of that visual interaction

145:28

allows you to do things like this app

145:31

needs this database. And just drawing

145:33

that line

145:34

>> allows the credentials to flow to the

145:36

other app under the hood. And now you

145:38

have a config.

145:39

>> Awesome.

145:40

>> So now cloud is the big thing.

145:42

Everyone's like, "No, I don't need that.

145:44

I don't need Terraform. I'm just going

145:46

to use claw to manage the cloud. Now,

145:49

someone with experience, I'm like, "This

145:50

is about to be real fun because I've

145:53

seen what humans do when you just give

145:55

them the AWS console. Watch what cloud's

145:58

going to do when you give it to AWS

146:00

console." And so, knowing this, it's

146:02

like, okay, here's how we can add value

146:05

to this. Number one, we can take the

146:08

things that you have in this visual box

146:10

and split it up into value props. Number

146:12

one, in order to show things visually,

146:14

you have to have context. So let's call

146:17

it the context engine. And then that

146:19

context engine can be queried by cloud.

146:22

So instead of pointing at AWS,

146:24

it's now pointed at only the resources

146:26

you use. And for people to understand

146:28

why this is important, if you take some

146:30

of these agents, they just start

146:32

investigating the console like, oo,

146:35

what's lambda?

146:37

>> Nah, don't need that. But lambda now is

146:39

now running. What's this load balancer?

146:42

Oh, don't need that. But now that could

146:43

be running and you don't even know the

146:45

mess that it made.

146:46

>> Yeah, they don't even know the mess that

146:47

it made.

146:48

>> Yeah, it doesn't even know the messes

146:49

made. So now we say guardrails or give

146:51

it context. So I said, "Oh, okay. So

146:53

instead of doing a full-on pivot in a

146:55

naive way, let's reposition here." So

146:58

now some of the features we have become

147:00

guardrails. Some of the things the way

147:02

mass driver does things with IC or

147:04

infrastructure as code can become

147:06

skills. So now if you bring claw to the

147:09

scenario instead of starting from

147:10

scratch, we can just allow the agent to

147:13

interact with this platform the same way

147:15

humans do. And then what we end up with

147:17

is if a human wants to interact

147:19

visually, it works. If you are just like

147:22

want to have some automation in your

147:24

pipeline, then just call the APIs and

147:26

you still can interact with the context

147:27

and the deployment engines. But if you

147:30

really just want to use cloud code, then

147:32

now cloud can interact with the same

147:35

guard rails and structure that the rest

147:38

of your system does. And then cloud

147:40

becomes a little clear. We're not asking

147:42

it to be magic. We're asking it to be an

147:45

alternative interface for getting

147:47

something done. Skills MD becomes

147:50

implementation detail. And then when we

147:52

do a webinar where we present this, just

147:55

watch the light bulbs go off for the

147:57

people watching and for the team. And

148:01

that to me is the type of advisory where

148:03

you can look at Genai. I'm not just like

148:04

a Genai hater. I just don't like the

148:06

naive promotion and adoption of it. I

148:09

think it should be way strategic. And

148:11

since I think about Genai as a tool

148:13

versus the great human replacement, then

148:16

I can use it in way more primatic ways.

148:19

thinking about it as a tool, what

148:21

capabilities you think it gives us

148:23

software engineers specifically and and

148:25

also maybe what are some areas where it

148:28

can maybe give some overconfidence.

148:30

>> So, one thing I've tried to do is to be

148:32

a little bit more positive in my

148:33

thinking because it would be very easy

148:35

for me to go down the rabbit hole of

148:37

identifying all of its flaws, right?

148:39

Like, oh, look, it makes mistakes or it

148:41

hallucinates sometimes or it overly

148:44

confident gives me a config that then

148:45

blows up production. I'm going to assume

148:48

those will get slightly better over time

148:50

or human in loop will catch those

148:52

things. So I'm going to give it for the

148:53

sake of this discussion. I'm going to

148:55

give it a little grace. The things that

148:57

I think it should do well that I think

148:59

don't get used often enough. There's

149:02

this concept where people really think

149:03

it makes sense to do inference every

149:05

single time. For example, if a human

149:08

writes a piece of code, we'll write it

149:10

once, right? Let's say I wanted to

149:12

authenticate to an endpoint. So I will

149:14

call the code. I'll go look at the

149:16

documentation. and go to Stack Overflow,

149:17

figure out the example. I'll call it

149:19

once. If I have to do this twice, it's

149:22

probably going to become a function that

149:24

I call multiple times in the codebase.

149:26

If I do this like five to 10 times, this

149:29

may become a library that I import in

149:32

multiple apps. So, that's tends to be

149:34

the human flow because there's no need

149:36

to infer or write from scratch this

149:39

particular thing. And we've done that.

149:40

That's where open source comes into

149:41

play. And when we're really doing good

149:44

job, these things get just baked into

149:45

the framework and they're just there.

149:48

>> Sometimes even the OS

149:49

>> in the OS and then sometimes things like

149:51

encryption find its way all the way to

149:54

the hardware, right? We do offloading.

149:56

So this has been the loop that software

149:58

engineers go through for a long time.

150:00

Genai to me should be no different. So

150:03

if you find yourself generating the same

150:05

blocks of code over and over, even

150:08

though it feels fast or convenient, it

150:10

is still insane. Yeah.

150:12

>> At some point you should say, well, why

150:14

is cloud generating the same block

150:16

copying things everywhere? Because we

150:18

know where this leads.

150:19

>> Yeah, we we we've seen that. Of course

150:20

we do.

150:21

>> Yeah. And then people get excited, well,

150:22

COD can refactor all of it. Like, but

150:24

that's a waste of energy. There's no

150:26

reason to do it just because it can. So,

150:29

I hope what developers are really

150:30

realizing, what I realized myself from

150:32

looking at this is the number one thing

150:34

I realized is that most of our APIs were

150:36

designed incorrectly even for humans.

150:38

Right? Now a lot of our APIs have

150:40

already think about infrastructure. You

150:42

have to call like seven APIs to get a VM

150:44

in the cloud. Create a VM, a network, a

150:47

storage device connected to a VPC and

150:49

then attach credentials. Like that's not

150:52

intent based. I want a VM. So the first

150:55

thing you kind of see from this movement

150:56

is things like MCP where we wrap these

150:59

imperative calls into an intentbased

151:01

thing that says create a VM and then

151:04

that reflects out to the other ones. But

151:05

here's the thing. I saw this before

151:07

that. I saw this with Kubernetes.

151:09

Kubernetes does the exact same thing.

151:11

When you say give me a ingress or a

151:13

service in Kubernetes that reflects out

151:16

to seven calls too to create load

151:18

balancers, SSL certificates, DNS setup

151:20

it.

151:20

>> It's just this high in the interface.

151:22

Right.

151:22

>> Exactly. So I've seen this before. So

151:24

I'm looking at this like guys the

151:26

fundamentals of this isn't like

151:27

everything is going to change because of

151:28

MCP. What the hell? A whole conference

151:31

guys? This is just API design. So in

151:33

this particular case, I hope developers

151:35

realized that we shouldn't have fought

151:38

so hard RPC versus REST. There was this

151:41

big tugof- warar around composable API

151:43

>> 2000s.

151:44

>> Yeah. And like a lot of people went down

151:46

this rabbit hole of like create VM. Oh,

151:48

that's a it's not flexible enough. It's

151:50

like so what? Create VM1, create VM V2,

151:53

who cares? Because these are intentbased

151:55

APIs. So I think these new tools are

151:58

reminding us of this. When I look at the

152:00

way people are prompting and how they

152:01

write their prompts, a lot of our

152:03

programming languages were too rigid too

152:05

to express what you really wanted to

152:07

happen. We were so afraid

152:09

maybe Ruby did a better job than some

152:11

other languages where they try to give

152:13

you things like until. So that way it

152:15

was just flowed better as you were

152:16

writing the code. Other languages are a

152:18

bit more rigid. It's like what does FN

152:21

mean? So you have to go look it up every

152:23

single time. So writing code becomes

152:25

very laborous. So when people write a

152:27

natural language prompt, it kind of

152:29

tells us a lot about the intentions of

152:32

of querying a database. So I'm hoping

152:34

developers learn better API design from

152:38

that front. The other part was

152:41

I still get frustrated. I want to learn

152:42

new technology. I go to the website.

152:46

There's a little bit of documentation,

152:47

but for some reason developers still

152:49

write documentations as hints, as clues,

152:53

right? I'm trying to learn a new

152:54

programming language. I won't throw any

152:56

of them under the bus. And I go there

152:58

and I'm just going to go look at the

153:00

standard library. First thing I like to

153:01

do sometimes is just like I'm going to

153:02

parse a JSON file, get a feel for the

153:05

language, and there's like there's a

153:07

JSON library. Sweet. We're off to a good

153:09

start. Click. And you look at the

153:11

documentation, you just see function

153:13

calls. I'm like, can I just see a

153:15

working example? What do I import?

153:19

What do I put in this thing? What comes

153:21

out? And then maybe what do the errors

153:23

look like? I just want to see a full

153:24

example. They're like, "No, you just get

153:27

reference." So then what do we do next?

153:29

Then we search the internet and you

153:31

might land on Stack Overflow, someone's

153:34

blog that they give you a full example.

153:36

So now I got to copy and paste it and

153:38

see what this thing does and hopefully

153:40

it's up to date with the actual

153:42

documentation. This has been the loop

153:44

we've been going through for so many

153:45

years. So when I use things like Claude

153:48

or various tools, they close that loop.

153:51

You get the example right here. And

153:53

let's not pretend that Stack Overflow

153:55

examples were perfect. They were not. So

153:57

to me, like having something where the

153:59

tool would then try to build it to tell

154:01

me if this is correct syntax or thinking

154:03

to make sure that it's giving me a good

154:05

suggestion. Even I can say that is an

154:08

improvement. But I hope we learn that

154:10

maybe we should not just give hints in

154:12

the official documentation. I'm watching

154:14

people write these huge markdown files

154:16

to give the agent context. How about you

154:19

write documentation to give me context

154:21

so I can have fully working examples.

154:23

>> And now with with with agents, we could

154:25

actually generate documentation a lot

154:28

more intentionally. Like as devs, most

154:31

of us just don't like I'm not sure if

154:33

there's anyone who likes writing

154:34

documentation. We don't like doing

154:35

tests. We don't like writing tests in in

154:37

general. These tools can help with that.

154:39

>> But this is where I think we tend to

154:40

make a mistake. I remember um when I was

154:43

learning Java for the first time and the

154:45

Java developers like we don't write

154:46

docs. the the code is self-documenting.

154:48

I was like, "No, it's not. It's just

154:50

documenting hints. I still have no

154:52

context." Because to me, again, software

154:55

development is to me a human endeavor

154:58

assisted by tools. And so there's a

155:00

style to documentation.

155:03

There's a personality to documentation.

155:04

It's like right like a movie. Like

155:06

you're trying to educate a person. I

155:08

don't want just hints say, "Hey, this

155:10

thing exists for these reasons. We

155:12

conform to this particular

155:13

specification." There are multiple ways

155:15

to write this code. Here's the most

155:17

popular way. Here's what bad code looks

155:19

like. Here's what high performance code

155:21

looks like. Here's when to use this

155:23

library. Here's when not to use this

155:25

library. I want that kind of in depth as

155:28

I'm training my own model. And what I'm

155:30

seeing now is, which I think is a good

155:32

thing, people are writing a lot more

155:33

documentation to be consumed by the

155:35

agent to give it context. I was like,

155:38

man, I wish we had the same motivation

155:41

just a decade ago because I think a lot

155:43

of us would have been way more

155:44

productive if we didn't have to try to

155:46

do a wild goose chase every time.

155:48

>> Well, interesting enough, uh, Cat

155:50

Cosgrove told me that one of the reasons

155:51

she think Kubernetes won was

155:53

documentation. They take it extremely

155:56

seriously. Few other project, if any,

155:58

does it at that level. So, just proving

156:00

a point. One one thing that a lot of

156:03

experienced software engineers are

156:04

worried about right now is all the AI

156:07

we're all using AI agents. They do

156:09

generate code really quickly. Uh which

156:12

is something writing code used to take a

156:14

lot of effort. It took a lot long time

156:15

to be good at it. Now with code reviews,

156:18

there's now more tools coming in and

156:19

some people are like worried like okay

156:20

like what is happening to my profession

156:22

like the craft of writing code seems to

156:25

be something that we can offload and

156:27

more and more people are offloading

156:29

including prominent people. What will

156:32

this do to software engineering and what

156:34

advice would you give to people who are

156:36

experienced software engineers? They're

156:37

a little bit worried because it's it's a

156:39

big shift. they still want to, you know,

156:41

like be the whatever great engineer will

156:44

look like in the future, but what steps

156:46

might be able to take and especi

156:48

especially like your your take because

156:49

you're I think you're pretty grounded in

156:51

just looking at this from a vantage

156:53

point that some of us are not.

156:55

>> I think as a software developer, the

156:56

first step you have to do is have a bit

156:58

of reflection. For the last 20, 30

157:00

years, you have been automating a lot of

157:02

industries away yourself. all those

157:05

programs. I remember seeing an maybe it

157:08

was like a diagram of every device that

157:11

has been replaced by the iPhone.

157:13

The radio, the calculator, the compass,

157:16

all of these tools people used to buy

157:19

individually. The top 30 of those

157:21

electronics from the last 40 years are

157:23

all in your iPhone. All of them. That

157:25

means some electronic makers have gone

157:27

out of business. They're gone. You did

157:30

that. Not in a malicious way, but you

157:32

were part of that. And so the software

157:35

developer has been glorified for a very

157:38

long time. The internet some people

157:40

would say caused the downfall of

157:42

magazines and newspapers because of the

157:44

convenience of having a software

157:46

approach. And so you have been part of

157:49

the change to other industries and other

157:51

people yourself. What did you think

157:53

about that? Did you even think about it

157:55

at all? So let's not be surprised if you

157:58

find no sympathy from all the other

158:00

professions that you've helped force

158:03

change upon. So I think that's step one.

158:06

You have to go do that reflection

158:07

because if you don't do that reflection,

158:09

you won't know how to behave now. You're

158:12

going to be complaining and people are

158:13

going to look at you crazy because where

158:15

was this empathy before? You might be

158:17

very excited about this and not realize

158:20

you're only excited because you're in

158:22

position to benefit from this. So if you

158:25

work at an Anthropic, of course this is

158:27

the future because it's in your hands.

158:30

If you're at Nvidia, of course this is

158:32

the future because you will be selling

158:35

the picks and shovels. And so you got to

158:37

ask yourself, why am I excited? Now what

158:39

I don't want you to do is necessarily

158:40

feel guilty about it, but I need you to

158:42

see the big big picture. It's going to

158:44

help frame everything else. The second

158:46

thing I want you to do is ask yourself,

158:48

what was my job? Remember, there was a

158:51

point in my career where I was lying to

158:52

myself. I thought my job was to be the

158:55

less best Linux administrator ever. You

158:58

as a software developer, you may have

158:59

thought your job was to be the only

159:02

person in organization that can write

159:03

code. And since no one else could do it,

159:06

you were safe, right? And so you didn't

159:08

learn any other skills, networking,

159:11

product management, design, talking to

159:13

customers. Nope. All you had to do was

159:16

write code and you were safe. And you

159:17

probably made more money than everybody

159:20

and you were fine with that. Now you got

159:22

caught. The only thing you were good at

159:25

is now been commoditized. And again, you

159:29

did this to others. So let's say the

159:33

vision you have for yourself is only in

159:35

this very narrow realm. You're going to

159:37

be very afraid of this trajectory

159:39

because all you know is software

159:41

developers write code. That's it. Some

159:44

software developers still don't write

159:45

test, still don't know how to deploy

159:47

anything. And so they are really afraid

159:50

because they can't see any other way

159:51

that this plays out. Now if you're a

159:54

full stack engineer, you're probably

159:56

like, man, there's so much more than

159:57

just writing code. You have to do

159:59

architecture. You have to do design. You

160:02

have to do so many other things that I

160:04

love clock because now I can focus on

160:07

those things and I can use these tools

160:09

instead. So I can see why that person

160:11

would have that perspective. Now, I

160:13

understand why that full stack person

160:14

has a perspective of watching the same

160:17

people commentate that the code

160:19

generation piece replaces everything

160:21

else. They're going to be like, "No, you

160:23

don't know what this job is." It's way

160:25

more than just writing code. Writing

160:27

code is the last step. If you're a

160:30

security engineer, you're probably like,

160:33

"We never figured out security for the

160:35

pace of the current enterprise."

160:38

>> The one before.

160:40

>> Yeah. like everyone thinks they're

160:42

moving slow. I remember I took a

160:43

security um training thing and most of

160:46

them aren't that good because they can't

160:47

go super deep. They just tell you, "Hey,

160:49

here's how to avoid fishing. Here's how

160:52

to not leak information, adhere to

160:54

various laws and things like that." And

160:56

then they said one thing this time that

160:58

I learned that was pretty good. They're

161:00

like, "What's the key to protecting

161:03

yourself?" And they say, "You know what?

161:05

Just go slow." A lot of attacks are,

161:08

"I'm about to board a flight and let's

161:11

say you're an admin or you're a VP and

161:14

the CEO texts you right now. We need to

161:17

wire the money to Oracle to pay for the

161:20

license. They're going to cut it off

161:21

right now. This needs to be done

161:22

immediately." You look at your phone,

161:24

it's definitely from the phone number of

161:26

the CEO. You have a good relationship.

161:28

Everything looks right and it's moving

161:30

fast. So, you're like, "Man, I'm on a

161:32

10-hour flight. I need to do this now.

161:36

Turns out the attacker knows you're

161:38

about to board this flight. They've seen

161:40

all your previous text messages. They

161:42

know how your manager talks to you. They

161:45

know that you've moved fast in the past.

161:48

And so they now are primed to get you to

161:50

do the exact same behavior again. And

161:52

you could be the VP of security. So you

161:54

should know better. And sometimes that

161:57

naive confidence will make you feel like

161:59

I'm obviously not being fished. I've

162:02

done this many times. This is definitely

162:03

the CEO. Who would know how we actually

162:05

operate? And who would know that I can

162:07

actually do that? So what do you do? You

162:09

make the transfer. And just like that,

162:12

10 million has been wired to the wrong

162:14

place because you moved fast. It wasn't

162:16

because you were not smart. It wasn't

162:18

because you were not productive because

162:20

in this case, you were productive, but

162:21

you did the wrong thing. So when I think

162:23

about code,

162:25

there is value in having a healthy pace.

162:28

Let's say you're an insurance company.

162:30

You sell insurance. Hey, make model.

162:34

How old are you? Have you had any

162:35

accidents? Okay,

162:38

here is your insurance for the year.

162:40

Simple, very simple thing. If you're an

162:42

insurance company, that's all you are.

162:44

You're kind of close to being done.

162:47

Now, you could say with JAI, we should

162:50

get into payments.

162:52

We should compete with Door Dash, right?

162:54

We have all these tools. Let's go and

162:56

>> we could build it.

162:57

>> Yeah, we can build it. So, but the thing

162:59

is, should you just build it? because

163:00

you can and the answer is typically no.

163:02

So we usually optimize ourselves as

163:04

humans around the pace needed for the

163:06

task and when we don't need to do that

163:08

work anymore we move on to something

163:10

else. So now I think what we're going to

163:12

end up with is people not realizing

163:14

a lot of this stuff we were doing in

163:16

software engineering was decision-m what

163:18

database to use what schema should we

163:22

really collect someone's social security

163:23

number or should we avoid it not yeah I

163:27

can write code to parse a social

163:29

security number really fast like no no

163:31

should you even do it and so when you

163:34

write code it almost makes you slow down

163:35

again because there's been times where I

163:36

thought I had a good design

163:38

that's that phrase writing is thinking

163:40

So is writing code. So as you're writing

163:42

the code, you're like, "Hey, wait a

163:44

minute.

163:45

This loop is ridiculous, right? Not only

163:47

is it going to make the computer warm,

163:49

this is not the right thing to do.

163:51

There's a better data structure than the

163:54

algorithm that I'm using." So then you

163:55

stop and say, "Hey, the data structure

163:58

is wrong. We need to change the way we

164:00

print receipts on the cash register.

164:03

Sure, I can write this code, but this is

164:05

the wrong data structure. While I can

164:07

generate the code, doing reports are

164:10

going to be a nightmare. Summarizing

164:12

this data downstream is going to be a

164:14

nightmare. Stop everything. Now that

164:16

I've thought about it, we need to change

164:18

the architecture from the top down. So

164:23

decision making sometimes does benefit

164:25

from slow. And when I'm saying slow

164:26

here, we're not talking waterfall 6

164:28

months.

164:28

>> Yeah. No,

164:29

>> we're just talking about maybe one more

164:30

day before you go at it. And I think

164:33

some of us are going to miss that part

164:35

because clot spit it out, ship it.

164:38

>> Yeah. And that's also one one thing that

164:40

you always have the the more experienced

164:43

generation be worried about the young

164:44

generation. I remember when I joined the

164:46

industry, ReSharper had come out.

164:48

ReSharper

164:49

uh and the experienced old guard was

164:53

like, "Nah, you're you're not a real

164:55

developer if you use ReSharper cuz you

164:56

know you're not going to learn the

164:58

library and you need that and and you

165:00

know, like that's what makes you a real

165:01

developer." And then I remember when I

165:04

was now five or plus years of experience

165:07

and stack overflow started to become big

165:08

and I was like nah you don't want to go

165:10

to Stack Overflow because you're not

165:11

going to you know learn the real thing.

165:14

So but now what the current old guard is

165:17

saying which is you know we're I'm I

165:19

guess I'm part of it is like well if you

165:21

use AI you're going to miss learning the

165:24

basics and when you have learned the

165:25

basics it's so much easier to use AI.

165:27

And I wonder if we're just repeating the

165:29

same the same mistake as as the previous

165:31

ones did which is the new generation

165:33

usually figures out the tools they

165:34

understand how to do it or are we

165:37

rightly concerned that some people who

165:39

are coming into this AI native they're

165:41

now learning to code they they can jump

165:43

through so many layers that they will

165:45

just not you know see what's under

165:47

understand or are we just like making

165:49

assumptions that might not be true.

165:51

>> Here's where I think we can it can be

165:53

right on both sides. Do you need to

165:55

learn how to code to make an impact in

165:57

this industry? The answer is no. You do

165:59

not have to. There are some people who

166:01

use these no code platforms where they

166:04

drag and drop and they produce a really

166:05

good app. There are some people who have

166:08

built a consultancy business by just

166:10

using Wix, right? They go there, their

166:12

website actually looks pretty good and

166:14

so they got really far with that. Now,

166:17

for what they're trying to do and

166:18

accomplish in life, they'll probably be

166:20

fine. But let's just say you are a

166:22

software engineer. And the idea behind

166:26

software engineer is not limited to just

166:28

producing apps. Software is the

166:30

interface between hardware and things

166:33

people want to do. So there's a whole

166:35

bunch of things you need to learn. So if

166:36

you want to be that type of software

166:37

engineer, you got to learn hardware,

166:38

too. If you don't understand hardware,

166:41

you can never work at that level. And

166:43

look, if that's not your job, then so be

166:44

it. But you will never have that

166:46

creativity. I remember seeing someone

166:48

was like, "Hey, you can do isolation

166:50

without a VM." I was like, "How would

166:52

you do that?" He's like, "Oh, because

166:53

when you boot the kernel, there's a

166:55

thing you can do before the kernel loads

166:57

to isolate it in a way that you can lock

166:59

down processes." The only reason why

167:00

this person knows is they know the full

167:02

boot sequence from firmware to switching

167:05

to the kernel and the tricks you can do

167:06

in between. Now, for me, that doesn't

167:08

work at that depth. I'm thinking there's

167:10

only virtualization, CPU isolation,

167:13

things like G Visor where you intercept

167:14

system calls. But never did I think

167:16

about the boot sequence. And so yes, you

167:19

can get very far, but as someone like we

167:22

applaud every version of Opus that's

167:24

released or chat GBT, but there are

167:27

versions of yourself that get deeper

167:28

from these new trainings. So no, you

167:31

don't have to. But if you ever want to

167:33

get better at anything, and sometimes

167:35

that depth, that nuance is the thing

167:38

that leads to an invention, right? If

167:40

you know how a compiler works, if you

167:42

know how memory management works, that

167:44

might give you enough information to

167:45

say, "Oh, I can make a new programming

167:47

language." If only thing you know is the

167:49

surface, you can't even imagine how you

167:51

can create another programming language

167:53

that is better fit for the task at hand

167:56

because you never gone that deep. I'm

167:58

not saying everyone wants to do that. So

167:59

I think it is fair to say all I want to

168:02

do is come in get a job and if that job

168:06

can be done by using AI tools I think

168:09

the side effect of that is then that job

168:12

will be commoditized. It has to that's

168:14

just the way it's going to go. But I've

168:17

always seen myself for my entire career

168:19

I want to learn more. I want to go

168:21

deeper. I want to go so deep that I can

168:23

create. And I think a lot of people who

168:26

are doing this, the reason why we're

168:27

having this reaction, some of us, some

168:29

of us, part of our careers have been the

168:31

creation part, there is no spec for

168:34

this. There's no protocol for this, but

168:37

we're going to make it work. A lot of

168:38

people that are doing like the reverse

168:40

engineering, the hacking, there's like

168:42

there's no framework for what I'm about

168:44

to do. I just know how memory works and

168:46

I don't care what your security tool

168:48

does. I will make it do what I want it

168:49

to do. You need to go way below the

168:52

surface. And so for a lot of us that are

168:55

saying this, we know the value of the

168:58

fundamentals that lead to the other

169:00

stuff. And so if you tell a next

169:02

generation, oh, you don't need to learn

169:05

these things. It's like that may be

169:07

right in the short term, but we know for

169:10

a fact your career will be limited and

169:12

that may not be a problem and you have

169:13

to decide. But make no mistake, if we

169:16

put this much effort in training the

169:18

model so that it can spit things out,

169:20

you better make sure that you are

169:22

willing to train your own model. So my

169:24

advice to people would be and maybe we

169:27

should talk about it different. Maybe we

169:28

shouldn't have so much fear-mongering

169:30

around it. Maybe we wouldn't should put

169:31

it a versus this. We should just say

169:34

great artists tend to know how to mix

169:36

colors and it isn't your benefit to

169:39

understand the primary colors so you can

169:41

mix them to get the other colors. And

169:43

it's a superpower, right? So you don't

169:45

have to go buy, you know, imagine an

169:46

artist trying to go buy 16 million

169:48

colors and put them on the desk because

169:50

they don't know how to mix colors. If

169:51

you teach a person how to mix colors,

169:53

like you can get any color you want. And

169:55

I think that's the way we had to

169:56

approach it. It's just another skill

169:58

that if you had it, you might just

170:00

unlock some creativity. So I encourage

170:03

you to learn it.

170:04

>> Kelsey, thank you very much. This was

170:08

just an amazing conversation.

170:10

>> Awesome. Thanks for having me. I will

170:12

admit I was glued to my chair for the

170:14

whole of a conversation. Apologies that

170:15

it took this long, but I hope you agree

170:17

that this specific one was worth it.

170:19

Kelsey's past was just so unlikely. He's

170:21

someone who was raised by a single

170:22

mother, dropped out of college in favor

170:24

of installing DSLines doortodoor at 19,

170:27

and still ended up as distinguished

170:28

engineer at Google Cloud. Only a few

170:31

hundred people who hold a title at the

170:32

company. And he retired at the top 3

170:34

years ago when he decided that he no

170:36

longer needs to work for others. What an

170:38

inspiration. One thing I took notes on

170:40

was when Kelsey said how every job is an

170:42

interview. When Kelsey was giving the

170:44

Gercon talk and PXE booting Cor from his

170:46

slide deck, he had no idea that the

170:48

Coros team was sitting in the audience

170:50

and that's how he ended up at Coros.

170:52

When he was contributing to Puppet at

170:54

nights and weekends, he didn't know that

170:56

James Turn would walk into his office

170:58

one day and recognize his name. He just

171:00

kept showing up and doing the work in

171:01

public. It's a lesson worth remembering.

171:03

Do the best work you can at work. it

171:06

might unknowingly be your job interview

171:07

for your next step in your career. I

171:10

also found the Microsoft offer

171:11

fascinating. Kelsey did not use the

171:14

offer from Microsoft as an ultimatum at

171:16

Google, even though he could have. He

171:18

just told his manager the truth and then

171:20

Google matched the offer. Obviously, at

171:22

this high of a level, there's no

171:23

universal composition negotiating advice

171:25

that always works. But being a straight

171:27

shooter with high integrity is something

171:29

that is good to keep in mind. I was also

171:30

inspired by Kelsey's focus on

171:32

minimalism. He treats money as freedom

171:34

tokens and made sure that his lifestyle

171:37

never inflated with his salary so that

171:39

early retirement was always a real

171:40

option, not just fantasy. Finally,

171:42

Kelsey's AI takes his point is grounded

171:44

and pragmatic. AI does not change what

171:47

software engineering is actually for.

171:48

The job was never just to write code.

171:50

The job was and is to solve human

171:53

problems. The engineers who understand

171:54

this are going to be fine. Do check out

171:56

the show notes below for related the

171:58

pragmatic engineer deep dives on

171:59

Kubernetes and other related topics. If

172:01

you enjoy this podcast, please do

172:03

subscribe on your favorite podcast

172:04

platform and on YouTube. A special thank

172:06

you if you also leave a rating on the

172:08

show.

Interactive Summary

This episode features an in-depth conversation with Kelsey Hightower, an influential figure in the Kubernetes community. He shares his unconventional journey from dropping out of college to work as a DSL installer, to becoming a self-taught developer and a distinguished engineer at Google. The discussion covers the evolution of infrastructure from imperative scripting to declarative manifests, his career inflection points at Puppet and Google, and his pragmatic philosophy on leadership and engineering. Hightower also reflects on his decision to retire at the top of his career, his intentional approach to minimalism, and his balanced, strategic view on the role of Generative AI in software development.

Suggested questions

3 ready-made prompts