What Even Is A Senior Software Engineer?

What Even Is A Senior Software Engineer?

Released Monday, 31st March 2025
Good episode? Give it some love!
What Even Is A Senior Software Engineer?

What Even Is A Senior Software Engineer?

What Even Is A Senior Software Engineer?

What Even Is A Senior Software Engineer?

Monday, 31st March 2025
Good episode? Give it some love!
Rate Episode

Episode Transcript

Transcripts are displayed as originally observed. Some content, including advertisements may have changed.

Use Ctrl + F to search

0:04

Welcome to Fall Through, your source

0:07

for deep conversations about technology, software,

0:09

and computing. I'm your host, Chris

0:11

Brando, also known as scriptible, and

0:13

on today's episode, we are talking

0:15

with the one and only gopher

0:17

man himself, Bill Kennedy. We talk

0:19

about courses, teaching, what even is

0:21

a senior and staff engineer, and

0:23

so much more. This episode has

0:25

an hour of bonus content. So

0:27

if you want to hear more

0:29

in-depth conversations with Bill, head on

0:31

over to fall through dot f

0:33

n slash subscribe to sign up today.

0:35

And as always, if you're not already, please

0:37

give us a follow on social media. And

0:40

if you want to see our lovely faces

0:42

instead of just hearing our lovely voices, head

0:44

on over to YouTube and smash a subscribe

0:46

button and ring that notification bell so you

0:48

can find out exactly when we drop all

0:51

of our video episodes. And with that, let's

0:53

getting into the the show. Welcome

1:11

back to Fall Through. In this

1:13

episode, it's going to be myself,

1:15

Matthew Snaabria and Chris Brando. How

1:17

are you doing here, Chris? I'm

1:19

doing great. It's a really sunny

1:21

day out. So it's nice. I

1:23

like the sun. It was raining

1:25

yesterday. So yeah, it is nice.

1:27

And it reminded me that I

1:29

have to go tend to my

1:31

grass. It needs some raking and

1:33

loving for the spring season. And

1:35

we're joined with a very special

1:38

guest. Probably. No, I'm, you know,

1:40

I want some of that rain, Chris. We're

1:42

on a severe drought in Miami, and

1:44

everything around me is dying, and I

1:46

have to be out there with the hose

1:48

every other day to keep my

1:51

investment in flowers and plants and

1:53

trees. So I'm jealous that you said

1:55

it was raining. Yeah. I mean, it's nice

1:57

what it rains like for a little

1:59

bit. then we have my sunny day,

2:01

so I don't mind that. Certainly I don't

2:04

want another drought. You're entering the rainy

2:06

season in Florida though, right? Dude, I

2:08

think we've had less than a half an inch

2:10

of rain since October. Oh no. Yeah, that's not

2:12

good. I know, usually in the summer, like... No,

2:14

yeah, I know, but if it doesn't start

2:17

raining soon, we're gonna have a lot of restrictions.

2:19

Yeah, that's bad. When I was living down there

2:21

every day in the summer, like two o' in

2:23

the summer, like two o' o' o' o' o'

2:25

o' o' o' o' o' o'clock in the afternoon.

2:28

nice downpour. You'd get that like like clockwork.

2:30

And it's good. Goes away if your

2:32

plants are watered and you move on.

2:34

Yeah, it's just true. It's funny. I,

2:37

my wife obviously knows who you are,

2:39

right? Like I've, you know, I think

2:41

you probably met her, I don't even

2:44

remember, but she knows who you are

2:46

because of the hat, right? So she

2:48

says, oh, that's Mr. Gopher man. That's

2:51

how she refers to. She calls you

2:53

Mr. Mr. Mr. Gopher. Gopherman. stickers that

2:55

are modeled after you or the gophers

2:58

with the little hat so for anyone

3:00

that's listening we are interviewing the the

3:02

mister gopher man himself but find me

3:05

out of conference you can get some

3:07

of those stickers yeah yeah no in

3:09

this episode we're gonna chat all things

3:11

you know go art and labs training

3:13

education hiring senior engineers we're gonna chat

3:16

about a bunch of this stuff in

3:18

this episode so Why don't you start

3:20

us off, Bill, with a brief introduction

3:22

of who you are, what you're what

3:24

you've been up to? Name's Bill Kennedy.

3:27

I have a small company in Miami

3:29

named Arden Labs, where we primarily do

3:31

consulting, staff, all training, all that good

3:34

stuff. Check out the website. You can

3:36

also check out Arden Labs.a. I've been

3:38

spending the last six months building AI

3:41

demos. There's really some cool fun stuff

3:43

out there as well. We're going to

3:45

client projects. clients. I try to choose

3:48

one project every year and right now

3:50

I'm doing work with prediction guard, which

3:52

is Daniel Whiteknacks Company, and they're basically

3:55

a AI platform that gives you that

3:57

security and all that stuff you need

3:59

to actually run. AI apps that aren't

4:01

being consumed by open AI and

4:03

Google and God knows what they do

4:05

with your data, right? All that good

4:07

stuff. Yeah, I guess still going to

4:10

conferences, doing workshops, did a

4:12

meet up yesterday and yeah, you

4:14

know, try to keep my favorite thing

4:16

now for the last three months

4:18

is ultimate or ultimate software design

4:21

live. So every twice a week,

4:23

I'm online for two hours and

4:25

we're hanging. building out code with one

4:27

of my junior engineers and I was working with

4:29

him a lot. I'm trying to get him up

4:32

to speed and I started realizing all the conversations

4:34

that I was having with him should be recorded

4:36

somewhere. So then I said why don't we just

4:38

start building something online that everybody can see and

4:41

I can have these conversations not just for you

4:43

but everyone else. That's been a lot of fun.

4:45

Nice. I love how you like you just hit

4:47

all the topics right off the gate, AI hiring,

4:50

education, all need-ups. We're gonna get to all of

4:52

that stuff too, which is great, which is great,

4:54

which is great, which is great. Well, we'll get

4:56

there slowly. I remember, I think the

4:58

first time I met you was when

5:00

I think I took your ultimate go

5:03

course way back in Florida. I went

5:05

to the physical location and did that.

5:07

And it was life changing. It was

5:09

really, really fun for me. And I

5:11

remember taking the course when I was

5:13

newer to go and I didn't understand

5:15

everything that you were talking about at

5:17

the time because I was still new

5:19

to it. It really did change my perspective.

5:21

Is Ultimate Go still like your primary

5:23

thing? Or I guess you said you

5:26

switched to like, you know, now you

5:28

have the live stream. Is that kind

5:30

of the bread and butter now for you?

5:32

So what I did, you know, I taught

5:34

the original class for a good five years

5:36

straight, and I was about to be

5:39

put into an insane asylum if I

5:41

had to say those words one more

5:43

time. Like at some point, I don't

5:45

know how musicians sing the same song

5:47

every night for... Three like I did it

5:49

for three years. So imagine me having to

5:51

sing the same song every night for like

5:53

I couldn't do it Yeah, so I had

5:55

to come up with a new class which was

5:57

the ended up being the ultimate service class

6:00

But everybody thinks they know

6:02

how to build a service. Nobody wanted

6:04

to take that class. So eventually

6:06

I retrofitted the class around some

6:08

Kubernetes and software design, which is

6:10

really what I was teaching. And

6:12

so that class gained a lot of

6:15

popularity, and I love that class

6:17

because it's a more practical class.

6:19

If you remember my first class, it's

6:21

great, right? If performance matters, these

6:23

things, and this is how goes

6:25

giving you performance. And we don't

6:27

go into some. deep level semantics.

6:30

But what I always hated about

6:32

that class was that at the

6:34

end of it, you weren't necessarily

6:36

any more prepared to go off

6:38

and start building product. From the

6:40

ultimate go class, you mean? Yeah,

6:42

right? Like you had an amazing

6:44

wealth of knowledge now, but you

6:46

didn't really now, it wasn't set

6:48

to start building something. So the

6:51

ultimate software design class is the

6:53

complete opposite. At the end of that,

6:55

you're ready to start building, and you

6:57

have a bunch of code. You've just

6:59

added to your toolbox to do that.

7:01

So what I've been doing is sneaking

7:03

in the important parts of Ultimate Go

7:05

into Ultimate Software Design. So you

7:07

essentially get both classes sort of mixed

7:10

in one, and then you're able to,

7:12

it's a much more practical sort of

7:14

class, so you can start building things

7:17

sort of out of out of the

7:19

gate. And that's kind of what

7:21

the Ultimate Software Design Live is.

7:23

We started building a, I had a

7:25

list of projects, like you should

7:27

build, if you're learning a new

7:29

programming language, build this list of projects,

7:32

right? Like the first one was a

7:34

crud. Well, that's the ultimate software

7:36

design, right? We built Crud there. But

7:38

the next one was a chat system.

7:40

So I said, Kevin, we're gonna build

7:43

a chat system, right? But we're gonna

7:45

do things in a way that

7:47

anybody that's watching should be

7:49

able to just clone and run, and

7:51

they don't need anything. Actually, it

7:53

is pretty cool. We've built,

7:55

I mean, it is decentralized.

7:57

I'm going to cheat a little bit.

8:00

I used gnats for the basically the

8:02

back plane fabric. So we built chat

8:04

server connects to gnats. So chat servers

8:06

can talk to each other. And then

8:09

we built a client and go that

8:11

connects to your little chat server. And

8:13

we have a pretty distributed system at

8:15

this point, right? Because anybody can start

8:18

a gnats for gnats system and gnats

8:20

can be sort of plugged together. And

8:22

yeah. And we just did. We just

8:24

did what I'm called decentralized identification this

8:27

week, basically using the same Web 3

8:29

technology. Ethereum does with ECDSA keys, so

8:31

you get your own ID. And you

8:33

sign the data, and then the system

8:36

knows that this was signed by you

8:38

because you're the only one that could

8:40

sign it. And now nobody can pretend

8:42

they're you anymore. So we keep adding

8:45

this sort of stuff. So now the

8:47

next thing is going to be some

8:49

levels of encryption. And eventually. When we're

8:51

completely done, we'll have an AI. You

8:54

can turn your chat app into an

8:56

AI spot, and hopefully nobody even knows,

8:58

either talk, or they're talking to you

9:01

or the AI at that point, right?

9:03

That's awesome. Yeah. So we've got a

9:05

few more months of work. Nice. I

9:07

caught a few of the early streams,

9:10

and this was before I had to

9:12

go, my little conference tour that I

9:14

did, like last week and the week

9:16

and the week before. But I caught

9:19

a few of the streams stream, really

9:21

nice. It's really nice. to this as

9:23

well or? There's no, I didn't, you

9:25

don't need Kubernetes for this. So you

9:28

literally could go to the repo which

9:30

is Arden Live/USDL, Ultimate Software Design Live.

9:32

You can bring down that repo. You

9:34

literally could start chatting with somebody today

9:37

right now with that. Nice. If you

9:39

know their their ID, so you know,

9:41

it's just like anything. I need to

9:43

know your phone number to send you

9:46

a message. Here's my. right? My 20-byte

9:48

ID based on a private key that

9:50

we just gave you and you could

9:52

have a communication right now today talking

9:55

so much. See,

10:01

there is a group of people

10:03

on the internet whose daily

10:05

life is all about negativity and

10:07

I don't understand it. Like,

10:10

you took 10 minutes out of

10:12

your life that you're not going to

10:14

get back to say this to me. Like,

10:16

even the book reviews, I go on

10:18

Amazon sometimes and I read some of

10:20

the book reviews and I laugh. If

10:22

they're really bad, I'll publish them on

10:25

Twitter because it's just so. And the

10:27

only thought in my head is that's

10:29

fair if you feel that way, but

10:31

you could have done a

10:33

thousand other things in that

10:35

10 minutes than than what you

10:37

did. And I and that's just not my

10:39

person. Like, I don't understand it. Yeah,

10:41

it's it's tough, right? You're a very well

10:43

-known person in the go community. I'm sure

10:45

you've had your fair share of people

10:48

saying things to you on the internet. And

10:50

I often find that this this industry,

10:52

the tech industry specifically has a very weird

10:55

relationship with feedback. It's it's like

10:57

this industry is afraid to to give

10:59

feedback to others. And dare I

11:01

say, criticize others, right? There's like a

11:03

there's a weird paradigm here that

11:05

if I criticize your work bill, right?

11:07

And I say, hey, like, what

11:09

do you why you return that error

11:11

there? What's going on? Or why are you

11:13

panicking there? And some people take that as

11:16

a personal attack, whereas some other people say,

11:18

oh, yeah, Matt, you that. Why am I

11:20

panicking there? And they have they take it

11:22

as a learning opportunity and they can have

11:24

the discussion back and forth. And I often

11:26

find with a lot of these people that

11:28

publish the bad book reviews or some weird

11:30

slack comment or some, you know, post on

11:32

social media. When you ask them the direct

11:34

question back, like, hey, what? What have

11:37

I done to you? Or like, what's wrong? They

11:40

fold and they don't answer. And it makes

11:42

me think that maybe you didn't have anything

11:44

there to begin with. You just wanted to

11:46

complain for the sake of complaining. It's

11:49

interesting. Very interesting behavior out

11:51

there. When I started blogging

11:53

back in 2013, it

11:56

was horrific. One, I didn't know nearly

11:58

what I knew now. and

12:00

I was publishing stuff and it was

12:02

not all of it was as

12:04

accurate as I wish it had

12:06

been in the beginning because I

12:08

was learning to in some cases

12:11

I was throwing stuff out there

12:13

just so somebody would correct it

12:15

at some point right because especially

12:17

back then I couldn't get the

12:19

go team to talk to me right

12:21

and there was a high-end click of

12:24

people back then that it was a

12:26

hard sort of group to to crack.

12:28

And so if I asked for help,

12:30

I never got anything. But if I

12:32

put a bad thought or idea or

12:34

anything out there, it would get corrected,

12:37

right? Yeah. But at the same time,

12:39

not only is it getting corrected, but

12:41

you're getting beat up because I'm

12:43

supposed to be even early on,

12:45

I'm training people. So imagine this

12:47

elite group of engineers who have

12:50

more experience than I do, went

12:52

to better schools than I do.

12:54

Know this stuff already. I'm just

12:56

learning it. and they're beating me

12:59

up left. It was hard. I

13:01

wouldn't even, at a conference, I

13:03

would almost stay away from everybody

13:05

because it was a horrible sort

13:07

of, so my skin has gotten

13:09

really thick over the years because

13:11

of that. But the other thing is,

13:14

why don't you just quit and give

13:16

up? Because at the time I had

13:18

five kids, it wasn't an option to

13:20

not take the beating. Right? I could

13:22

have easily just not taken the beating

13:25

and not grown my company the way

13:27

I did, but it wasn't an option.

13:29

Every time I wanted to quit, I

13:31

would just go, you can't quit. It

13:33

doesn't matter, just take the beating.

13:35

And then eventually I got to

13:37

a point where the material got

13:39

really sound because I worked at

13:42

getting there. And then the complete

13:44

opposite sort of happened. Then I

13:46

was kind of ignored. It was

13:48

like no feedback at all from

13:50

anybody anymore. And that was kind of

13:52

like a weird point in time too,

13:55

right? That you sort of get this

13:57

transition from getting beat up severely to

13:59

such... Generally, either people thought, well, it's

14:01

Kennedy, so it must be right, which

14:04

wasn't necessarily. Or the people that were

14:06

beating me up were just finally tired

14:08

of beating me up. I don't know,

14:10

dude. Yeah, yeah. Everybody found somebody knew

14:12

to beat up. Maybe, yeah. But I

14:15

don't leave comments on the blog. I

14:17

don't, I don't do that. I have

14:19

comments on the videos, but again, they're,

14:21

they're all super, you know. Dude, I'll

14:23

be doing a live stream stream and

14:26

somebody will ask a question. I'm like,

14:28

dude. Read the room, buddy. Like, read

14:30

the room. Yeah. Like, and I'm in

14:32

the middle of coding and I see

14:34

it. And my brain's just like, really,

14:37

this is what we're doing. Like, you

14:39

came, again, you spent five minutes your

14:41

life on that message today on this,

14:43

on this stream. On the Lord's Day,

14:45

you did this. Yeah. I don't know.

14:48

I don't know. Look, I always say

14:50

there's gonna be a moment where I'm

14:52

laying on my deathbed, hopefully, and I'm

14:54

thinking about all the time I wasted,

14:56

right? And there's plenty of it. But

14:59

I won't be any of that stuff.

15:01

I won't be leaving a bad review

15:03

because I had nothing else to do

15:05

for that. Like, you know, I don't

15:07

do. But it comes with the territory.

15:10

If you're gonna put yourself out there.

15:12

This is true. If you're going to

15:14

put yourself out there, if you're going

15:16

to make content, if you're going to

15:18

do things, you do open yourself up

15:21

to criticism and good, bad, everything in

15:23

between, and it's true. I just wish

15:25

the industry itself embraced it a little

15:27

more and discussed it rather than like

15:29

either throwing the ban hammer around real

15:32

quick or saying, well, actually I'm leaving,

15:34

or I just wish people discussed it

15:36

more rather than just making a blanket

15:38

statement and walking out, you know. The

15:40

more you say, the more you speak,

15:43

you're going to make a mistake. When

15:45

I would do a 20-hour training, there

15:47

is no way on God's Green Earth.

15:49

I wasn't going to say two things

15:51

that week that I wish I hadn't

15:54

come out of my mouth. Right. The

15:56

probability of it happening is just high.

15:58

Right? You just hope to... survive it,

16:00

what it does. Right. People

16:08

have changed, like, I can't say in a

16:11

class anymore, we're going to take a

16:13

walk because people get offended, like,

16:16

there's a bunch of jokes. There are

16:18

a bunch of jokes and stories I

16:20

used to tell in training that over

16:22

the years I had to stop, somebody

16:25

would get offended in the class and then

16:27

I'd hear it. And I got to the

16:29

point where I almost had to just be

16:31

completely and I have jokes that

16:33

I know land and suddenly over

16:35

time they stopped landing that it

16:38

was wild to me too, right? And

16:40

so that's the other problem when you're

16:42

speaking as much as, let's say, I

16:45

do and you're trying to tell a

16:47

joke and it doesn't land that day

16:49

because there's somebody in that classroom that took

16:51

a fence to it for whatever reason. It

16:53

doesn't even matter why, but they did. And

16:55

now you're right. Now you got

16:58

that going on too, which is funny

17:00

because these same people will go and turn on

17:02

like kitchen nightmares with Gordon Ramsay and love the

17:04

fact that he takes the chefs into the back

17:06

to like yell at them or scold them. And

17:08

it's like you love it in that context. But

17:10

then when you're the one when you're the chef

17:12

getting told like, hey, I'm the come outside. I

17:14

want to talk to you for a second. Now

17:17

you're offended. Like what? How

17:19

does that make sense? It's very weird to

17:21

me. And I don't I don't I don't

17:23

get it either. It's I don't know. It's

17:26

interesting. There's a part of it too, where

17:28

I think it's those same people that I

17:30

mean, you know, Matt, you and I have

17:32

talked about this. That'll like go out there

17:34

and champion. Like when we talked about not

17:36

on the podcast, we talked about like the

17:38

whole thing a few years ago where everybody

17:40

had this crusade against certain words that we

17:42

were using like Blacklist and Master Slave and

17:44

all of this and a giant crusade about

17:47

it. And I remember so many conversations with

17:49

people and they're like, well, we have to

17:51

do this because these words, they're offensive. They're

17:53

harmful to people like you. And I'm like,

17:55

I've not talked to a single Black person

17:57

that has had a problem with any of

17:59

these. But I will tell you, here's

18:01

the long list of things that have

18:03

been problems. Can we work on these?

18:05

And people come back and say, and then

18:08

they want to change it to me

18:10

and it's so much easier. How dare

18:12

I do it? And I'm like, okay, well,

18:14

there's this balance that we got a, I

18:16

think we have, it's off balance at the

18:18

moment, right? Like I think we're, we're being

18:20

a little too, we're aiming for the easy

18:22

stuff to try and. fix, but when the

18:24

hard stuff comes, we don't want to do

18:26

it. And I think part of it too

18:28

is like, we have ascribed to this idea

18:31

that everybody should be comfortable all of the

18:33

time. And I feel like that plays into

18:35

this a little bit, where it's like, there's

18:37

a lot of places and a lot of

18:39

things where you're just not going to be

18:41

comfortable. And we have to accept that. Like

18:43

learning is an uncomfortable thing. That's the point

18:45

of it. You're moving yourself out of your

18:47

comfort zone to absorb some new knowledge. We

18:49

wound up in this really weird spot

18:51

where, like, okay, well, yes, you're in

18:53

this space to be uncomfortable, but you

18:55

can only be uncomfortable in certain ways.

18:57

And if someone makes you uncomfortable in

18:59

a different way, then we have to

19:01

remedy that, like, immediately, or that, like,

19:03

we have to find a way to

19:05

make it so that you get back

19:07

to feeling comfortable again. And it does

19:09

feel like it's gone, like, in a

19:11

very excessive direction at this point. And

19:14

I know we've spent a number of

19:16

episodes. communities in general, but I think

19:18

the go community too when it comes

19:20

to a lot of the stuff. And

19:22

I think we've seen over time kind

19:24

of what happens when when you overemphasize

19:26

uncomfortable too much, you wind up with

19:28

communities kind of being a

19:30

bit bleh, where you can't have conversations

19:33

or you can't focus on the right

19:35

parts of a conversation because somebody has

19:37

been very like, oh, like you said

19:39

that thing and I'm offended by the

19:41

thing and now we've got to talk

19:44

about that. So here's my two cents.

19:46

I'm a kid from the 70s, okay?

19:48

So, you know, and things, some

19:50

language had to change.

19:53

I'm not saying it didn't.

19:55

But for me, if I say

19:57

something that affends you.

20:00

And it's not readily in my

20:02

brain that I've done that, because

20:04

it's possible, because the way I

20:06

grew up and where I grew

20:08

up and all that stuff. If

20:10

you tell me straight up, Bill,

20:12

that upset me, I would say

20:14

thank you, I will never say

20:16

it again, because I didn't know.

20:18

I will never say it again,

20:20

because I didn't know. There has

20:22

to be a teaching moment. What

20:24

drives me crazy is when I

20:26

say, oh my God, I didn't

20:28

know that, I'm sorry, and that's

20:30

not taken at face value. It's

20:32

like, you should have known. Well,

20:34

slow down, slow down, right? Like,

20:36

you might think I should have

20:38

known, but I didn't, I'm telling

20:40

you, I'm apologizing, right, and move

20:42

on. And do, when I started

20:44

Gopridge, okay, I had to start

20:46

working with a lot of women.

20:48

And I had three women that

20:50

taught me so much in the

20:52

first year. All the mistakes I

20:54

was making with just seeing a

20:56

woman in a classroom that wasn't

20:58

smiling and ask her why she

21:00

wasn't smiling. And I would ask

21:02

one of the women I was

21:04

working with. You know, I said

21:06

this today and things really went

21:08

backwards and they'd be like, no,

21:10

you didn't. And I'm like, yeah,

21:12

no, Bill, you can't do that.

21:14

I had a year of Bill,

21:16

you can't do that. great enough

21:18

to sort of deal with that

21:20

and teach me and after a

21:22

year I stopped making all these

21:24

mistakes. I didn't know, right? And

21:26

so I just wish that I'm

21:28

okay with you saying what I

21:30

just said offended you. I'm okay

21:32

with that. I'm okay with you

21:35

saying what I just said offended

21:37

you. I'm okay with that. I

21:39

don't have to agree. So if

21:41

you said you offended me and

21:43

I said it again, like, come

21:45

on. Right, but I just want,

21:47

I just want the chance to

21:49

have the opportunity to learn and

21:51

let's say be forgiven at that

21:53

point. Agreed. I think you hit

21:55

it on the head when you

21:57

said earlier that there's just some

21:59

people out. that thrive in that

22:01

negativity, they want that negativity.

22:03

And there's a difference between

22:05

saying something in passing one time

22:07

and then apologizing for it if

22:09

you didn't know, versus consistently having

22:12

that behavior. Like you said, that

22:14

does make you think soul, right?

22:16

If you have that behavior consistently.

22:18

And it's just, it's interesting that

22:20

this permeates in the learning space,

22:22

because like you said, Chris, when you're

22:24

in the learning space, you have to

22:26

there's a there is a sense of

22:28

discomfort there right you you're not in

22:30

your comfort zone the whole purpose of

22:32

you in there to learn is to

22:34

be uncomfortable to stretch your mind to

22:36

observe absorb that new knowledge as you

22:38

said and I I can readily think

22:40

of times where I was either disciplined

22:43

by my parents or in a learning

22:45

situation in karate where I was learning

22:47

new like moves or whatever or where

22:49

I was like getting a pull request

22:51

reviewed and I was uncomfortable

22:53

And I was like, wow, I'm stretching

22:55

out here. When I walked away from

22:57

that, I grew, right? In all of those aspects,

22:59

I grew, I learned the thing that

23:02

I was being disciplined on, I learned,

23:04

you know, how to better do this

23:06

in Karate. My code got better because

23:08

the reviewer actually, like, gave it to

23:11

me rather than coddled me. And I

23:13

walked away from those, all of those

23:15

things, stronger and better. And I

23:17

think that concept has fell off

23:19

a little bit. We've... over index

23:21

on the coddling aspect. And

23:24

like you said to yourself, Bill, you

23:26

stop making some of those jokes,

23:28

you stop bringing some of this

23:30

stuff to your course, to your

23:32

classroom. And we can argue whether

23:35

that's for good or for bad,

23:37

but in a part of that, you left

23:39

part of yourself on the

23:41

sideline while you're teaching your

23:43

class. And there has to be some

23:46

like. Negative thing that comes out of

23:48

that, right? Because you're not bringing your full genuine

23:50

self to the class anymore, because you have to

23:52

tiptoe a little bit. And does that affect the

23:54

learning? Maybe, right? Yes, no, I don't know. Depends

23:56

in the audience, I guess. Depends in the content.

23:59

It's just, it's sad. talking from a point

24:01

where you appreciated the little jokes and

24:03

yeah we're gonna take a walk and

24:05

you knew it was a joke where

24:07

somebody else I guess had some experience

24:09

where maybe that happened to them and

24:11

now there's trauma around it right right

24:13

and again I don't want to bring

24:15

up trauma so if you tell me

24:17

that's upsetting you I won't say it

24:19

again when I'm in my third class

24:21

and I'm starting to see the same

24:23

pattern like mhm-hmm okay I guess

24:25

for whatever's happened in society for the

24:27

last end number of months, this is

24:29

no longer anything I can say, right?

24:32

Like, I have to gauge it too.

24:34

I mean, I'll stop getting work if

24:36

everybody's like, you can't bring Kennedy in

24:38

a classroom. You're friends, everybody. You know,

24:40

there's, but you know, I tell my

24:43

kids this, I didn't make this up,

24:45

but you learn more from your mistakes

24:47

than your successes, right? And it's easy

24:49

to beat yourself up every time you

24:52

make a mistake. I make 100 mistakes

24:54

a day, I make one really bad

24:56

mistake a week. That's what it is.

24:58

I lie in bed every night thinking

25:01

about, all the mistakes you made today,

25:03

right? We're going to do better tomorrow.

25:05

And the next time I'm like, well I

25:07

didn't do better today. But you're learning

25:10

more from the mistakes than you

25:12

are the successes. You need successes

25:14

to keep your positivity go. Can't

25:16

be like, right? And I try

25:18

to tell the kids that. My daughter just

25:20

made a mistake last week, it costs

25:22

you're like five grand. And I said

25:24

to her, this isn't, and she's 29,

25:26

I said, this isn't gonna be the

25:29

most expensive mistake you ever make in

25:31

your life. I hope it is, but

25:33

I promise you it's not going to

25:35

be. So now you've learned, now we

25:37

move on, right? And it's hard, man.

25:39

It's hard not to beat yourself up,

25:42

but I had seen an interview with

25:44

an astronaut. I can't tell you which

25:46

one was. And they said when they're

25:48

up in space and they make a

25:50

mistake. They're told they have

25:53

30 seconds to beat themselves up

25:55

and then they have to move on because

25:57

they don't have time not to up in

25:59

space That's it. So you get

26:01

30 seconds, everybody looks at you,

26:03

start your 30 seconds, beat

26:06

yourself up, and then you move

26:08

on. And I loved that

26:10

because I don't, I need more

26:12

than 30 seconds still. But,

26:14

you know, I'm, I probably, depending

26:16

on the mistake, have got

26:18

it under an hour at least

26:20

where I can finally just let

26:22

it go. Right. I think that's

26:24

a skill that you need to develop. You

26:26

need to recognize you're beating yourself up. You need

26:28

to recognize there's nothing more you can do about

26:31

that. Forgive yourself and move on. The faster you

26:33

can do that, the better your life's going to

26:35

be. Yeah.

26:37

I think there's, at the end the day, there's

26:39

a lot of, it comes down to having a

26:41

lot of nuance when you approach all of this.

26:44

It's like there's no, like, right or wrong way to

26:46

handle a particular situation. You've just got to handle

26:48

it the best that you can and learn from

26:50

that. And if you see that happen again in

26:52

the future, adjust accordingly. Kind of like what you

26:54

just said, Bill. Where it's like, yeah, if you

26:56

keep seeing people that are feeling a little bit

26:58

uncomfortable in the class because you told that joke,

27:00

like you got to weigh it. Like, is this

27:02

joke integral to the course? Or can I just

27:04

throw it out and not have any problem? And

27:06

if you throw it out have any problem, well,

27:08

that's an easy decision. Like, okay, well then, that's

27:10

not. Sometimes I need to tell the jokes to

27:12

wake everybody up. I don't even know if they're

27:14

paying attention. So sometimes you might say something just

27:16

to see who's, whoa, like who's,

27:18

who's still involved after four

27:20

hours, right? Again, nothing horrible, but

27:22

enough to just go off

27:25

the beating path a little bit,

27:27

you know, I don't

27:29

know. It can help with attention too. But

27:31

yes, I mean, I don't know. I've been

27:33

navigating it for almost 10 years now. I've

27:37

seen shifts of people in the

27:39

classroom. And I don't want to say

27:41

it's generational because I don't think

27:43

it's generational. But at the same time,

27:45

I ain't getting any younger, right?

27:47

I got, I'm 55 and I've got

27:49

young 20 year olds in the

27:51

classroom. Some level, you got to stay

27:53

hip too. Can't be the old

27:55

man in there either, right? Yeah. So,

27:57

so that's the other thing too,

27:59

right? I'm all over the planet. You have

28:01

to know where you are too sometimes because

28:04

things land. I had to learn the hard

28:06

way. I had to learn the hard way

28:08

on some of that too, right? Right. Yeah,

28:10

things always land correctly, depending on your audience

28:12

and culture. You're going to make, at the

28:15

end of the day, the point is, if

28:17

you're out there publishing, speaking, doing something,

28:19

the more you do, the probability of

28:21

making mistake is high, own it, apologize,

28:23

move on, don't do it again. Right. I

28:25

want to change topic slightly to the

28:27

overall like learning landscape, right? We talked

28:30

about, you know, the feedback and the

28:32

criticism stuff, but I want to talk

28:34

about the overall programming learning landscape. What

28:36

have you, what are you seeing in

28:38

the industry, right? What, what programming skills

28:40

are in demand? What have, what skills

28:43

have fallen off in recent years? Anything

28:45

about your curriculum that you've kind of

28:47

pivoted and changed on? I want to

28:49

talk about that stuff. I'm not the...

28:51

If you want a highly customized sort

28:53

of training, I'm not your person because

28:55

I know what you need. I know

28:57

this class is what you need. And

28:59

every time I got to get into

29:02

a meeting with a company saying they

29:04

want this, this, and that. I'm saying

29:06

you don't really want that, you need

29:08

this. And then I do the class.

29:10

They're like, Bill, this is exactly what

29:12

we needed. I know what you guys

29:14

need. I'm dealing with a day in

29:17

and a day out. What I'm

29:19

seeing a little bit more of

29:21

recently, five plus years old that

29:23

have been architected with a level

29:25

of complexity that nobody wishes was

29:27

there, but it happened. And as

29:29

people leave these companies, as these

29:31

engineers leave and they got to

29:34

hire new engineers, what they're looking

29:36

for are resumes that show enough

29:38

well-rounded experience where they feel that

29:40

they could bring this person in

29:42

and they can handle the complexity

29:45

without having to bother them too

29:47

much. Like learn the complexity of

29:49

the system. They're not even

29:51

testing for programming skills anymore

29:54

so much as, okay, they've

29:56

worked with enough different databases

29:58

and enough messaging systems. at least

30:00

it says on the resume, and enough of this,

30:02

and enough of that, I feel comfortable that I

30:04

can bring them into this chaos, and they can

30:06

be productive within a certain amount of time. That's

30:08

sort of what I'm seeing. Now, let me

30:10

tell you what I'm seeing that's making me

30:13

cry, because I'm doing a lot of

30:15

interviews for the last month, okay? A lot

30:17

of interviews with people that have anywhere from

30:19

three to 15 years of experience of experience

30:22

on the resume. And the more experience

30:24

you have on the resume, the resume, the

30:26

skater I get-der I get-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a I have found

30:28

a few number of people

30:30

who can actually take direction

30:32

and write an algorithm at

30:34

this point. I'm not going to tell

30:36

you what the algorithm is because

30:39

then everybody's going to

30:41

study it and then they're going

30:43

to come to Arden. But things

30:46

like iterations and math, people

30:48

have a big problem with

30:50

doing this. And I think

30:52

what's happening is everybody's at

30:54

work copying and pasting code.

30:57

writing web APIs, finding code,

30:59

copying it, hey it works,

31:01

moving on, and people have

31:03

gotten very very good at

31:06

finding some code that works,

31:08

patching it somewhere and getting

31:10

things, but not really understanding

31:12

what the code is doing, how that

31:14

code, why the code even works,

31:17

and it's scaring the bottom of

31:19

me. It's scaring that. When you

31:21

say, when you say iteration and

31:23

math, do you mean iteration as

31:25

in like iterators or do you

31:28

just mean the concept of small

31:30

changes over time? Like here's construct

31:32

a slice with something in it.

31:34

It could be an unlimited number

31:36

of these things in it. Now

31:39

iterate over that and do something

31:41

every nth item, right? Gotcha. So

31:43

you do mean the iteration aspect

31:46

of iterate over this? Do something

31:48

and every time, every four or

31:50

five iterations, do this other thing.

31:53

They can't, nobody can code

31:55

it. Nobody can code it. Nobody

31:57

can code it. Nobody can code

31:59

it. I had a guy that couldn't

32:01

code this little algorithm, but I kept

32:04

looking at his resume. I helped him

32:06

through it. So after about 10 minutes

32:08

with helping him, he got it working.

32:10

And I don't need you to be

32:12

able to just do it completely. I

32:14

just want to see how you interact

32:16

with me and how you get through

32:19

it. So he got through it. With

32:21

his resume, my brain said he should

32:23

have... done better, but I gave them

32:25

the next challenge that I have, which

32:27

is a concurrency problem. I give them

32:29

a function that runs serially, right? Again,

32:31

another sort of iteration that does things,

32:34

and I say, I want you to

32:36

throw a go routine at every one

32:38

of these items in the collection. Don't

32:40

do it one at a time on

32:42

one go routine. Like a fan-out pattern,

32:44

right? Code that for me. And this

32:47

guy coded that easier than he did.

32:49

the other algorithm that I asked him

32:51

to code. And then my light bulbs

32:53

really went on, right? Because he had

32:55

some experience already with some concurrency patterns.

32:57

And again, I had to help him

32:59

a little bit. I didn't care about

33:02

that, right? But he did a 10

33:04

times better job with what I would

33:06

have considered more complex than the simple

33:08

little algorithm. And then the light bulb

33:10

went on. I think people have almost

33:12

forgotten how to program in a traditional

33:15

sense, at least the way I was

33:17

taught. And now it's again all patterns,

33:19

and I let people keep the AI

33:21

on. I go, if this is how

33:23

you work every day, then interview that

33:25

way. Right? I mean, I don't really

33:27

care. Sometimes the AI helps you. Sometimes

33:30

it doesn't. I've seen the AI helping

33:32

people and they're ignoring it. And I'm

33:34

like, the AI just gave you the

33:36

answer, man, and you just like completely

33:38

threw that away. Right? It's scary, man.

33:40

It's scary. And I find the kids,

33:43

I'm gonna say kids, the people that

33:45

are out of school a year or

33:47

two. Do better on my interviews than

33:49

the ones that have more experience. That's

33:51

mind blowing to me. A lot of

33:53

the recent college graduates often over index

33:55

on algorithm study. So it would make

33:58

sense that they would like probably perform

34:00

better in that aspect versus people that

34:02

have been in the industry. And I

34:04

know there's probably listeners listening to this

34:06

right now that are like, well, the

34:08

algorithm stuff, leacote, sucks, this and that.

34:11

And yeah, you're right. Like that's not

34:13

a great way to interview. But also

34:15

when you have to work through some

34:17

problems, you do need to have like

34:19

algorithmic thinking. You need to you need

34:21

to describe what it is you're going

34:23

to do with this code in plain

34:26

language in an algorithm before you actually

34:28

just go hack at the code. And

34:30

then a lot of people's responses to

34:32

that are like, oh, well, I prototype

34:34

better with my my programming language. It's

34:36

like, but then how are you going

34:39

to tell the next person? You know,

34:41

you're going to tell them to read

34:43

your, your, code that nobody can read

34:45

because you're too clever. If you can't

34:47

explain to me the algorithm in plain

34:49

language, how are you going to fix

34:51

it or troubleshoot it when things go

34:54

wrong? That scares me too. It reminds

34:56

me of one of the things that

34:58

Leslie Lamport has said a lot, where

35:00

it's like, he draws this distinction between

35:02

programming and coding. And he's like, people

35:04

today. tend to be able to code.

35:07

Like you take the language, you can

35:09

produce some software with it, but that's

35:11

different from programming, which is this broader

35:13

thing of like actually designing software, designing

35:15

algorithms, designing all the pieces that come

35:17

together, and then coding is a thing

35:19

you do after you figured out all

35:22

of that stuff. And I think a

35:24

lot of people push back against some

35:26

of his ideas like, you know, using

35:28

TLA Plus or. just writing things down

35:30

because that's more programmer and less coding

35:32

and people want to be in the

35:35

coding they want to be in their

35:37

programming language because that's where they feel

35:39

the most comfortable that's where they feel

35:41

like they can be the most productive

35:43

but it does lead to people not

35:45

being able to conceptualize what it is

35:47

that they're kind of building in the

35:50

macro sense which I also think is

35:52

is troubling for businesses right because businesses

35:54

for the most part don't care about

35:56

the code at the end of the

35:58

day. They care if you've programmed it.

36:00

They care if the problem they have,

36:03

you've created a solution for, which you

36:05

don't have to do by writing some

36:07

code. You have to do that by

36:09

sitting down and figuring out what are

36:11

the parameters of this, how do I

36:13

build a solution? And then you can

36:15

go, and as people say, maybe not

36:18

reinvent the wheel, and go and find

36:20

a solution and say, hey, the solution

36:22

fits my problem. I can just use

36:24

this or I can use half of

36:26

this and half of this other thing

36:28

and bring those two things together. But

36:31

I think people want to jump into

36:33

the code a little too quickly. I

36:35

think we're starting to see the repercussions

36:37

of that and the repercussions of people

36:39

just not. wanting to go lower level

36:41

on things and not understand how things

36:43

work. Like a lot of people don't

36:46

understand how garbage collectors work. They don't

36:48

understand how their memory model works. So

36:50

like my program is slow and it's

36:52

like your program's slow and they're like

36:54

it's the garbage collector. It's because I'm

36:56

writing a garbage language and it's like

36:59

no your program is slow because you

37:01

have a garbage problem because you... allocated

37:03

a bunch of memory, then dropped it

37:05

on the floor, and of course it's

37:07

going to be slow, no matter the

37:09

memory model that you're using. But that's

37:11

not something that people are studying as

37:14

much and learning as much, because they

37:16

don't think they need to, because, oh,

37:18

the runtime and the garbage factor will

37:20

do all of this for me. So

37:22

here's something interesting today's show. We started

37:24

using a 20-byte array, which is a

37:27

common address in Ethereum for your ID.

37:29

a 20 byte array fixed no matter

37:31

what, right? And you can produce a

37:33

string from that, which ends up being

37:35

about 40 characters long, okay? So somebody

37:37

was like, Bill, why are you using

37:39

the common address? Why don't you just

37:42

use a string? Won't it be smaller

37:44

and more efficient? And immediately my brain

37:46

went, well, we're dealing with a 20

37:48

byte array. That 20 byte array doesn't

37:50

need anything on the heap. It's 20

37:52

bytes, right. We put that in a

37:54

struck. There's never anything going to be

37:57

on the heap unless the struct itself

37:59

ends up on the heap. But if

38:01

I start working with a string, the

38:03

string value will stay in the struct,

38:05

but the backing array of these bites

38:07

have to be on the heap. So

38:10

when you start thinking about all that

38:12

stuff, right, switching from a string to

38:14

a 25, I mean a 20 bite

38:16

erase, starts, I didn't even think about

38:18

it at the time, right? Plus you

38:20

get the type safetyness of a type

38:22

that isn't string, right? And you start

38:25

sharing all this stuff online and I'm

38:27

starting to realize again, just like you

38:29

said, right? Nobody really understands the, readability

38:31

is about understanding the cost of that

38:33

code, right? And engineering is having an

38:35

understanding of the cost of your decisions.

38:38

But I also always teach that there's

38:40

two modes you're in. You're in programming

38:42

mode and engineering mode. And programming mode

38:44

is find me the 20 lines of

38:46

code for the happy path that makes

38:48

this work. And then engineering is. How

38:50

do I put this in the product

38:53

in a way that's fault tolerant and

38:55

I deal with all the things that

38:57

are about to happen to me, right?

38:59

And to be able to maintain mental

39:01

models of the code base. So when

39:03

things start breaking, I know where to

39:06

go to sort of fix it. These

39:08

are the two things. And I think

39:10

college teaches you how to do some

39:12

programming, which is great, which is why

39:14

I have Kevin on the show, because

39:16

he's taught how to program. He's never

39:18

been taught how to engineer. There's no

39:21

time for it in university in university.

39:23

Right. And that's a little bit more

39:25

also kind of what we see. I

39:27

want to ask a question on the

39:29

learning landscape real quick. You mentioned earlier

39:31

that you see companies coming to you

39:34

with legacy Go code bases, right? Five,

39:36

maybe, five years old, maybe. What really

39:38

makes some legacy? Is it just the

39:40

age? Is it the version of Go?

39:42

Like what, what is actually the finding

39:44

legacy here for you? Legacy means that

39:46

you have a code base where the

39:49

breadth of knowledge about that code base,

39:51

the mental models of this code base

39:53

have almost gone completely lost. Where you've

39:55

had also so much turnover that there

39:57

wasn't even somebody there to teach the

39:59

mental models of the code base. has

40:02

intimate knowledge over code based on ever

40:04

mental model ever. What does that mean?

40:06

That means if they see something in

40:08

the logs, they know where to go.

40:10

You always know where that code is

40:12

at some level. You know how the

40:14

code works, you know where it is.

40:17

And it's not line by line, but

40:19

it's enough of a mental model to

40:21

know where to start. See, the moment

40:23

that's lost, now you're in trouble. And

40:25

God forbid, you don't have enough tests.

40:27

Because at that point, you don't know

40:30

what you're breaking breaking. Right? And I

40:32

don't use tests as a criteria for

40:34

legacy. But the older a code base

40:36

gets and the newer the people are

40:38

on it and the lack of mental

40:40

models, now you get into a very

40:42

scary situation about how do you update

40:45

it? I walked into a client that

40:47

had a code base. It worked. It

40:49

was a mess. They hired me to

40:51

build a version two that we could

40:53

build mental models around, right? I got

40:55

hired to do that. And we did

40:58

it, but the problem was they had

41:00

no tests. The first month was, and

41:02

luckily this was just like a web,

41:04

it was an API, a web API.

41:06

For the first month, all we did

41:08

was write tests on all the end

41:10

points to make sure that we understood

41:13

everything going in. and what we expected

41:15

going out, including all the error messages.

41:17

Once I had the tests, we could

41:19

start rewriting the API. This wasn't simple

41:21

APIs either. There were complex data structures

41:23

going in and out. But now we've

41:26

got a new version of the service

41:28

where there's at least two of us

41:30

that have a full mental model of

41:32

the code base, how to add stuff,

41:34

how to debug stuff, how to do

41:36

that. If I leave and the other

41:38

guy leaves and somebody new has to

41:41

come in, it doesn't matter that I

41:43

feel like this has been architected really

41:45

well. They have no mental model of

41:47

the code base. They're going to start

41:49

hacking on it. They're going to put

41:51

code in the wrong place, even though

41:54

it's going to work, because every time

41:56

I have another person start doing stuff,

41:58

my code reviews are usually, you can't

42:00

put that there. looked good and I

42:02

know it's working but you don't want

42:04

to put that there we got to

42:06

put it over here right and so

42:09

now that becomes a real mess because

42:11

now you're back to the point where

42:13

you can't make a change at all

42:15

because right the whole thing just now

42:17

become and it's not even because the

42:19

initial architecture was bad it's because the

42:22

next person coming in didn't know how

42:24

to maintain that architecture nor adapt as

42:26

things adapted. So that to me is

42:28

sort of legacy. So if you hire

42:30

me right now, and I don't know

42:32

your code base, it's legacy to me,

42:34

until I gain a mental model of

42:37

it, and I feel very comfortable that

42:39

I can run tests, and I can

42:41

make changes, and I know if it

42:43

broke stuff. Hmm. I feel like that's

42:45

one of the best definitions of legacy

42:47

that I've come across. So I feel

42:50

like it is, it puts it in

42:52

the context of not... the code as

42:54

like an objective thing of legacy or

42:56

not, but the subjective view of who

42:58

has to work with it that determines

43:00

whether it's legacy, which I think puts

43:02

more of the onus on us to

43:05

make sure that we do the knowledge

43:07

transfer or even better, actually archiving and

43:09

putting that knowledge into a place where

43:11

people can access it later. Because right,

43:13

if you wrote that code base, but

43:15

you also wrote, you know, we call

43:17

it documentation, but if you also write

43:20

down all of the information about it,

43:22

then somebody who needs to approach that

43:24

can go first, study what you've written

43:26

about it and like, oh, these things

43:28

go here and this is how we

43:30

architected it. This is how it did

43:33

everything. And now they have that mental

43:35

model. So now something that might have

43:37

been legacy before is no longer legacy

43:39

because now someone understands it so they

43:41

can work on it. Right. So it

43:43

also takes it away from a time-based

43:45

thing. Because people tend to think about

43:48

legacy in terms of time, right? Oh,

43:50

it's like, and you kind of. flip

43:52

that definition almost and you say it's

43:54

not legacy because it's old, it's legacy

43:56

because I'm new to the code base,

43:58

right, or I'm not, I, and not

44:01

just new, I'm knowledgeable to the code

44:03

base. I like that definition of legacy

44:05

as well, and that's a good point.

44:07

So then it begs the next question

44:09

of like, what about it is, like

44:11

what are they calling you for then,

44:13

right? Like what do you find yourself

44:16

fixing in these code bases then, normally?

44:18

Most of the time, if I'm in

44:20

those situations, it's really about rewriting it

44:22

to a new architecture. that I know,

44:24

that people that Arden know, and making

44:26

sure that every service that we're now

44:29

building in that company uses the same

44:31

sort of architecture and project structure, same

44:33

design philosophies and guidelines. That way, somebody

44:35

working on this service could jump easily

44:37

on this service, even if they don't

44:39

know the full understanding of what it

44:41

does, they'll know where everything is. Because

44:44

we build the same. the package is

44:46

the same way and we organize things

44:48

the same way. So I'm doing that.

44:50

Now sometimes I get hired to just

44:52

do code reviews and I always ask

44:54

this question first and it always pauses

44:57

everybody. What is your objective of me

44:59

coming in and doing a code review?

45:01

Like what's your objective? Is your objective

45:03

that I'm just going to make you

45:05

feel good that I think you're doing

45:07

things right? Is your objective that you're

45:09

going to feel like at the end

45:12

of this because I'm telling you that

45:14

I don't like what you're doing? start

45:16

rewriting things like what is your objective

45:18

and the funny thing is most people

45:20

don't know what their objective is in

45:22

in say one of these external code

45:25

reviews that's going on and I have

45:27

a client now that they'll reach out

45:29

to me for two hours and I

45:31

end up helping them redesign a package

45:33

that they've been sort of designing right

45:35

right where they're maybe not working with

45:37

concurrency as well as they could or

45:40

and so a lot of times I'd

45:42

like to do it. you know, packaging

45:44

is a brilliant thing in Go, right?

45:46

It's our unit of code. And so

45:48

a lot of times if you're going

45:50

to start trying to clean up a

45:53

code base, there's two things you're going

45:55

to need to clean up. One is

45:57

your project structure and how packages are

45:59

laid out, right? And I teach that

46:01

stuff with layering and domains and things

46:03

like that. in different ways you can

46:05

be successful with architecture and domains and

46:08

layering. These things have to exist. I

46:10

call them firewalls to be honest with

46:12

you, right? Yeah, I remember you talk

46:14

about that. So packaging is a way

46:16

to create firewalls between the most unit,

46:18

right? Discreet parts of your program. You

46:21

want to define layers that define firewalls

46:23

within the scope of data flowing up

46:25

and down. And then you want to

46:27

define domains, which we use microservices a

46:29

lot for. Right? You think about when

46:31

we went microservice crazy. Really what you

46:33

were doing is defining domains of functionality

46:36

at a process level. I'm trying to

46:38

teach domains in proc. How can you

46:40

create those vertical firewalls within the scope

46:42

of your project so you don't need

46:44

the microservice to sort of do the

46:46

domain? And I don't care what your

46:49

architecture is. It's at least from a

46:51

go perspective. You need these three things.

46:53

Good package design for that level of

46:55

firewall, layering. I do application layers, business

46:57

layers, whatever. I don't care what they

46:59

are for you. And then the domains,

47:01

right? These sort of vertical, sort of,

47:04

and if you think in terms of

47:06

firewall, then, right, and if you could

47:08

portray that in your project, where somebody

47:10

can look at it and say, where

47:12

are the layers? Okay, these are the

47:14

domains. If somebody within five minutes can

47:17

have a light bulb. that turns on

47:19

on a project and see the layers

47:21

and see the domains, you're already 50%

47:23

there in terms of... where they should

47:25

go. You can define what the roles

47:27

and responsibilities are for a layer. The

47:29

domain is always a domain of functionality,

47:32

whatever that is, right? And then good

47:34

package design is critical. That's where you're

47:36

going to make all your mistakes in

47:38

the first couple of years, right? We

47:40

talk about all that. And so if

47:42

I come into a project and I

47:45

look at it and I look at

47:47

how much code is there, if there

47:49

isn't a large amount of code, let's

47:51

say 5,000 lines or less. start from

47:53

scratch. Let's move those packages over one

47:55

at a time, put them in the

47:57

new place, and let's... fix those package

48:00

APIs, and we have time to do

48:02

that. We can project of that size.

48:04

We should be able to move over

48:06

in a month or less, depending

48:08

on the tests that we need. If

48:10

it's much bigger, then what we're gonna

48:12

do is you have two choices. You

48:14

start with all the existing packages you

48:16

have, but you come up with the

48:18

new layers. So you come up with

48:20

the new project structure and take all

48:22

the existing packages you have and try

48:24

to organize them in the right place

48:26

to the extent you can, right? because

48:28

that might be really hard to break

48:30

out. But you could always move a

48:32

package somewhere, right? We all agree. A

48:35

package that's here could be moved here.

48:37

We just got to change some imports.

48:39

And so if you get it. If

48:41

you could reorganize the packages you have,

48:43

you start to also understand, you know,

48:45

are these packages really the best ones

48:47

we need it? Are they doing too

48:49

much? And then you can start reworking

48:51

a package at a time and at

48:53

least get to better package design and

48:55

layering, you know, structural layering design. After

48:57

that, you could choose whether or not

48:59

you want to, you know, break it into

49:01

domains. You find that to be a

49:04

hard sell though? Like, a lot of

49:06

people would consider it wasted, right. I

49:08

know, I mean, in your case, you're

49:10

hired to come in, right? I get

49:12

that. They're hiring me because they already

49:14

feel it. Right. In the case of

49:16

maybe the listener or people listening to

49:18

this or even ourselves, when you're trying

49:20

to propose some of this design from

49:22

the inside, do you people come to

49:25

you and say like that's a hard

49:27

sell? Like I'm creating pull requests that

49:29

need three reviews that are just renames

49:31

and moves and people are mad at

49:33

me? Like, do you find that sort

49:35

of pushback? to agree that this has

49:37

to be done. And it's either one

49:40

of two reasons, right? It's the velocity

49:42

of the team is now completely lost.

49:44

They're just not moving fast enough.

49:46

And they're all complaining about the

49:48

same things, right? We don't understand

49:50

the code. We don't put things

49:52

with breaking stuff. And you've got

49:54

to solve that problem. So Bill,

49:56

I can help you with that, right? We

49:58

can figure that out. Sometimes what happens,

50:00

and this is happening more and more,

50:03

some company that wrote these Go services

50:05

just got sold to Company A, they

50:07

bought it, right? And now some brand

50:10

new team of Java developers who want

50:12

to learn Go, and are really strong

50:14

developers, by the way, want to learn

50:17

Go, are told you now have to

50:19

maintain this. Right. So now you're coming

50:21

in. to help them start to understand

50:24

the code, the packages, maybe the decisions

50:26

that they, the old product made, they're

50:28

responsible for maintaining it. And I've never

50:31

met a group of non-go developers in

50:33

that situation where they came from Java,

50:35

C-sharp, that couldn't come in and do

50:38

that work. Like, they don't need syntax

50:40

training, the syntax is there, right? It's

50:42

all more about, but I don't understand

50:45

packaging, yeah, well, it took me five

50:47

years to understand it too, so. Stop

50:49

beating yourself up, right? And then taking

50:52

opportunities. Like on that particular say client,

50:54

all we're doing at that point first

50:56

is trying to get a mental model

50:59

of where everything is and fixing one

51:01

package at a time. After that, then

51:03

you can start talking about restructuring the

51:05

project from some better mental models. But

51:08

at that point, they might feel comfortable

51:10

enough. But they're like, you know what?

51:12

We have the mental models. This isn't

51:15

that bad. The fact that we've just

51:17

cleaned up the packaging and start up

51:19

and config and that's enough. I want

51:22

to move a little bit away from

51:24

the general landscape of learning and package

51:26

stuff. I want to talk more about

51:29

your journey at Art and Labs. I

51:31

want to talk about specifically, you have

51:33

ultimate go, ultimate service, ultimate software design.

51:36

But I saw that you also have

51:38

more, right? You have docory of Kubernetes,

51:40

and more recently now you have rust

51:43

courses. And I found it interesting because

51:45

you are the gopher man, right? Mr.

51:47

Gopher man, as my wife says. And

51:50

Arden Labs has pivoted, I don't want

51:52

to say pivot, maybe pivot is the

51:54

wrong word, maybe expanded, you've expanded to

51:57

rust. Can you talk to us about

51:59

that decision? Dude,

52:01

if you're gonna stay in business for

52:03

a long time, you can't put all

52:05

your eggs in one basket. You have

52:07

to diversify, right? So to diversify from

52:09

an Arden Labs perspective means you can't

52:11

just be about go. Every year I

52:13

would wake up and say, this is

52:15

gonna be the last year for go.

52:17

This is gonna be the last year

52:19

for go. Nobody else's. At some point

52:21

it was for Ruby. Do we all

52:23

agree? Early

52:25

on in Ruby, there were Arden Lab

52:27

companies. There were companies like Arden

52:30

Labs going into corporate environments, training people

52:32

in Ruby, doing Ruby consulting, right?

52:34

And after maybe 20, 25 years, that

52:36

all ended because nobody needed it.

52:38

And every year I'm always like, you

52:40

know what, it's gonna be the

52:43

last year for go because no companies

52:45

are gonna need training. And corporate

52:47

training's come down a lot. Don't get

52:49

me wrong, right? It has. From

52:51

pre -COVID, I was living on an

52:53

airplane. COVID changed a lot of stuff.

52:56

So who knows if they would

52:58

have died a little earlier. But

53:00

corporate training is, right? That demand is

53:02

way down. So how do we

53:04

pivot? We pivot by video, right? COVID

53:06

made us pivot on video. So

53:08

now we have more companies that are

53:11

buying video training than wanting to

53:13

put me in a classroom. Again, nobody's

53:15

going back to work just yet

53:17

too. So, right? So it's, if you're

53:19

running your own company, and I

53:22

say this is the job of the

53:24

CTO, but it's the job of

53:26

the CEO and the CTO from a

53:28

tax perspective, to be constantly looking

53:30

out and saying, where are things changing?

53:32

Where do we have to be

53:35

in six months in order to stay

53:37

where we're at today? Because the

53:39

world is changing all the time. So

53:41

two years ago, I started to

53:43

see that Rust was gonna be here

53:45

to stay. It's not being used

53:48

the way it is now, but I

53:50

saw very clearly the writing on

53:52

the wall that a lot of really

53:54

strong go devs were looking at

53:56

it and playing with it. And a

53:58

few important projects started coming. up where it

54:01

was all going to be rust. So I told

54:03

Miguel at the time, I said, we

54:05

need to find somebody in rust. Somebody's

54:07

written some books. It's just a marathon,

54:09

not a sprint. And so we've

54:12

got to do this for the next

54:14

two years to get to a point

54:16

where if rust does hit, I think

54:18

it will, we're right there in the

54:20

middle of it. And sure enough, I

54:22

mean, Microsoft just announced what? No more

54:24

C code in their operating system. It's

54:26

all rust, right. And so. That was

54:28

several years ago, where we brought

54:30

in Herbert and work with Herbert

54:32

on the training. And there's still

54:35

more go activity at Arden

54:37

than rust activity. But we're

54:39

seeing it now. We're starting

54:41

to get some rust consulting.

54:43

We're probably doing more rust

54:45

corporate training than go corporate

54:48

training. And that makes me really

54:50

happy, Matthew, because at some point...

54:52

this company needs to be able

54:54

to run at a high level

54:56

without me being on the road.

54:58

Right. And it's a major reason

55:00

why I chose not to learn

55:03

rust at any level. Because one,

55:05

Herbert's great at it. He's

55:07

doing great. He's a good trainer.

55:09

And it gives me the opportunity

55:11

at some point when there's more

55:13

rust going on than go to

55:16

be able to, you know. After 10

55:18

12 years relax a little bit

55:20

and go okay. I know we're

55:22

we're there. So Rust was a

55:24

big thing that I saw coming

55:26

and again if you're trying now

55:28

if you try now as a

55:30

consulting company to get into rust

55:32

You're two years late because you

55:34

need a couple years to build

55:36

a reputation and anything. We're at

55:38

all the rest conferences now, right?

55:40

We've got the books where we're

55:42

like but that's two years of

55:44

work. So the next thing I'm

55:46

looking at and I haven't

55:48

pulled the trigger on it,

55:50

is Zig, right? I have

55:53

to ask the question, amazing.

55:55

If you'd asked me a

55:57

year ago, I would have

55:59

said. start learning Zig. If you're

56:01

asking me now, I think Russ

56:03

did a really good job over

56:05

the last year of kind of

56:08

putting Zig in the in the

56:10

background and I think what's also

56:12

happened is thanks to generics and

56:14

some other things the Go team

56:16

has done. More and more enterprises

56:18

are using Go. So a year

56:20

ago I thought Zig was going

56:22

to be the next thing and

56:24

Rust and Zig we're going to...

56:26

I don't think so anymore. It

56:29

doesn't mean I'm not keeping my

56:31

eye on it, because the moment

56:33

I think that, here's the thing,

56:35

every 20 years a new language

56:37

comes out, every 20 years, right?

56:39

C-sharp came out in 2000, then

56:41

what, 2000, say, 2010, it's kind

56:43

of go, but it doesn't really

56:45

get mainstream until maybe what, 2020?

56:47

You see what I'm saying? And

56:50

so, so if you look at

56:52

that, in 2030. Let's say in

56:54

five years from now, I have

56:56

to imagine that there's going to

56:58

be another language that's starting to

57:00

pop up and be the next

57:02

thing. Now, maybe it's still rust,

57:04

because rust is, I think this

57:06

is the year for rust. I

57:08

think with the Microsoft announcement, and

57:11

Linux using it now in the

57:13

OS and these types of things.

57:15

I think this could be the

57:17

year for now. I also think

57:19

that people that went to Russ

57:21

to build web services and stuff

57:23

have come back to go. Okay.

57:25

Yeah. I've seen some of that.

57:27

But I think Russ is now

57:29

is Russ that next language. I

57:32

don't know. I think there's another

57:34

one on the horizon. The only

57:36

one I've seen is ZIG, but

57:38

it hasn't gained that traction it.

57:40

This is what you're looking for.

57:42

Okay, the moment, look at jobs,

57:44

look at jobs, right? There was

57:46

a company or two last year

57:48

looking for ZIG developers. That's where

57:50

my brain, whoa, whoa, whoa, whoa,

57:53

whoa, right? I haven't. I've seen

57:55

it again. And so look to

57:57

see if companies are looking to

57:59

hire anybody in that tech at

58:01

all, even if it's somewhat experimental.

58:03

That will start to give you

58:05

an idea of at least developers

58:07

in house starting to play with

58:09

stuff. Right. Are the people working

58:11

with you for the rust stuff?

58:14

Are they asking the same questions

58:16

about, or are they approaching you

58:18

for the same reasons that they

58:20

were for go? I have some

58:22

legacy code or I have some

58:24

design patterns that I'm not really

58:26

fond of, or is it just

58:28

I want to learn rust? Like

58:30

what's the kind of paradigm there?

58:32

The paid work, which is why

58:35

we've shifted some of our workshops

58:37

now, a lot of the paid

58:39

work is I want to convert

58:41

this C code base to rust.

58:43

That's what we're seeing right now.

58:45

Okay. Okay. And so if you

58:47

look at the workshops we're giving

58:49

like we gave this year already

58:51

at Rust Nation It's essentially workshops

58:53

about how to port C to

58:56

rust at this point And we

58:58

have experience doing that I Herbert's

59:00

got huge experience doing that right?

59:02

So that's sort of what we're

59:04

seeing I expect to see more

59:06

of that as the industry who's

59:08

writing C code wants the benefits

59:10

of what Russ gives you. We

59:12

know what that is, right? The

59:14

type safety and all the other

59:17

stuff that you're not necessarily getting

59:19

from C. So I expect to

59:21

see a lot of that this

59:23

year. We'll see more of that

59:25

next year. And then as these

59:27

code bases are ported, now you're

59:29

going to do the next level,

59:31

which, okay, let's clean this up.

59:33

We'll need more practical classes around

59:35

that. And then we'll see where

59:38

it goes. Here's

59:43

the problem. Here's the problem. Here's

59:46

the problem. They are a very

59:48

small team in Google. Tiniest team,

59:51

right? Who has to constantly justify

59:53

their existence related to cloud revenue.

59:55

Which is very hard when you're

59:58

working on a programming. And so

1:00:00

I have appreciated maybe more than

1:00:02

most their core focus over the

1:00:05

last several years on the enterprise.

1:00:07

My business, right, my ability

1:00:09

to write go code isn't necessarily

1:00:12

going to come from manufacturing

1:00:14

or wasm in the browser. It's

1:00:16

going to come from more and

1:00:19

more companies moving off of whatever

1:00:21

programming languages there are today. Maybe

1:00:23

the two major ones C sharp

1:00:25

in Java and sort of switching

1:00:27

to go, right? And so for

1:00:29

me, having that have been their

1:00:32

focus for the last several years

1:00:34

and being very successful in it.

1:00:36

If you have a small team

1:00:38

of people, what would you rather

1:00:40

than working on? Right? If you're

1:00:42

me and you want to write go

1:00:44

code and you want to make money

1:00:46

on go code, then I want more

1:00:49

people using it than not, right?

1:00:51

So nobody realizes how small

1:00:53

the go team is. Nobody realizes

1:00:55

how like... Small budget it is

1:00:57

in compares to all Google and

1:00:59

nobody knows the pressure that every

1:01:01

developer on the go team is

1:01:03

under in terms of proving their

1:01:05

existence at the end of the

1:01:07

year Which has to be measured

1:01:09

around cloud? It is really hard.

1:01:11

I've tried to do things on

1:01:13

Gobridge to help certain members that

1:01:16

we're helping with education and things

1:01:18

like that when I could but

1:01:20

it's it's really even like Robert

1:01:22

Grissomer and Ian who work on

1:01:24

that lower level language stuff. Sometimes

1:01:26

when I see a proposal come

1:01:28

out like this new one on

1:01:31

air handling, which I'm not a

1:01:33

fan of by any stretch of

1:01:35

the imagination, but I look at

1:01:37

it now as Robert has to

1:01:40

prove that he's doing something here

1:01:42

that's valuable that's going

1:01:44

to help move go deeper into

1:01:46

the enterprise. And so I could

1:01:48

sit here and get on that

1:01:51

issue and fight to the nail

1:01:53

against it. But if I do that,

1:01:55

I'm kind of, what are they cutting

1:01:57

my nose to spite my face? Because

1:01:59

in. reality, if they can come

1:02:01

out with a syntax that's going

1:02:03

to make a whole, another million

1:02:05

developers decide that I don't have

1:02:07

to write if there are not

1:02:09

equals no, which I love writing

1:02:11

and Copilot does it for me

1:02:13

anyway now. But if you're telling

1:02:15

me that if he figures that

1:02:18

out and another million developers in

1:02:20

another thousand companies are going to

1:02:22

switch to go, I'd be an

1:02:24

idiot. to stop it from happening

1:02:26

whether I like it or not.

1:02:28

There. That's actually a good point.

1:02:30

Yeah. I do think I wish

1:02:32

that we could leverage the community

1:02:34

more in these things too. I

1:02:36

think they do to some degree,

1:02:38

but I think that's why, you

1:02:40

know, I like that Tiny Go

1:02:42

is doing the Wasm stuff and

1:02:44

that's a bit separate since it

1:02:46

is the type of thing where

1:02:48

it's like, yeah, it'd be kind

1:02:50

of hard for the Go team

1:02:52

to incorporate that, especially all the

1:02:54

microcontroller stuff that people work so

1:02:56

hard on. going to be a

1:02:58

moneymaker I think for Google in

1:03:00

the long run unless there's a

1:03:02

big a big pivot in what

1:03:04

they care about. But I also

1:03:07

think that it's like maybe the

1:03:09

community needs to push on Google

1:03:11

a bit to be like you

1:03:13

know it's care about this more

1:03:15

yeah worth it to care more

1:03:17

about these future things because that's

1:03:19

also what I push it's not

1:03:21

Google it's every company that's using

1:03:23

this open source project in production

1:03:25

and not paying for it's not

1:03:27

Google. If you're telling me. that

1:03:29

company ABC is using this and

1:03:31

they're making money, then they should

1:03:33

be giving Tiny Go money to

1:03:35

survive for another year. Right. And

1:03:37

or, which is fine enough for

1:03:39

me too, take an employee and

1:03:41

dedicate their existence to the project.

1:03:43

To me, both works. Right. What's

1:03:45

brilliant about AK is that. I

1:03:47

can give them $25,000 and they

1:03:49

can live on that comfortably with

1:03:51

the way they've sort of set

1:03:53

up their lifestyle. They are an

1:03:55

amazing human being that just cares

1:03:58

about this tech and doesn't need

1:04:00

to be driving a Mercedes. And

1:04:02

so 25,000 a year, which is

1:04:04

mind-blowing to me, is they're happy.

1:04:06

Let me just put it that

1:04:08

way, right? I'm sure if we

1:04:10

could get them 50, it'd be

1:04:12

happier, but they're happy at 25.

1:04:14

And so as long as Go

1:04:16

Bridge can continue to fund Tiny

1:04:18

Go and... Google continued to fund

1:04:20

Go Bridge, right, which is the

1:04:22

fastest way to do that because

1:04:24

I don't need Google lawyers and

1:04:26

all the other stuff, right? I'm

1:04:28

good, but company ABC could be

1:04:30

giving them 10 grand and or

1:04:32

an engineer at 100,000 a year.

1:04:34

You see what I'm saying? Yeah,

1:04:36

and this is the same problem

1:04:38

with open source everywhere. Right, and

1:04:40

we can have a whole entire

1:04:42

show. I mean, Felipe, Felipe, has

1:04:44

tried to solve this problem and

1:04:46

he's done some amazing thing. Get

1:04:49

Felipe on the show, have him

1:04:51

talk about what he's done over

1:04:53

the last two years, because he's

1:04:55

one of the few non-googlers right

1:04:57

now, working on the cryptography packages.

1:04:59

He probably has more commits than

1:05:01

anyone on that project right now.

1:05:03

He doesn't work for Google. But

1:05:05

that's not because Google's paying them.

1:05:07

That's because he was able to

1:05:09

able to able to. And it

1:05:11

took him a while. He was

1:05:13

able to find, I don't even

1:05:15

know what it is, 8, 10

1:05:17

companies to write a check. And

1:05:19

if you go to his page,

1:05:21

you'll see who those companies are.

1:05:23

I wish I could, I always

1:05:25

like to shout them out right

1:05:27

now. But get him on the

1:05:29

show. Let him talk about what

1:05:31

he's done, because he's trying to

1:05:33

solve this problem, not just for

1:05:35

himself, but for others. And it's

1:05:38

a big problem. But if you

1:05:40

could sleep at night, knowing. that

1:05:42

you're using something for free that

1:05:44

you're now making money on that's

1:05:46

on you do that's that's your

1:05:48

conscience I have no problem with

1:05:50

hey it's free let's try it

1:05:52

out and if we can get

1:05:54

it to work then we'll pay

1:05:56

for it sure but pay for

1:05:58

it yeah pretty the money back

1:06:00

I think is important us, but

1:06:02

yeah, I think maybe we do

1:06:04

put too much on Google for

1:06:06

being the creators of the language

1:06:08

where it's like it can be,

1:06:10

it is a bigger and broader

1:06:12

thing. I mean, it's been for

1:06:14

years now, it's been more than

1:06:16

50% or around 50% of the

1:06:18

commits come from non- Google people

1:06:20

that go into the language and

1:06:22

the tool chain and the compiler. So

1:06:25

there's no reason why we can't be

1:06:27

like, hey, When you get, when you

1:06:29

have that, you can also work, have

1:06:31

them work on things that will make

1:06:33

you more. It's like, it could actually

1:06:35

be like a net zero for you

1:06:37

if you're people working on a language,

1:06:39

work on something that makes it so

1:06:41

your developers get more efficient, and then

1:06:43

you've basically paid for, you know, your

1:06:45

cost investment and how the community has

1:06:47

something that's better. So I think there's

1:06:49

some good arguments here. It's the same

1:06:51

thing with Caddy. Matt Holt, you know.

1:06:53

Caddy's being used more and more and

1:06:56

I don't think everybody thinks about engine X

1:06:58

right But there are a ton of companies

1:07:00

in Caddy because it's just easier and simpler

1:07:02

and it just works And they're not paying

1:07:05

paying Matt either right Matt right Matt? Matt

1:07:07

right Matt gets by every year and he's

1:07:09

and he loves this thing and that's what

1:07:11

he wants to work on and so He's

1:07:14

like okay in that sense right and at

1:07:16

Arden we did everything we could to help

1:07:18

Matt be able to sustain that to the

1:07:21

extent that we could right now there are

1:07:23

other companies that are helping them but

1:07:25

catty to me is no different than

1:07:27

tiny go right you're using it using

1:07:29

a production and you're not paying for

1:07:31

it like shame on you yeah that

1:07:33

brings a really good point I I was

1:07:35

at cockroach lives before this and I was

1:07:37

a hash corp before that and they used

1:07:39

to be sponsors of like go-for-con or whatever

1:07:42

they used to send money to these things

1:07:44

and now I don't see them on the

1:07:46

sponsor of this for Go for Con. I'm

1:07:48

not, I have no idea if they're, if

1:07:50

they're sending money to like the Go project

1:07:52

or to Tiny Go or to any other

1:07:54

things. But you are right, like these companies

1:07:56

make revenue off of this program

1:07:58

language and what? you just sponsored it

1:08:01

for a year and then you that's

1:08:03

it you left it high and dry

1:08:05

what's what's going on you know I'd

1:08:07

like to see I would like to

1:08:09

see those companies come back and give

1:08:11

money to the go community again to

1:08:13

some degree those companies also faced the

1:08:15

same problem though where like both of

1:08:17

those went through license changes because they're

1:08:19

like hey y'all are using this thing

1:08:21

for free and not giving money back

1:08:23

to us so I feel like it's

1:08:25

like everybody we all need to start

1:08:27

giving back to the things that were

1:08:29

basing the existence of companies off of,

1:08:31

right? There's so much, like everybody loves

1:08:33

to talk about open source, but then

1:08:35

every time you start talking about sustainability,

1:08:37

everybody's like, gee whiz, I don't know

1:08:39

how we're gonna do this. And it's

1:08:41

like, you know, lunchtime, I should get

1:08:43

out of here. It doesn't even have

1:08:45

to be a ton of money, right?

1:08:47

If a large number of people start

1:08:49

giving back money. then you can also

1:08:51

solve this problem. It's not have to

1:08:53

be everybody giving a whole developer. It

1:08:55

could be, you know, you know, $100,000

1:08:57

if a thousand, if a, well, yeah,

1:08:59

a thousand companies give a thousand dollars,

1:09:01

there you go. There's a hundred, I've

1:09:03

been giving Dominic $250 a month, for

1:09:05

God knows how many years for static

1:09:07

check. And at some point, GitHub was

1:09:09

matching it. Right. I've been doing that

1:09:11

for years, because I used that tool.

1:09:13

And I want him to continue to

1:09:15

continue to work on it. Right. What

1:09:17

kills me the most is developers cheating

1:09:19

other developers out of like, I could

1:09:21

see some, some, some higher up who's

1:09:23

not a developer, who's a bean counter

1:09:25

going, why am I going to pay

1:09:27

for that? I'm getting it for free.

1:09:29

But developers, cheating out, you want to

1:09:31

get paid for your work, don't you?

1:09:33

But they don't deserve to get paid?

1:09:35

Like, how do you sleep at night?

1:09:37

So like, you know, I've been funding

1:09:39

static check for, I don't know how

1:09:41

long it is. It's $250 a month,

1:09:44

dude. It's not like breaking my bank,

1:09:46

but that $250 goes a long way

1:09:48

to allow him to work on that.

1:09:50

And obviously, I imagine, he's got others,

1:09:52

but it's... just like you said Chris,

1:09:54

you got enough people giving you 200

1:09:56

bucks a month, you have what you

1:09:58

need to survive and everybody wins. I

1:10:00

think there might be a point to

1:10:02

it as well of like the. I

1:10:04

mean, I'm not going to say open

1:10:06

source should just go away, but I

1:10:08

think, you know, everybody wants to be

1:10:10

like, oh, these companies changing their licenses

1:10:12

so that they're not, you know, quote,

1:10:14

quote, quote, open source as it's defined

1:10:16

by the OSF, is like a really

1:10:18

bad thing. But I also think there's

1:10:20

an element of this that's like, maybe

1:10:22

we need to evolve how we view

1:10:24

all of this, maybe we to add

1:10:26

more nuanced and that needs to come

1:10:28

out in our in our licenseses to

1:10:30

come out in our licenses of like,

1:10:32

like, like, on the show who's a

1:10:34

program return lawyer, we talked a bit

1:10:36

about this idea of like, you know,

1:10:38

Open source licenses have always been kind

1:10:40

of a mess. These new licenses are

1:10:42

also kind of messy But we're like

1:10:44

working our way through them and we

1:10:46

kind of need to have like a

1:10:48

standardized model to like get it in

1:10:50

like for example The llama model from

1:10:52

or the llama, you know weights from

1:10:54

Facebook They say you can use this

1:10:56

for free up until you have 700

1:10:58

million users. Can't use this if you

1:11:00

have less than that great. And I

1:11:02

feel like if we had more space

1:11:04

for people to be like Well, how

1:11:06

successful are you actually being with this

1:11:08

thing? Or like, you know, maybe if

1:11:10

you are someone that just has a

1:11:12

little service, I'm fine for using for

1:11:14

free, but if you're bringing in like

1:11:16

a million plus dollars a year, then

1:11:18

no, you need to, you need to

1:11:20

give back of it. This is clearly

1:11:22

something that you're depending on. And while

1:11:24

the old model of like, okay, we'll

1:11:26

sell you a support contract or something

1:11:28

like that doesn't work for the smaller

1:11:30

developers. So I think we do need

1:11:32

to. be more inclusive of these other

1:11:34

licenses that do really have like a,

1:11:36

okay, no, it's not just a, you

1:11:38

get bad vibes from the community, but

1:11:40

like, no, your legal department's now gonna

1:11:42

have to get involved if you use

1:11:45

this wrong and someone finds out. And

1:11:47

I think that might start pushing people

1:11:49

and companies to start actually contributing back

1:11:51

a bit more because the legal department

1:11:53

is gonna tell you, like, oh, there's

1:11:55

a possibility of a lawsuit, how much

1:11:57

does this thing cost? it's going to

1:11:59

be $1,000 a month. No, go pay

1:12:01

for that thing. Like, I don't, we're not going to deal with

1:12:03

this because it's going to, it's going to cost us that if we

1:12:05

just get the lawsuit. Even if we can win it, we're going to

1:12:07

have to pay so much on legal fees that it's not going to

1:12:09

be worth it. That's not what's going to happen, Chris. It's going to

1:12:11

wait until we get a letter. Just keep using it until we get

1:12:13

a letter. We'll ask for forgiveness and we'll ask for forgiveness

1:12:15

and we'll ask for forgiveness and we'll write a check and we'll write

1:12:17

a check and we'll write a check and we'll write a check and

1:12:20

we'll write a check and we'll write a check and we'll write

1:12:22

a check. It could also happen that way.

1:12:24

Depends on the company. Depends on the people

1:12:26

in the company. But either way, at least

1:12:28

you have some recourse. You could send a

1:12:30

letter. And then it's like, OK, well, fine.

1:12:33

Here you go. We'll production. We give you

1:12:35

money. But I think it's like a thing

1:12:37

to shift the ethos. Because right now, the

1:12:39

ethos, I think, truly is. Oh, this is

1:12:42

free. I can just consume this. And there's

1:12:44

not even a. I don't even have to

1:12:46

think about giving this person any money. Right.

1:12:48

I think that's where so many developers, so

1:12:51

many companies go in of like, I just

1:12:53

got this thing off the street. I don't

1:12:55

have to think about giving them. But as

1:12:57

soon as it's like a, have to start thinking

1:12:59

about it. Doesn't matter. How do

1:13:01

you even know I'm using it? Right. Yeah,

1:13:03

they came on. At home at home. Like,

1:13:06

this is so complicated. But you should have

1:13:08

this conversation with Felico. We'll

1:13:10

talk so. I think

1:13:12

it's in the works.

1:13:14

I think our excellent

1:13:16

producer, Angelica, is working

1:13:18

on getting Filippo on

1:13:21

the show. And Ron, actually,

1:13:23

too. So I think both

1:13:25

of those covered. Clearly,

1:13:28

there has to be

1:13:30

a baton passing, which

1:13:32

we spoke about with

1:13:34

Kelsey High Tower previously.

1:13:36

So. One of the things that come to

1:13:38

mind when you're talking about you know handing

1:13:40

off to next generation or that baton passing

1:13:42

is How the heck do you get someone

1:13:45

up leveled enough to where they are a

1:13:47

senior engineer and ready to take the baton?

1:13:49

Because right now the industry has this problem

1:13:51

where? Companies are hiring people for the senior

1:13:53

level only and I put that in air

1:13:55

quotes because I don't even know what senior

1:13:58

even means anymore and we find the entry

1:14:00

level people coming to the market stuck,

1:14:02

you know, it's stuck in the entry

1:14:04

level and unable to achieve that senior

1:14:07

status. So I kind of want to

1:14:09

hear your thoughts on this matter. An

1:14:11

impossible situation. I have clients that would

1:14:14

love to hire some junior people, but

1:14:16

like I said, they feel like they've

1:14:18

got too much complexity in the environment

1:14:20

and they don't have enough time to

1:14:23

walk. this person. It's not that they

1:14:25

couldn't technically do it. I'm finding people

1:14:27

with less experience that I think are

1:14:30

better software developers than the ones with

1:14:32

experience, but they're feeling it's too much

1:14:34

risk because I'm going to put them

1:14:37

in a complex environment and these people

1:14:39

have never seen this level of complexity

1:14:41

before in architecture, design, and systems. And

1:14:43

I just don't have the time. So

1:14:46

it's almost like I don't care if

1:14:48

they know how to code and go

1:14:50

as much as Have they seen these

1:14:53

types of systems before and these types

1:14:55

of integrations? So I can plop them

1:14:57

in a chair and they already have

1:14:59

a mental model of some of the

1:15:02

chaos and they'll learn the programming language

1:15:04

faster than I can teach somebody else

1:15:06

the architectures and designs. And this comes

1:15:09

back to the idea that you've got

1:15:11

code bases that are five plus years

1:15:13

old now where people are moving on.

1:15:16

Nobody stays anywhere for more than two

1:15:18

years anymore anyway. We can have a

1:15:20

whole conversation about that. I used to

1:15:22

be anti that. I'm not anymore. It's

1:15:25

the only way you're going to get

1:15:27

a raise. You got a bounce. If

1:15:29

you, even if you're there three months,

1:15:32

if somebody's going to throw another $25,000

1:15:34

at you, you almost have a responsibility

1:15:36

if you have a family to take

1:15:38

that one. No, for sure. Yeah. As

1:15:41

long as the work is, it's work

1:15:43

that you're interested in and stuff, right?

1:15:45

And so when I'm doing an interview.

1:15:48

You bounced, you bounced, you bounced, you

1:15:50

bounced. And they say, more money, more

1:15:52

money, more money. Well, OK, that's fair.

1:15:55

I don't know how to solve that

1:15:57

problem, Matthew, because there aren't a. a

1:15:59

lot of projects that are starting with

1:16:01

new development where you can sort of

1:16:04

take on the risk and with the

1:16:06

job market so flooded with these engineers.

1:16:08

You said that companies are looking for

1:16:11

the kind of the experience engineers that

1:16:13

have seen it before, not necessarily like

1:16:15

can code in the language or whatever,

1:16:17

but have seen the systems, the architecture.

1:16:20

Do you define that as well as

1:16:22

being a senior? Is that what you

1:16:24

look for when you look for a

1:16:27

senior? I

1:16:29

hate these words. Senior, I hate them

1:16:31

too. I'm not gonna like you. I

1:16:33

really do hate them. You know how

1:16:35

many resumes I've seen when the person

1:16:37

said senior and I would barely even,

1:16:40

I wouldn't use the word at all.

1:16:42

Like I don't care that you have

1:16:44

15 years of experience, right? A senior

1:16:46

person to me is somebody that within

1:16:48

a month from my perspective, okay? If

1:16:51

I'm hiring for my own project, this

1:16:53

is somebody that's going to do two

1:16:55

things with me. One, I know within

1:16:57

a month they're going to need very

1:16:59

little of my time because they will

1:17:02

have understood the mental models that I

1:17:04

was teaching and the coding standards. And

1:17:06

that they are going to debate the

1:17:08

coding standards and debate the architecture and

1:17:10

come to me with these sort of

1:17:12

thoughts and ideas. I love debating software

1:17:15

design. I love debating these sorts of

1:17:17

things. If you're not capable of engaging

1:17:19

in these conversations when something comes up,

1:17:21

you're not senior to me. You'd be

1:17:23

a mid-level and maybe every once in

1:17:26

a while you ask the interesting question,

1:17:28

but I would expect over six months

1:17:30

that you're fully participating in debate as

1:17:32

much as, right? And debate is hard

1:17:34

for people because when you're in that

1:17:36

kind of- We just spent 30 minutes

1:17:39

in the beginning of the episode talking

1:17:41

about that concept. Debate requires strong personalities

1:17:43

with convictions that are willing to shut

1:17:45

up at times and listen. and reevaluate

1:17:47

what's going on. But if you're a

1:17:50

timid person, you don't feel like you

1:17:52

have enough, then you're not engaging in

1:17:54

that. And I've met guys that I've

1:17:56

been on my team where after they

1:17:58

tell me something and I'd be like,

1:18:00

why didn't you say that during the

1:18:03

meeting? That was interesting. That would have

1:18:05

added value, but they were afraid, right?

1:18:07

Because you got Alpha Bill and Alpha

1:18:09

Powell, growing at it like this, because...

1:18:11

And at the end of the day,

1:18:14

what we're really trying to do is

1:18:16

figure out what's the best solution. And

1:18:18

all my teams know this. If you

1:18:20

ask me to do something that I

1:18:22

can't teach or put back into the

1:18:25

service project, we can't do it here.

1:18:27

We're not going to do it. That's

1:18:29

the measuring stick. If I don't feel

1:18:31

comfortable teaching this, how the heck can

1:18:33

we do it at all? We can't,

1:18:35

right? That's the measuring stick. There have

1:18:38

been times where we've debated something. not

1:18:40

full two or three days, but an

1:18:42

hour here or there. And finally, I

1:18:44

have to make a decision, like, no,

1:18:46

this is what we're going to do.

1:18:49

But to me, that's the senior person.

1:18:51

They can come in, they understand the

1:18:53

architecture design, they understand the business problem,

1:18:55

they understand the problem that's in front

1:18:57

of us, and they can think out

1:18:59

solutions that maintain the architecture, maintain the

1:19:02

coding standards, maintain these things, and be

1:19:04

in debate listening. but also somewhat forcefully

1:19:06

sharing ideas because their opinions and they

1:19:08

have to be strong at the same

1:19:10

time you have to know how to

1:19:13

back off. There aren't a lot of

1:19:15

people that can do that. That to

1:19:17

me is the senior person. And I

1:19:19

have people around me, a guy named

1:19:21

Pavel, Florin. I love these people. I

1:19:23

love when there's a debate going on.

1:19:26

I think I spoke to Pavel before.

1:19:28

Yeah. Like sometimes I'm like, Powell, I'm

1:19:30

too tired right now, dude. I can't

1:19:32

do this. He's like, oh, we got

1:19:34

to talk about it. I do, let's

1:19:37

talk about tomorrow, man. I'm tired, like,

1:19:39

you know. But if you can't do

1:19:41

that, you're not senior. It's not your

1:19:43

coding skill. It's not anything else other

1:19:45

than mental models. You understand the arc.

1:19:48

texture, you see it, you understand the

1:19:50

problem, you understand why we have the

1:19:52

problem, and you've got some thoughts about

1:19:54

solutions, but we're willing to trade those

1:19:56

ideas back and forth. Like, I don't

1:19:58

know what the industry means by a

1:20:01

staff engineer, to be honest with you.

1:20:03

Like, I don't understand the industry term,

1:20:05

because I'm not in that section of

1:20:07

the industry, but I imagine a staff

1:20:09

engineer is similar to what I'm sort

1:20:12

of describing, right? They can, they understand

1:20:14

architecture and design. They know that if

1:20:16

you touch this, that is going to

1:20:18

break over there. And so we really

1:20:20

can't do that unless, right? Yeah. They

1:20:22

see the holistic view of the systems.

1:20:25

Yeah. I've seen like Staff Plus as

1:20:27

the people that can not only just

1:20:29

like know the multiple systems either from

1:20:31

being there a long time, but can

1:20:33

also just kind of enter a space.

1:20:36

and figure out those dynamics really quickly,

1:20:38

and then be able to be able

1:20:40

to like, okay, yeah, like I understand

1:20:42

now if you touch this, this is

1:20:44

things going to blow up, but be

1:20:46

able to do that in like a

1:20:49

matter of weeks, whereas I don't think

1:20:51

you can really expect a senior engineer

1:20:53

to be able to do that. Maybe

1:20:55

for like a single project, but if

1:20:57

we're talking about like a whole, yeah,

1:21:00

for a whole system, I think that's

1:21:02

more of like the staff, senior staff

1:21:04

principle. That's when you expect those people

1:21:06

to be able to be able to

1:21:08

be able to be able to be

1:21:11

able to be able to be able

1:21:13

to be able to be able to

1:21:15

walk in and do that sort of

1:21:17

stuff. But that also requires like a

1:21:19

completely different mindset of how you like

1:21:21

look at and evaluate a system and

1:21:24

then at that point really is not

1:21:26

about code at all It's about like

1:21:28

what is this thing doing and where

1:21:30

are all the parts of it and

1:21:32

I that scares me Chris because How

1:21:35

if you're not engineering from the from

1:21:37

the beginning thinking about these things then

1:21:39

you're not getting there ever right like

1:21:41

yeah I tell Kevin all the time

1:21:43

I'm playing chess all day long on

1:21:45

this code base all day long I'm

1:21:48

trying to think what's going to break,

1:21:50

what's going to break, what's... You're worried

1:21:52

about this. I'm already four moves ahead,

1:21:54

right? All day long. But that comes

1:21:56

with time and practice and putting bad

1:21:59

things in production. So I

1:22:01

don't know how you get to that level

1:22:03

you're talking about, either at a project level

1:22:05

or above, until you've walked that engineering journey

1:22:07

and made all those mistakes to know that's

1:22:09

going to be a problem. Like I don't

1:22:12

know how you can not have been a

1:22:14

developer and get there. I'm not saying that

1:22:16

maybe you haven't coded for 10 years and

1:22:18

you don't know go and that's fine. Right.

1:22:20

I think that's interesting right because I when

1:22:22

I look at my my own career and

1:22:25

I've said this in multiple different ways but

1:22:27

it's like I don't there wasn't a point

1:22:29

where I was like a junior mostly because

1:22:31

of circumstance like every job that I had

1:22:33

probably every job I've ever had in the

1:22:35

in the software community I've been the most

1:22:38

knowledgeable on whatever technology we're using or one

1:22:40

of the most knowledgeable. Like, even for my

1:22:42

very first job when I was a droopal

1:22:44

developer, I walked into a space and it

1:22:46

was like, I was there to fix the

1:22:48

problems because nobody else understood the technology we

1:22:51

were using. So there wasn't anybody I could

1:22:53

be like, help me along. This is when

1:22:55

you got to sit down, you got to

1:22:57

understand all of this. And like, once again,

1:22:59

I didn't enter this from someone that, from

1:23:01

being someone with a CS degree or anything

1:23:04

like this degree or anything like that. Try

1:23:06

to figure out, like, how do you replicate

1:23:08

that with other people? And I'm not really

1:23:10

sure. I think part of it comes from

1:23:12

the fact I have a writing degree. and

1:23:14

when you are a writer, when you are

1:23:17

a storyteller, you have to, you can't just

1:23:19

sit down and write, you have to take

1:23:21

the broader picture and understand where you're going,

1:23:23

what your story universe is, all of that,

1:23:25

and then you can get into everything. And

1:23:27

I think that applies to this as well.

1:23:30

Like if I go out and get another

1:23:32

job, I'm gonna sit down and start looking

1:23:34

at all of the stuff. and then I

1:23:36

can go down and look at that one

1:23:38

code base. And I think that's not the

1:23:40

approach that we give people when they enter

1:23:43

the industry. I think I had a very

1:23:45

unique experience, but I think what most people

1:23:47

get is the. Well, we'll give you this

1:23:49

one section of this one could basically begin

1:23:51

with and then we'll slowly level you up

1:23:53

to the point where now you have a

1:23:56

whole project or now you have multiple projects.

1:23:58

But I think by the time that someone

1:24:00

gets to that point where you're giving them

1:24:02

a whole project, it's been so many years

1:24:04

that they're just used to that other way

1:24:06

of working of that. Here's the box. Like

1:24:09

I've seen this in some engineers I've worked

1:24:11

with where it's like, well, this is my

1:24:13

box. I don't, I don't really know what's

1:24:15

going on any of what's going on any

1:24:17

of what's going on any other surfaces as

1:24:19

well in the, oh, I don't want to

1:24:22

have to talk to that other team about

1:24:24

their stuff to integrate. Can we just do

1:24:26

this in our box instead? So I think

1:24:28

like the way that we've traditionally trained software

1:24:30

engineers has hindered our ability to really get

1:24:32

the number of senior and staffless engineers that

1:24:35

we need because we tell them this is

1:24:37

your box, please stay in your box. And

1:24:39

sometimes the politics of companies also force you

1:24:41

to kind of stay in your box. And

1:24:43

that's just, I don't think that that that's

1:24:46

a path toward being able to being able

1:24:48

to being able to being able to learn

1:24:50

to think from the completely other direction at

1:24:52

the completely other direction at the other direction

1:24:54

at the end of the end of the

1:24:56

end of the end of the end of

1:24:59

the end of the end of the end

1:25:01

of the end of the day. So I

1:25:03

have the luxury with Kevin where I don't

1:25:05

code anything without him. I pair on everything.

1:25:07

Sometimes I drive because I need to move

1:25:09

a little faster that day. Other times I

1:25:12

have him drive. He drives me crazy because

1:25:14

he uses the mouse too much. I'm trying

1:25:16

to get him to learn the keyboard and

1:25:18

there are days where I have patience for

1:25:20

it and there are days that I don't

1:25:22

and that's on me to have more patience.

1:25:25

Okay. For me, the only way I have

1:25:27

found to be able to get Kevin up

1:25:29

to speed at the level I want to

1:25:31

get him, at some point, I want Kevin

1:25:33

to be able to work at a client,

1:25:35

right? I feel comfortable doing that. Is to

1:25:38

pair with him on just about everything that

1:25:40

I'm doing. So I can dump my brain

1:25:42

on him. This is what I'm thinking about.

1:25:44

This is what I'm concerned about, right? I

1:25:46

don't know what the answer is here because

1:25:48

I don't know enough yet, but... I don't

1:25:51

know how else you get that without some

1:25:53

level of pairing. Now I'm saying you should

1:25:55

be pairing. Several years ago, Volkswagen had a

1:25:57

team in Berlin. That team did only pair

1:25:59

programming. So every two, and

1:26:02

it was different developers,

1:26:04

but you weren't allowed to sit

1:26:06

down and code unless you were

1:26:08

pairing with somebody else. Now,

1:26:11

it was an interesting idea.

1:26:13

I think they went too

1:26:15

extreme because nobody was allowed

1:26:17

to touch code at all

1:26:19

without it. Now, what I

1:26:21

would have liked to see is

1:26:23

a mix of, I want a number

1:26:25

of hours a week where you're pairing.

1:26:28

and then where you're sort of working

1:26:30

solo and then come back to do

1:26:32

the review as a pair instead of

1:26:34

that dang PR thing. I hate those

1:26:36

freaking PRs. I can't read them. That

1:26:38

to me is the final sort of

1:26:41

step there, right? Even with anybody I'm

1:26:43

managing and even on client work, it's,

1:26:45

let's sit down and look at the

1:26:47

changes together, not at the PR level.

1:26:49

And here's another thing I do, which

1:26:52

is crazy, with my seniors. I tell

1:26:54

them, if you see a piece of

1:26:56

code. that we're working on and it's

1:26:58

not right. I don't want to comment,

1:27:00

fix it. I don't want to

1:27:02

comment, fix it. What are we doing?

1:27:05

I don't own that code anymore

1:27:07

than you own that code. I

1:27:09

have time for that. Fix it.

1:27:11

Now for the other developers who

1:27:13

haven't earned that yet, then I tell

1:27:15

them we're going to sit together and

1:27:18

look at it. If you see something

1:27:20

you don't like, change it, but that

1:27:22

has to stay. in the PR, that

1:27:24

can't go to Maine without me,

1:27:27

right? On the other developers, that

1:27:29

stuff can go to Maine all

1:27:31

day. Like, let's not slow it

1:27:34

out. You, your stuff can't

1:27:36

go into Maine. Fix it,

1:27:38

and then we'll review it

1:27:40

before anything gets. I don't

1:27:42

know how any other way to maintain

1:27:45

velocity and then get

1:27:47

up speed without some

1:27:49

level of pairing. Yeah, I think,

1:27:51

I think. some degree of it. It's not

1:27:53

pairing in the same way, but I've been a big

1:27:56

proponent. I've been talking so much about this that some

1:27:58

people are like, shut up, but I'm like... You

1:28:00

know, the whole idea of writing more stuff

1:28:02

down and archiving things and really being able

1:28:04

to be like, here's a manual, and not

1:28:06

just like throwing a manual, someone. I think

1:28:08

that is completely useless as an idea. But

1:28:11

give people the, spend the time teaching people,

1:28:13

here's how to, if you have a question

1:28:15

about something, if you're trying to learn something,

1:28:17

if you want to learn a piece of

1:28:19

the code base. This is where you go

1:28:21

in this manual. Like I think of how

1:28:23

it works for like I have seen myself,

1:28:26

the Chicago Manuel style, or any style manual,

1:28:28

and these things are like, you know, Chicago

1:28:30

manual style is like a thousand pages long,

1:28:32

but any publishing house says they're manual of

1:28:34

style. And if you want to write a

1:28:36

piece of writing for them, you got to

1:28:38

write it in that way, but they're also

1:28:40

structured so that if you just know how

1:28:43

manuals of style work, you can sit down

1:28:45

and be like, oh. I need to know

1:28:47

how to do, like, cite this in one

1:28:49

way or how to do this quoting or

1:28:51

this thing. You know where to look in

1:28:53

the manual to find that information so you

1:28:55

can do it in the right way. And

1:28:58

I feel like we as an industry are

1:29:00

missing all of that stuff. And I feel

1:29:02

like when we try to make it, it

1:29:04

usually comes in the form of like, here's

1:29:06

a file you can put so your editor

1:29:08

will force you into doing these things. And

1:29:10

I feel like your approach where you're like,

1:29:12

okay, I want to sit down and pair

1:29:15

with someone, I want to connect on a

1:29:17

human level and do this knowledge transfer, like

1:29:19

being able to do that, but also being

1:29:21

on the other end to scale it up

1:29:23

with. Now I've sat with you a little

1:29:25

bit, maybe for a few weeks or a

1:29:27

month, now you have the knowledge you need

1:29:30

to be able to be able to be

1:29:32

able to be able to be able to

1:29:34

be able to be able to be able

1:29:36

to be able to be able to go.

1:29:38

use that manual to learn more, to do

1:29:40

more, to do things in the way that

1:29:42

we do them here and whatnot. I feel

1:29:45

like that would be a better balanced approach

1:29:47

than what we've been doing. I have tried

1:29:49

to write style guides. I've tried to do

1:29:51

this. It is so tedious. It's not easy,

1:29:53

man. And I gave up. I kudos to

1:29:55

you for being able to do it. I

1:29:57

gave up. And that's why I went with

1:29:59

the pairing approach. So anybody working on the

1:30:02

code bases that I'm working on. You pair

1:30:04

with me until we get to a point

1:30:06

where I can trust that you don't need

1:30:08

the pairing. And even sometimes... something really complex.

1:30:10

Florn and I was working on something complex

1:30:12

last week. I'm like, dude, we need to

1:30:14

work on this together. And I'll be honest

1:30:17

with you, I know I couldn't have solved

1:30:19

it alone and I know he couldn't have

1:30:21

solved it alone. Yeah. So I'm a, I

1:30:23

love, you know, what would be my favorite

1:30:25

job if I can ever retire from Arden?

1:30:27

And retiring might be selling or just handing

1:30:29

over the range to some other people and

1:30:32

I don't have to deal with it day

1:30:34

and day and day out. I would love

1:30:36

a job. There's just no way to, there's

1:30:38

just no way to. There's no I would

1:30:40

be fired at the end of every year

1:30:42

because my performance review I'd have nothing for

1:30:44

performance review. Okay, but at least for a

1:30:46

year this would be fun I'm gonna go

1:30:49

to a company and every week pair with

1:30:51

a different team My job on every day

1:30:53

is to sit next to somebody and help

1:30:55

them code whatever it is they're working on

1:30:57

I get no credit for it because all

1:30:59

the commits are in their name And after

1:31:01

a few days with this person, I'll go

1:31:04

to another person and maybe stay with a

1:31:06

team for a month and get them all

1:31:08

up to speed on everything that we've talked

1:31:10

about and then move on to the next

1:31:12

company, move on to the next team. See,

1:31:14

the problem is when the code of you,

1:31:16

when the... performance review comes up and they

1:31:19

say, what did you do? You're like, well,

1:31:21

I didn't really do anything. Look, I got

1:31:23

no commits. Like, I have no responsibility. That's

1:31:25

the best part, right? The things breaking at

1:31:27

three in the morning ain't calling me. But

1:31:29

I would love that job. I would love

1:31:31

somebody just pay me to come to work

1:31:33

every day and pair with somebody and just

1:31:36

depart all my thoughts and what I'm thinking

1:31:38

about and get up to speed. I mean,

1:31:40

companies hire me to do that remotely. Right,

1:31:42

and I do some of that already, but

1:31:44

that to me would be the most amazing

1:31:46

job. Yeah, I mean, I feel like that's

1:31:48

a thing that companies need more than they

1:31:51

think they need. I feel it's a failing

1:31:53

of, definitely our performance review or like, how

1:31:55

we see value in what software insurers do

1:31:57

is that we don't understand that as just

1:31:59

like, no, what is very helpful to have.

1:32:01

someone that's just going around a company and

1:32:03

spreading ideas and spreading knowledge around. And I

1:32:06

think to your point that you said about

1:32:08

like the difficulty in writing a style guide,

1:32:10

I think for where we are as an

1:32:12

industry, like we are in the like Not

1:32:14

even punch card era, but the like

1:32:16

manually configuring dials on a mainframe

1:32:18

era of putting these types of

1:32:20

things together, right? Like we just

1:32:22

don't have the tooling that we

1:32:24

need to make something like this

1:32:26

valuable, right? Like you need to

1:32:28

have much better systems of cataloging

1:32:30

and organizing information than accessing it

1:32:32

before you can really scale something

1:32:34

like a manual style. I wonder

1:32:36

if I can use an LLC

1:32:38

to write a style guide. I used

1:32:40

an LLM to take my

1:32:43

notebook. So in a couple

1:32:45

weeks, we're announcing Arden certifications

1:32:47

and both go and rest.

1:32:49

Arden certification. So you'll have

1:32:51

Arden Labs dot training. And

1:32:53

in there, I think it's

1:32:55

100 bucks, and you answer

1:32:57

100 questions, and if you

1:32:59

get 80%, right, you'll get

1:33:01

an Arden certification certificate, the

1:33:03

whole nine yards, right? But I

1:33:05

had to come up with like 500

1:33:07

questions for both go and rest. I

1:33:09

was like, how am I going to come

1:33:12

up with 600 questions? I took my go

1:33:14

notebook, ran it into the LLLM, and

1:33:16

said, give me questions on this chapter.

1:33:18

Give me questions on that chapter. And

1:33:20

I had to clean up the questions.

1:33:23

And there's still a dozen questions

1:33:25

that I need to clean up

1:33:27

a little bit. But it got

1:33:29

me where I needed to go

1:33:31

in terms of, and I call

1:33:33

this an ardent certification and go,

1:33:36

because it's. the things that I'm

1:33:38

teaching, right? For whatever that's worth,

1:33:40

an aren't certification,

1:33:43

but a proctored exam.

1:33:45

So we've got a

1:33:48

company that we pay,

1:33:50

I don't know, some fee,

1:33:52

they have a proctored exam

1:33:55

site, and we've got it

1:33:57

all set up. It's nice.

1:34:00

we're also susceptible to this AI hype

1:34:02

is because tech is like a hype

1:34:04

driven industry like I was talking about

1:34:06

the article like the Market for Lemons

1:34:08

and how so much of front end

1:34:10

has become just marketing hype without anything

1:34:12

underneath it like completely ignoring data completely

1:34:15

ignoring the facts and everybody being like

1:34:17

yeah let's do it let's go let's

1:34:19

go and I feel like that's just

1:34:21

spread to everything within tech whereas as

1:34:23

soon as something It gets a little

1:34:25

bit exciting. I mean we've talked about

1:34:27

on the podcast a bunch, whether it

1:34:30

was big data or web 2.0 or

1:34:32

blockchain and crypto or now AI, it's

1:34:34

like everybody gets super excited and there's

1:34:36

some very good use cases, but those

1:34:38

aren't the use cases people are talking

1:34:40

about. People are talking about the crazy

1:34:43

stuff, right? It wasn't that long though

1:34:45

that people were just talking about, oh

1:34:47

yeah, yeah, Bitcoin's gonna replace all the

1:34:49

fee out currencies in the world and

1:34:51

we're doing everything in Bitcoin and Bitcoin

1:34:53

and it's useless. And it's useless. And

1:34:55

it's useless. I'm not saying that. There

1:34:58

are some useful things about cryptocurrencies and

1:35:00

especially the underlying technology, but like, it's

1:35:02

not replacing the Fiat currencies. And I

1:35:04

think AI is going to fall into

1:35:06

the same thing, where we're all in

1:35:08

the hype cycle right now. We're seeing

1:35:11

these things, it's doing, that's cool. But

1:35:13

I think when you asked those tough

1:35:15

questions, like you did Bill, of, okay,

1:35:17

you built me this app, but now

1:35:19

there's a bug in it, can you

1:35:21

fix that bug? Can you fix that

1:35:23

bug? the fact that the thing that

1:35:26

differentiates a bug from a feature is

1:35:28

whether you meant to put it there

1:35:30

in the first place. Right? Like, this

1:35:32

is what happens. So it's like, is

1:35:34

that a feature or a bug? Like

1:35:36

the famous X to CD comic where

1:35:38

you hit the space bar and it

1:35:41

heats up your CPU and someone's like,

1:35:43

I was using that for something, right?

1:35:45

It was a feature to someone even

1:35:47

though you considered a bug. So and

1:35:49

now you're like, the AI is going

1:35:51

to do it all for me. Then

1:35:54

what are your features? What are your

1:35:56

features? I don't remember, this was late

1:35:58

90s or early 2000s. All software engineering

1:36:00

went offshore from the US. Right? Because

1:36:02

everything was going to be cheaper. And

1:36:04

those countries started hiring everybody out of

1:36:06

union. and everyone they could and they

1:36:09

had essentially these really large shops of

1:36:11

developers and you were paying what 10

1:36:13

bucks an hour for them and everybody

1:36:15

tried to use these shops for two

1:36:17

or three years and ended up not

1:36:19

being able to get projects done or

1:36:22

having reliability in product and it wasn't

1:36:24

for any other reason then these people

1:36:26

just didn't have enough experience though it

1:36:28

was cheaper whatever was promised. I'm wondering

1:36:30

if we're gonna see something similar with

1:36:32

AI. Where industry is going to attempt

1:36:34

to use it because it's going to

1:36:37

be cheaper and two or three years

1:36:39

later We're going to find out whether

1:36:41

or not it actually worked Yeah, and

1:36:43

if it doesn't you go back I

1:36:45

think one of the chapter titles in

1:36:47

the episode with Kelsey was Like AI

1:36:49

is the new offshoring because I think

1:36:52

I think that is a very very

1:36:54

comparative thing of like it's basically the

1:36:56

same argument of like oh you'll just

1:36:58

be able to export all of this

1:37:00

knowledge work to this other place and

1:37:02

it's definitely gonna work out and you

1:37:05

go get there and you're like actually

1:37:07

it's not and now I got to

1:37:09

go pay the people that actually know

1:37:11

things which is also what Kelsey brought

1:37:13

up of like now I got to

1:37:15

go pay these people some exorbitant amount

1:37:17

of money because they're like you could

1:37:20

have just in In today's world, that's

1:37:22

gone because you've missed it. In today's

1:37:24

world, back then, maybe a thousand companies

1:37:26

got into the game. If you're not,

1:37:28

probably less, maybe 200 companies got into

1:37:30

the game. Today, 5,000 companies are getting

1:37:33

into the game. And it's the same

1:37:35

thing I was sharing with you with

1:37:37

Rust. The companies that are having a

1:37:39

lot of success right now have been

1:37:41

around for three years. They saw this

1:37:43

three years ago and they started devving.

1:37:45

amazing polished projects, right, and products. And

1:37:48

everybody jumping in now is rushing to

1:37:50

that. But I think before you could

1:37:52

pay. Now today, unless it's internal development,

1:37:54

you're done, dude. You lost time. Times

1:37:56

against you. saying is like those companies

1:37:58

that build things are going to have

1:38:00

to pay the people you were just

1:38:03

talking about the people that are prepared

1:38:05

already that are like oh yeah no

1:38:07

this isn't going to be as a

1:38:09

20 buck per month subscription this is

1:38:11

going to be measured in many many

1:38:13

thousands of dollars you got to survive

1:38:16

long enough that's what I like I

1:38:18

survived covert last year was bad for

1:38:20

my business nobody was spending money

1:38:22

last year I think mainly because

1:38:24

of the election wanting to see what was

1:38:26

going to happen and We survived, we

1:38:28

didn't necessarily grow, we didn't lose.

1:38:31

A lot of companies went

1:38:33

out of business last year. Yeah, they

1:38:35

did. Right? The companies that. were me.

1:38:37

And so it's this, can you survive

1:38:39

it long enough to reap the

1:38:41

benefit of that outcome? Right. In

1:38:43

two years. It's stuff, I mean,

1:38:45

when we had a recruiter on

1:38:47

the show, Chris Aller, he was

1:38:49

talking about, you know, just how

1:38:51

many companies have gotten themselves in

1:38:53

a position where it's like, you've

1:38:55

completely hosed your ability to hire

1:38:58

people, that's going to have really

1:39:00

long and bad repercussions for you

1:39:02

in the next few years. And

1:39:04

even... Even the fang companies doing

1:39:06

all of these layoffs, and now

1:39:08

they're like, oh no, we got to hire

1:39:10

again. And everybody's like, do I want

1:39:12

to go work for you? If I am, you're

1:39:14

going to have to pay me more money

1:39:16

now. They don't trust you anymore. Did you

1:39:18

actually save money in the long run by

1:39:20

doing all this? You know what they're going

1:39:22

to say, I can't work with this, we

1:39:24

got to write it over. Right. Right. It's

1:39:26

just like we're stuck in the same cycles,

1:39:29

it's like, it's like the lack of long-term

1:39:31

thinking, I think, is what keeps getting us.

1:39:33

And I'm like, yeah, no, sitting down and

1:39:35

doing long-term thinking is what gives you success.

1:39:37

Don't look at all the short-term stuff, because

1:39:39

that short-term stuff, it is not paying out

1:39:41

in the long run, like over and over

1:39:43

and over, we keep seeing that. But it

1:39:45

doesn't sound good, that's what it comes down

1:39:47

to, doesn't sound fun on paper, fun on

1:39:50

paper, people like that, people like that. I

1:39:52

made a hackie game with AI, it made

1:39:54

me 60K, or whatever, you know, like, yeah,

1:39:56

but you don't know how to game, you

1:39:58

don't know how to do it. you're

1:40:00

just you're just scamming people

1:40:02

out of their money like sure you can

1:40:04

get by with that and make some money

1:40:07

off of it and walk away but what

1:40:09

are you really doing for yourself and for

1:40:11

the world like it's just it gets to

1:40:13

be it gets to be sad at a

1:40:15

certain point in my opinion I can't sleep

1:40:17

at night like that it sounds like you can't

1:40:20

either but there are a lot of people

1:40:22

who can yeah so there you

1:40:24

are well yeah this is true

1:40:26

I I look further and I

1:40:28

see like, okay, a lot of

1:40:30

these people that are doing that,

1:40:32

they're okay with that. They don't

1:40:34

have any moral or ethical, you

1:40:36

know, repercussion for that. And also,

1:40:38

I believe in other areas. I

1:40:41

believe in Carmen, man. If you

1:40:43

live long enough, it catches up

1:40:45

with you. Agreed. One way or

1:40:47

another. I really believe in it.

1:40:56

I think a lot of our thinking has

1:40:58

been foregone conclusioning, and I think that puts

1:41:01

a lot of fear into people about things

1:41:03

that are not necessarily likely to happen at

1:41:05

this point. And we also waste a whole

1:41:07

bunch of time screaming about that stuff instead

1:41:09

of screaming about, well, if we do get

1:41:12

there, what are we going to do about

1:41:14

it? Like, I think, like, what was it

1:41:16

last year, the year before, what is time

1:41:18

anymore, when there were all those letters from

1:41:20

people about we need to put a pause

1:41:23

on AI development because it's getting scary. And

1:41:25

I'm like, instead of saying that, how about

1:41:27

we start just working on the

1:41:29

regulation that we need to have?

1:41:31

How will we start working on

1:41:34

ethics around this and all like,

1:41:36

work on that stuff? So if

1:41:38

it does get here. Okay, but

1:41:40

Chris, who works on that? Because

1:41:43

not a single senator or Congress

1:41:45

person has the education to work

1:41:47

on that. That's the education to

1:41:49

work. have the right background in

1:41:52

education to do it. So now what

1:41:54

industry experts do you want to see at

1:41:56

that table? I don't know enough to tell

1:41:58

you that this this this. And why would

1:42:00

they do that? They're busy running their

1:42:03

multi-billion dollar companies, right? And the last

1:42:05

thing they want to do is put

1:42:07

handcuffs on them. This to me is

1:42:09

one of these sort of lose-lose, Chris,

1:42:11

we need you to become a Congress

1:42:13

person or a senator so you could

1:42:16

basically chair this committee and spend your

1:42:18

first term, right, heads down doing that

1:42:20

work. That's what it's going to take.

1:42:22

Right. You and then recruiting the right

1:42:24

people and using whatever budget you have.

1:42:26

to sort of do that. I don't

1:42:29

know how else it happens. Right. Yeah,

1:42:31

I think it's, it is, is the

1:42:33

thing that we more broadly, I feel

1:42:35

like a lot of this goes off

1:42:37

of like the broader pressure of society.

1:42:39

I think right now that has been

1:42:42

out of whack for quite a while

1:42:44

of just like people aren't pushing back

1:42:46

strong enough on things, but a lot

1:42:48

of it's because people don't know. Right?

1:42:50

Like people, they see chat, they see

1:42:52

chat, they're like, this thing is amazing.

1:42:55

They don't know about all of the

1:42:57

dark stuff that made that happen. Same

1:42:59

thing with social media. Same thing with

1:43:01

so many of the things that we

1:43:03

have. It's like, yeah, but we have

1:43:05

to collectively decide what it is that

1:43:08

we want and what it is we

1:43:10

don't want. And I don't think if

1:43:12

people understood what these costs are kind

1:43:14

of wind up being, they would choose

1:43:16

to go down the path that path

1:43:18

that we're going on. Here's. Look at

1:43:21

somebody like myself who knows what's going

1:43:23

on and sees things every day that

1:43:25

bothers the heck out of me. Okay?

1:43:27

But I'm busy. I can get on

1:43:29

an airplane and go into Washington DC

1:43:31

and screaming and yelling. I don't have

1:43:34

time. But I actually asked myself the

1:43:36

question this weekend with everything that I'm

1:43:38

seeing. At some point, right? I don't

1:43:40

know what that point is. But at

1:43:42

some point, I imagine, like, what is

1:43:44

the point where Bill Kennedy says, Bill

1:43:47

Kennedy says enough is enough? Because right

1:43:49

now I'm trusting that there are people

1:43:51

that I don't know fighting this out

1:43:53

already in courts, fighting this out in

1:43:55

legislation, fighting this out in, like, that's.

1:43:57

my brain is. There are people smarter

1:44:00

than me right now taking up this

1:44:02

cause. I don't have to do anything.

1:44:04

I'm going to sit back and, but

1:44:06

my brain said at some point, or

1:44:08

what is the tipping point where you

1:44:10

feel like you got to get involved?

1:44:13

Like I don't know what that is,

1:44:15

right? But that's the problem, right? Because

1:44:17

there are more people like, there are

1:44:19

people who are bored and have nothing

1:44:21

to do and have nothing to do.

1:44:23

Then there are people like us that

1:44:26

are working day in and day out

1:44:28

and we don't really have time We

1:44:30

catch up an hour a day and

1:44:32

we're smart enough to have these thoughts

1:44:34

and we know enough to have these

1:44:36

thoughts, right? But we're still relying on

1:44:39

everybody else that's involved in the government

1:44:41

involved in this interest groups and stuff

1:44:43

to do that work and so My

1:44:45

question is what is it going to

1:44:47

take for Chris to jump on the

1:44:49

plane? and go wherever we have to

1:44:52

go. What does it take Matthew to

1:44:54

finally say I have to get on

1:44:56

a plane? I don't know what the

1:44:58

answer is, but it's the first time

1:45:00

in my life, and I'm 55 years

1:45:02

old, where I felt like I'm close

1:45:05

to getting on a plane. Right? I

1:45:07

don't know where I'm flying just yet,

1:45:09

but I'm close to feeling like if

1:45:11

I'm not out doing the ethical thing.

1:45:13

Whether it's on this topic or other

1:45:15

things, it's the first time in my

1:45:18

life I've ever felt like I'm close

1:45:20

to getting on an airplane. Yeah. Yeah,

1:45:22

good point. I myself don't think I'd

1:45:24

be so cordial with it because I

1:45:26

have thoughts on these matters and then

1:45:28

I just get myself in trouble if

1:45:31

I say these thoughts, so. Don't share

1:45:33

opinions, that's not what I did, right?

1:45:35

All I'm saying to you is, you

1:45:37

haven't gotten on a plane yet. Let's

1:45:39

just talk about the high legislation and

1:45:41

laws, right? You haven't made a call

1:45:44

to a congressman or a senator yet.

1:45:46

You haven't made a call to a

1:45:48

group. There are organizations out there that

1:45:50

work on this stuff every day. I

1:45:52

can't remember the name of the organization.

1:45:54

There's an organization that has for the

1:45:57

last decade, if not more, put plans

1:45:59

together on how to get rid of

1:46:01

the deficit. Like they have literally studied

1:46:03

this problem for the last 10 plus

1:46:05

years. They have plans. I don't, I've

1:46:07

never read the plans. I don't know

1:46:10

if they're going to work. But they've

1:46:12

worked on it for 10 years, right?

1:46:14

Like if I was worried about the

1:46:16

deficit and had enough as enough, this

1:46:18

is the group I would go to

1:46:20

and say how can I help. Right

1:46:23

I don't think going to the White

1:46:25

House and holding up a sign and

1:46:27

screaming is going to help But yeah

1:46:29

agreed, but this is how I would

1:46:31

help how can I help you get

1:46:33

this plan in front of the people

1:46:36

that need? Obviously, I'd read it first

1:46:38

assuming that I like it So my

1:46:40

point is I am sure there's some

1:46:42

group working on this AI thing right?

1:46:44

Right if you found that group and

1:46:46

maybe there's ten of them and you

1:46:49

read one of them and you're like

1:46:51

this resonates with me. I believe in

1:46:53

this Right. I'm at a point now

1:46:55

where I feel I have to spend

1:46:57

some time on this. That's the plane

1:46:59

I'm getting on, right, for that. And

1:47:02

if that doesn't exist, which I'd be

1:47:04

shocked, because we're never really the first

1:47:06

ones to have a unique thought somehow,

1:47:08

right? Then that's what you should start.

1:47:10

Let's start that organization nonprofit that's going

1:47:12

to study this for the next five

1:47:15

years and have a plan ready when

1:47:17

when the time... comes, right? But at

1:47:19

least that's action. You're not just screaming

1:47:21

in front of the white house. Yeah,

1:47:23

you're not just screaming to the void

1:47:25

of... I don't know how that helps

1:47:28

with anything. I know it helps at

1:47:30

some level, right? Because it helps it

1:47:32

into the conversation. Yeah, helps the awareness.

1:47:34

It maybe even helps you pat yourself

1:47:36

in the back that you did something.

1:47:38

But it doesn't actually move the needle

1:47:41

forward. Sometimes it's just like the small

1:47:43

things. Like, you know, I don't think

1:47:45

I've... I've talked about some of... I'll

1:47:47

talk about America because that's why I

1:47:49

live, but like I think we've lost

1:47:51

the ability to do like collective suffering

1:47:54

a little bit and that's how you

1:47:56

would usually do a lot of collective

1:47:58

action. So that's like, for instance, how

1:48:00

like the Montgomery bus boycotts worked is

1:48:02

that everybody had to say, my life

1:48:04

is going to be a little bit

1:48:07

worth right now. So in the long

1:48:09

run, we can all do better. And I

1:48:11

feel like people's ability to do that

1:48:13

has decreased a bit. And I feel like

1:48:15

that's the thing that is starting to build

1:48:17

up a little bit more. I think from

1:48:19

whatever perspective run, I think there's a lot

1:48:22

of people that are starting to be like.

1:48:24

We all need to suffer a little bit more

1:48:26

for our causes that we have so we

1:48:28

can effectuate the future we want to have.

1:48:30

And I think like, you know, we're starting

1:48:32

to see that, right? Like with the, you

1:48:35

know, what, at the end of February that

1:48:37

was, there was like the Don't Spend Money

1:48:39

Day. I mean, there's a lot of people

1:48:41

that did that or with certain retailers that

1:48:43

have made certain decisions where people are like,

1:48:45

We're not going to shop there anymore. We're

1:48:47

going to shop somewhere else. So I do

1:48:49

think there's also a lot of value in

1:48:51

that little action that people can take. Sometimes

1:48:53

individualized actions will make a difference if you

1:48:56

can get a collective enough people to

1:48:58

actually participate in them. So I think

1:49:00

it's both angles. I think we need, you

1:49:02

know, everybody needs to know their point

1:49:04

where, yeah, you are going to get

1:49:06

on a plane to go do something.

1:49:08

But I also think there's the understanding,

1:49:10

what's the little things that you can

1:49:12

give up. Send a small little signal

1:49:14

that if enough of us send small

1:49:16

signals, we'll get the result that we

1:49:18

want. Think both things are important. So

1:49:20

it's very much a yes and instead of

1:49:22

a no but sort of situation. Yeah,

1:49:24

I'll just, you're not allowed to

1:49:26

come to me and complain unless you

1:49:28

have some thoughts on a solution. Unless

1:49:31

you come to me and say, I

1:49:33

just need to vet. And that's fair.

1:49:35

Just say you need to vent. Just say

1:49:37

you need to vent. Because then I'll just

1:49:39

keep my mouth shut. And that's fair. I'll

1:49:41

say this any. I'm just looking event,

1:49:44

blah, blah, blah. But if you come and

1:49:46

complain to me and then you don't offer

1:49:48

any even remote thought or idea of, and it

1:49:50

would have to be a complete solution, but even

1:49:52

a 10,000 foot view of a solution, why did

1:49:54

you come to me? You know, and so it's

1:49:56

the same thing for me. I'm not going to

1:49:58

get on a plane unless... I feel like

1:50:00

there's something I can contribute somewhere beyond

1:50:03

just venting. Yeah. Agreed. Dude, we've been,

1:50:05

we've been at the close two hours

1:50:07

a day. I know, I was going

1:50:09

to say, I was waiting for you

1:50:11

all to finish up your AI chat.

1:50:14

Yeah. Well, thank you. I mean, there's

1:50:16

not much else to say except for

1:50:18

thank you, right? I mean, what else?

1:50:20

What else can I even, couldn't say?

1:50:22

Thanks for coming on. Thanks for chatting

1:50:24

for chatting for chatting. Yeah. No, no,

1:50:27

it was all good. Crystal do his

1:50:29

chop and editing work and get it

1:50:31

all done. My storyline weaving, narrative weaving.

1:50:33

Yes, yeah. So when we're at Gopher

1:50:35

Khan US, we'll go grab some whiskey

1:50:38

and continue our conversation. Yes, please do.

1:50:40

We're both attending. We're both attending. It's

1:50:42

going to be in New York, so

1:50:44

it's super easy for batting me. Yeah.

1:50:46

I'll be there. I already have my

1:50:49

ticket. I just waiting on the hotel

1:50:51

blocks to drop. So the hard part

1:50:53

is getting from the airport into the

1:50:55

city. I always wanted to try those

1:50:57

helicopters. Maybe I'll do a helicopter this

1:50:59

time. I've always wanted to try it.

1:51:02

Oh, you know what? That'd be cool.

1:51:04

I've never tried that either. That'd be

1:51:06

fun to do. There is a, uh,

1:51:08

there is a blade helicopter, uh, heliport

1:51:10

on the west side park. That is,

1:51:13

uh, it's not that far from the

1:51:15

Javits and the hotels. So, so could

1:51:17

be very viable. I think, I don't

1:51:19

know if alleys as well. Even the

1:51:21

ferry is nice, but you know, there's

1:51:23

that. I've never thought about the ferry.

1:51:26

You can take a ferry from one

1:51:28

of the airports? Not from the airport,

1:51:30

no. From the airport, no. From the

1:51:32

airport. Yeah, you had to pick a

1:51:34

bus or a train to the ferry.

1:51:37

But yeah, depending on the ferry, because

1:51:39

if we're coming from New York, you

1:51:41

can do it, but. One time I

1:51:43

took a bus. to get on the

1:51:45

subway, you know, but, um, I'm doing

1:51:47

a helicopter man, that's it. I'm gonna

1:51:50

try that. I used to try, yeah,

1:51:52

I used to try it, especially, uh...

1:51:54

in the airport in

1:51:56

late be be beautiful.

1:51:58

So so yeah I mean it's

1:52:01

gonna be hot I mean it's gonna

1:52:03

it would be I

1:52:05

and beautiful be bright and

1:52:07

beautiful always say it

1:52:09

and I don't

1:52:12

do it I always say it

1:52:14

and I don't do it I

1:52:16

right, do it all right great see

1:52:18

you one. next one thanks for

1:52:20

coming by thank you thank you Thank

1:52:26

you once again to Bill

1:52:29

Kennedy for joining us for

1:52:31

this episode this next On episode

1:52:33

we're talking with with Jamie Tana about API

1:52:35

Design. It's a really fun episode

1:52:37

and we think you're going

1:52:39

to love it going to love

1:52:41

episode of all through was

1:52:43

hosted by hosted by Matthew Sinabria with co-host

1:52:45

and Brando and Kennedy Bill Kennedy. Author is

1:52:48

through is produced by Chris and

1:52:50

Angelica Hill and our beats by Breakmaster Cylinder. It's

1:53:08

the the Y'all need to 'all need to

1:53:11

go to therapy I I can't English

1:53:13

today Somebody that I to to go

1:53:15

I'd go anywhere, right? Everybody's going right?

1:53:18

going back to Java. That's what I'm seeing.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features