BẢN CHÉP ÂM THANH 🔗
WEBVTT
00:00:14.939 --> 00:00:18.620
Welcome to Roundabout Creative Chaos, a podcast
00:00:18.620 --> 00:00:20.879
about people who make things and the stories
00:00:20.879 --> 00:00:23.920
behind why they do it. I'm your host, Tammy Coron,
00:00:24.019 --> 00:00:27.980
and this is episode 154, recorded on August 18th,
00:00:27.980 --> 00:00:32.420
2026. My guest is Venkat Subramaniam. Venkat
00:00:32.420 --> 00:00:35.600
is a programmer, author, educator, and the founder
00:00:35.600 --> 00:00:38.560
of Agile Developer. On this episode, we talk
00:00:38.560 --> 00:00:41.380
about taking chances, figuring things out as
00:00:41.380 --> 00:00:44.000
you go, and what can happen when you say yes
00:00:44.000 --> 00:00:47.140
before you have all the answers. We also discuss
00:00:47.140 --> 00:00:49.399
the choices that led Venkat from programming
00:00:49.399 --> 00:00:52.299
to teaching and writing, and why, after all these
00:00:52.299 --> 00:00:55.060
years, he still believes there's always something
00:00:55.060 --> 00:00:58.460
new to learn. Are you ready to talk tech, music,
00:00:58.560 --> 00:01:02.340
arts, and zombies? I know we are. So grab your
00:01:02.340 --> 00:01:05.120
crossbow and let's get this episode started.
00:01:18.340 --> 00:01:20.959
Welcome to the show, Venkat. How are you doing?
00:01:21.280 --> 00:01:23.760
Very good, Tammy. Really, thanks for having me
00:01:23.760 --> 00:01:27.569
here. And interesting times, let's put it that
00:01:27.569 --> 00:01:30.030
way. So with all the changes happening around,
00:01:30.189 --> 00:01:34.230
but doing well. That's good. How are you feeling?
00:01:34.450 --> 00:01:37.329
Are you feeling a little better? Yes. Well, from
00:01:37.329 --> 00:01:40.430
the health issue last week, still not fully recovered
00:01:40.430 --> 00:01:43.269
yet, but getting there, it really knocked me
00:01:43.269 --> 00:01:45.969
down. So this is the worst I've had in a long
00:01:45.969 --> 00:01:48.290
time. I just came back from an international
00:01:48.290 --> 00:01:52.870
trip on Saturday and then woke up Sunday morning
00:01:52.870 --> 00:01:55.370
with fever. So I went right back to bed and it
00:01:55.370 --> 00:01:59.150
was not fun at all for the next week and a half
00:01:59.150 --> 00:02:01.730
right now. So almost there, almost there. Another
00:02:01.730 --> 00:02:04.760
week, I'll be fine, I think. Yeah. Now was you
00:02:04.760 --> 00:02:07.340
think it was what they call that the conference
00:02:07.340 --> 00:02:10.680
bug? You know, I was not in a conference. Well,
00:02:10.800 --> 00:02:13.840
I was visiting companies over there, but potentially
00:02:13.840 --> 00:02:16.979
it probably is, you know, just hanging around
00:02:16.979 --> 00:02:22.340
with developers and who knows. As developers,
00:02:22.580 --> 00:02:25.479
you know, we spend most of our time inside our
00:02:25.479 --> 00:02:27.319
little cave. And then when we go out, we just
00:02:27.319 --> 00:02:29.960
spread germs and take in germs. It's like this
00:02:29.960 --> 00:02:35.099
weird thing that we do. All right. Here's, here's
00:02:35.099 --> 00:02:38.259
my really random question. And, and I hope, I
00:02:38.259 --> 00:02:41.180
hope you don't find it offensive. Cause I even,
00:02:41.199 --> 00:02:44.020
I even asked chat GPT. It was like, if I ask
00:02:44.020 --> 00:02:48.180
this question, like, is that offensive? GPT told
00:02:48.180 --> 00:02:51.659
me if I ask it in a nice way, it's probably not
00:02:51.659 --> 00:02:55.759
offensive at all. So I didn't want to mispronounce
00:02:55.759 --> 00:02:58.599
your name. So I was I was looking at different
00:02:58.599 --> 00:03:00.919
things and I was looking at your history. And
00:03:00.919 --> 00:03:02.960
then I got to the part and I'm looking over here
00:03:02.960 --> 00:03:06.159
because I still I still might get it wrong. And
00:03:06.159 --> 00:03:08.479
I was looking at your history about, you know,
00:03:08.479 --> 00:03:10.759
like what schools you went to and how you got
00:03:10.759 --> 00:03:13.020
started in programming and so on and so forth.
00:03:13.379 --> 00:03:16.379
And I was like, wait a second. The university
00:03:16.379 --> 00:03:19.060
and the school that he went to is like the same
00:03:19.060 --> 00:03:22.039
as his name. Like, wait, hang on a second. Wait.
00:03:22.460 --> 00:03:25.259
am I reading this right? So I started to look
00:03:25.259 --> 00:03:27.500
more into it. It was telling me all about the
00:03:27.500 --> 00:03:31.199
history. And I don't want to butcher it or offend
00:03:31.199 --> 00:03:34.879
anyone. So can you explain to me the name of
00:03:34.879 --> 00:03:37.599
the school where you studied at and how it relates
00:03:37.599 --> 00:03:39.360
to your name? Because the two of them are totally
00:03:39.360 --> 00:03:42.479
not related, but it has to do with, I think,
00:03:42.500 --> 00:03:45.580
the culture around it. And I feel like such an
00:03:45.580 --> 00:03:48.379
idiot for asking this, but I'm so intrigued by
00:03:48.379 --> 00:03:55.080
it. So my undergrad, at what was in Venkateshwara
00:03:55.080 --> 00:04:00.400
College. And Venkateshwara is a different name
00:04:00.400 --> 00:04:04.520
for Lord Vishnu. And so there are these three
00:04:04.520 --> 00:04:11.580
main gods in the Hinduism, the Siva, Vishnu,
00:04:11.620 --> 00:04:15.539
and Brahma. Roughly speaking, we talk about the
00:04:15.539 --> 00:04:20.790
creator, the preserver, the destroyer. Vishnu
00:04:20.790 --> 00:04:24.509
is a preserver, so another name for him is Venkateshwara.
00:04:24.589 --> 00:04:27.949
So anyway, that's the name of the college. And
00:04:27.949 --> 00:04:36.649
coincidentally, part of my name really is Venkat,
00:04:36.730 --> 00:04:41.230
but really not related directly to the Venkateshwara
00:04:41.230 --> 00:04:47.430
aspect of it. Going back to it, when I was born,
00:04:47.649 --> 00:04:52.370
my dad was fairly creative. He was kind of
Load full transcript
sitting
00:04:52.370 --> 00:04:54.889
and thinking about what name to give me formally,
00:04:55.089 --> 00:04:59.449
and he decided to take part of my mother's father,
00:04:59.649 --> 00:05:03.509
my maternal grandfather's name, and to take my...
00:05:03.920 --> 00:05:06.379
father's father, my paternal grandfather's name,
00:05:06.459 --> 00:05:10.459
and put them together. And it so happened that
00:05:10.459 --> 00:05:13.339
when you combine those two names together, that
00:05:13.339 --> 00:05:16.759
was also a very common South Indian, you know,
00:05:16.759 --> 00:05:19.379
name. So it worked out really well. But that's
00:05:19.379 --> 00:05:21.180
kind of the history where I got my name from
00:05:21.180 --> 00:05:24.939
is, you know, bits and pieces taken from my two
00:05:24.939 --> 00:05:28.839
grandfather's name that created my name. And
00:05:28.839 --> 00:05:31.360
then when I was filling applications for coming
00:05:31.360 --> 00:05:35.259
down to universities here, they just wouldn't
00:05:35.259 --> 00:05:39.639
allow me to fill in such a long name. And so
00:05:39.639 --> 00:05:43.579
I had to break my name into two parts, which
00:05:43.579 --> 00:05:47.360
incidentally, again, ended up really well because
00:05:47.360 --> 00:05:50.420
when you split the name, they're also really
00:05:50.420 --> 00:05:56.310
common names. series of you know coincidence
00:05:56.310 --> 00:05:59.670
put together the evolution of my name and and
00:05:59.670 --> 00:06:02.740
and my last name is you know, somewhat made up,
00:06:02.740 --> 00:06:05.220
if you will, because in South India, we don't
00:06:05.220 --> 00:06:08.240
have last names. In the North India, they have
00:06:08.240 --> 00:06:11.100
last names, but in South, we don't. So there's
00:06:11.100 --> 00:06:14.279
no such thing as a last name. We normally use
00:06:14.279 --> 00:06:16.819
a village name to identify, you know, people.
00:06:16.959 --> 00:06:19.959
And I had brought that in, my name will be four
00:06:19.959 --> 00:06:22.600
times as long, and that's not going to fit any
00:06:22.600 --> 00:06:25.240
forms. But anyway, that's kind of the origin
00:06:25.240 --> 00:06:28.459
of where the names came from. And eventually,
00:06:28.759 --> 00:06:33.199
of course. I kind of stuck to my name in the
00:06:33.199 --> 00:06:36.220
current form, and my family has eventually taken
00:06:36.220 --> 00:06:38.839
that name as a last name. But that's kind of
00:06:38.839 --> 00:06:42.899
where it started and where it went. I'm glad
00:06:42.899 --> 00:06:46.360
I asked because that's a pretty good story. I
00:06:46.360 --> 00:06:51.259
really like it. So when you started... down this
00:06:51.259 --> 00:06:54.839
path of computer programmer, you didn't really
00:06:54.839 --> 00:06:57.699
actually start there. I read that you were looking
00:06:57.699 --> 00:07:01.879
to be a mechanical engineer or something instead.
00:07:02.300 --> 00:07:04.759
That's right. So when I was doing my undergrad
00:07:04.759 --> 00:07:09.120
studies, I was really drawn towards mechanical
00:07:09.120 --> 00:07:14.589
engineering. And in fact, I... you know got a
00:07:14.589 --> 00:07:17.550
mentorship with a faculty of mechanical engineering
00:07:17.550 --> 00:07:22.329
and and the tradition was every day uh he would
00:07:22.329 --> 00:07:26.029
throw a problem at me and and my you know mission
00:07:26.029 --> 00:07:29.490
was to figure out how to solve it and in fact
00:07:29.490 --> 00:07:32.370
there was once he came to me and said here's
00:07:32.370 --> 00:07:36.139
a problem that Nobody has solved. So I'm going
00:07:36.139 --> 00:07:39.720
to up the challenge. Don't feel frustrated if
00:07:39.720 --> 00:07:42.560
you're not able to solve it. But nobody in my
00:07:42.560 --> 00:07:45.620
decades of teaching has ever solved this problem.
00:07:45.779 --> 00:07:49.199
And I had worked up multiple problems for months
00:07:49.199 --> 00:07:52.089
on end. And then he was right. It was a very
00:07:52.089 --> 00:07:54.730
difficult problem to solve. And so the next day
00:07:54.730 --> 00:07:57.350
when I saw him, I'm like shaking my head like,
00:07:57.410 --> 00:07:59.730
nope. And he's like, no, it's not going to be
00:07:59.730 --> 00:08:03.069
that easy. It took me about two days. And I went
00:08:03.069 --> 00:08:05.529
to him and said, I solved it. And he's like,
00:08:06.129 --> 00:08:09.209
I won't believe it until you show the proof.
00:08:09.649 --> 00:08:12.569
And so we went down and we talked about how I
00:08:12.569 --> 00:08:14.980
solved the problem. And then he looked at me
00:08:14.980 --> 00:08:17.779
and said, yeah, you're probably the only one
00:08:17.779 --> 00:08:19.360
who has solved the problem in all these years.
00:08:19.540 --> 00:08:22.240
So it was kind of a foregone conclusion that
00:08:22.240 --> 00:08:25.500
I would take up mechanical engineering as the
00:08:25.500 --> 00:08:28.879
major and work on it. So he was definitely very
00:08:28.879 --> 00:08:32.600
disappointed when I decided to go into this new
00:08:32.600 --> 00:08:36.200
thing called computer science. This was an emerging
00:08:36.200 --> 00:08:39.460
field at the time, you know, anywhere, but especially
00:08:39.460 --> 00:08:42.809
in India. And so I decided to go get a... a degree
00:08:42.809 --> 00:08:45.690
in computer science and engineering which was
00:08:45.690 --> 00:08:49.090
a really a good combination of you know hardware
00:08:49.090 --> 00:08:53.250
and software uh but my main interest was actually
00:08:53.250 --> 00:08:56.389
in computer architecture uh i had no interest
00:08:56.389 --> 00:08:58.769
whatsoever in software development so it was
00:08:58.769 --> 00:09:02.029
uh yeah really a complete accident that i ended
00:09:02.029 --> 00:09:05.289
up in software development uh but uh i really
00:09:05.289 --> 00:09:08.529
wanted to focus so my i had a professor in computer
00:09:08.529 --> 00:09:13.699
you
know science and engineering who was extremely
00:09:13.699 --> 00:09:16.220
interested in you know research at the undergrad
00:09:16.220 --> 00:09:19.440
level so so we started working on VLSI design
00:09:19.440 --> 00:09:23.080
and we formed a small group this was my third
00:09:23.080 --> 00:09:26.519
year of you know undergrad studies and we worked
00:09:26.519 --> 00:09:30.620
on VLSI design and we collectively published
00:09:30.620 --> 00:09:34.600
a paper actually as well related to it so all
00:09:34.600 --> 00:09:37.860
my interest was in computer architecture so when
00:09:37.860 --> 00:09:41.350
I I decided to come down to Houston for my grad
00:09:41.350 --> 00:09:44.889
studies. My master's was actually in electrical
00:09:44.889 --> 00:09:48.889
engineering, not in computer science. So I went
00:09:48.889 --> 00:09:50.909
into master's program in electrical engineering.
00:09:51.409 --> 00:09:56.909
But ironically, the professor I ended up working
00:09:56.909 --> 00:10:01.970
with on my thesis was more interested in algorithms
00:10:01.970 --> 00:10:05.830
in electrical engineering. So I ended up actually
00:10:05.830 --> 00:10:09.960
doing numerical analysis. as part of my master's
00:10:09.960 --> 00:10:13.620
thesis and then i decided if i really wanted
00:10:13.620 --> 00:10:17.440
more computer architecture Ironically, I need
00:10:17.440 --> 00:10:19.200
to shift over to computer science department.
00:10:19.740 --> 00:10:22.320
And so my PhD was actually related to computer
00:10:22.320 --> 00:10:24.980
architecture and data structures for parallel
00:10:24.980 --> 00:10:28.840
computers. So my entire interest was in computer
00:10:28.840 --> 00:10:31.559
architecture. I was actually teaching courses
00:10:31.559 --> 00:10:34.340
on computer architecture initially, was a teaching
00:10:34.340 --> 00:10:37.899
assistant for it and coaching students on architecture.
00:10:38.200 --> 00:10:41.460
That's kind of where my... background at that
00:10:41.460 --> 00:10:45.779
time was. So it's a complete twist of event that
00:10:45.779 --> 00:10:47.899
I actually ended up in software development.
00:10:48.620 --> 00:10:50.860
Yeah, but not just software development. I mean,
00:10:50.879 --> 00:10:53.120
you just touched on it here briefly about that
00:10:53.120 --> 00:10:56.519
you were teaching. It sounds like you had a desire
00:10:56.519 --> 00:10:59.600
to teach early in life, too. What led you to
00:10:59.600 --> 00:11:03.379
that? Are your parents teachers? Your uncle is
00:11:03.379 --> 00:11:06.120
somehow involved in this, I read. I'm not sure
00:11:06.120 --> 00:11:08.600
how, but I know he's involved. Well, one of my
00:11:08.600 --> 00:11:12.220
uncles was a professor, but he was a professor
00:11:12.220 --> 00:11:16.980
of English back in time. to to answer your question
00:11:16.980 --> 00:11:21.519
this is kind of where you know life kind of throws
00:11:21.519 --> 00:11:25.340
things at you and and it's for you
to decide
00:11:25.340 --> 00:11:28.440
whether to duck or to grab it and throw it back
00:11:28.440 --> 00:11:32.740
i suppose so so i was a teaching assistant for
00:11:32.740 --> 00:11:36.299
a computer architecture course so my my job was
00:11:36.299 --> 00:11:40.220
at that time i was working on my phd and my job
00:11:40.220 --> 00:11:43.700
at that time was to is was to grade pretty much
00:11:43.700 --> 00:11:48.059
the, you know, homeworks and exams. And I was
00:11:48.059 --> 00:11:50.460
doing that just fine. I was grading these exams
00:11:50.460 --> 00:11:53.259
and assignments that students would turn in.
00:11:53.860 --> 00:11:59.320
And for reasons I don't understand, the professor
00:11:59.320 --> 00:12:02.519
who was teaching that course walked up to me
00:12:02.519 --> 00:12:06.860
one day and said, I've got an exam for the students
00:12:06.860 --> 00:12:11.039
on Monday. And so I want you to come to the class
00:12:11.039 --> 00:12:16.850
on Wednesday. uh and just answer questions students
00:12:16.850 --> 00:12:21.269
will have so this is a a equal to a death threat
00:12:21.269 --> 00:12:26.190
if you will because uh when students uh you know
00:12:26.190 --> 00:12:28.610
i've not been to class i've just been grading
00:12:28.610 --> 00:12:32.830
the these these assignments and exams and uh
00:12:32.830 --> 00:12:37.100
i don't know what he was teaching and uh My job
00:12:37.100 --> 00:12:40.679
was to walk in front of the class and answer
00:12:40.679 --> 00:12:44.519
questions from students based on what's probably
00:12:44.519 --> 00:12:46.559
going to be in the exam, which I don't know anything
00:12:46.559 --> 00:12:50.600
about. So I walk in on Wednesday and I'm like,
00:12:50.679 --> 00:12:54.419
I'm dead. So I walk in and there are like, whatever,
00:12:54.580 --> 00:12:57.539
50, 60 students in the class looking at who's
00:12:57.539 --> 00:13:00.299
this idiot in front of us who's going to answer
00:13:00.299 --> 00:13:03.299
these questions. And they start firing questions
00:13:03.299 --> 00:13:07.899
about computer architecture. And here I am, not
00:13:07.899 --> 00:13:11.379
knowing what to expect, get really excited about
00:13:11.379 --> 00:13:13.279
the questions. I'm like, wow, this is actually
00:13:13.279 --> 00:13:15.940
interesting stuff. Let me explain to you how
00:13:15.940 --> 00:13:19.820
this works. And the students are like, my goodness,
00:13:20.000 --> 00:13:22.059
this is actually finally beginning to make sense.
00:13:22.580 --> 00:13:25.480
And the professor came to me and he was a little
00:13:25.480 --> 00:13:27.700
disappointed, I think, because he thought I would
00:13:27.700 --> 00:13:33.519
fail flat. And he's like. Not bad. So you actually
00:13:33.519 --> 00:13:36.720
did really well. So I'm going to put your name
00:13:36.720 --> 00:13:40.399
to the department to see if there is a teaching
00:13:40.399 --> 00:13:43.639
position for you to take up. Well, that was a
00:13:43.639 --> 00:13:45.919
good thing he said, but nothing really happened
00:13:45.919 --> 00:13:51.059
after that. But that was kind of my random opportunity
00:13:51.059 --> 00:13:53.759
to teach one day. And I walked out of the room
00:13:53.759 --> 00:13:56.299
thinking, hey, I think I can actually do this.
00:13:56.340 --> 00:13:58.860
I didn't realize I can actually teach. But that's
00:13:58.860 --> 00:14:01.720
kind of the situation where it was completely
00:14:01.720 --> 00:14:05.120
unplanned and I got thrown into it. And then,
00:14:05.159 --> 00:14:08.200
of course, as time went on, I went on to be a
00:14:08.200 --> 00:14:10.519
system administrator. That was my job after that.
00:14:10.679 --> 00:14:17.440
And I was this extremely weak puny. I was 104
00:14:17.440 --> 00:14:23.100
pounds in weight back then at grad school. and
00:14:23.100 --> 00:14:26.399
you probably remember those uh digital equipment
00:14:26.399 --> 00:14:29.480
corporation they used to have these you know
00:14:29.480 --> 00:14:33.919
deck machines the monitors were maybe twice as
00:14:33.919 --> 00:14:39.139
heavy as i was and my job was to fix those machines
00:14:39.139 --> 00:14:42.639
in the night and install the operating system.
00:14:42.820 --> 00:14:45.539
They were running different flavors of Unix,
00:14:45.659 --> 00:14:48.580
and I had to install those operating systems
00:14:48.580 --> 00:14:52.460
on those machines and support the computer science
00:14:52.460 --> 00:14:56.559
faculty and researchers to have these machines.
00:14:57.259 --> 00:15:01.279
My day job was to go to school and do research
00:15:01.279 --> 00:15:04.659
for my PhD, and my night job was to fix these
00:15:04.659 --> 00:15:07.929
machines for the department. and get things running.
00:15:08.210 --> 00:15:12.549
So it was a pretty hard time trying to do those
00:15:12.549 --> 00:15:16.330
two things. What was it for you about teaching
00:15:16.330 --> 00:15:20.629
that sort of ignited that fire in you? Because
00:15:20.629 --> 00:15:24.750
I know for me, it's always been like having that
00:15:24.750 --> 00:15:29.750
aha moment with somebody and seeing them. understand
00:15:29.750 --> 00:15:32.590
what you're telling them is almost, if not more
00:15:32.590 --> 00:15:36.370
invigorating than you yourself having that moment,
00:15:36.429 --> 00:15:38.769
right? Because the best way to learn is to teach.
00:15:38.870 --> 00:15:40.850
I think you've said similar things yourself.
00:15:40.950 --> 00:15:43.429
And it's kind of like when you can share that
00:15:43.429 --> 00:15:45.529
with another person, that's how it is for me.
00:15:45.590 --> 00:15:47.429
But this interview is not about me. It's about
00:15:47.429 --> 00:15:50.250
you. What was it about you that made you want
00:15:50.250 --> 00:15:53.379
to teach? I'll be frank about it. It was desperation.
00:15:53.799 --> 00:15:59.240
So I'll be absolutely blunt about it. I would
00:15:59.240 --> 00:16:02.659
be lying to you
if I said I had this desire to
00:16:02.659 --> 00:16:05.179
teach and that's what I wanted to do. But it
00:16:05.179 --> 00:16:07.600
was much wilder than that. So I was doing the
00:16:07.600 --> 00:16:11.940
system administration work. And the problem is...
00:16:13.220 --> 00:16:16.419
to your point, day shift versus night shift,
00:16:16.600 --> 00:16:19.039
it actually spilled over because when you're
00:16:19.039 --> 00:16:21.480
a system administrator, you don't have the luxury
00:16:21.480 --> 00:16:24.019
to say, this is when I work. You work when there's
00:16:24.019 --> 00:16:26.600
a problem, right? You work when there's a crisis.
00:16:26.919 --> 00:16:30.639
So what that really meant was... I would go to
00:16:30.639 --> 00:16:33.779
the department and I would be putting out fires.
00:16:33.820 --> 00:16:36.220
And we had some really good staff at the system
00:16:36.220 --> 00:16:39.059
administration. So by any means, I was not the
00:16:39.059 --> 00:16:41.240
only person. There were like three or four of
00:16:41.240 --> 00:16:43.379
us. We would just split the work and continuously
00:16:43.379 --> 00:16:46.259
get things done. But still, there was a lot of
00:16:46.259 --> 00:16:48.919
work to do. So that meant I worked the night
00:16:48.919 --> 00:16:52.179
shift. I worked the day shift, which really meant.
00:16:52.889 --> 00:16:55.289
that I had really very little time to do my research.
00:16:55.509 --> 00:16:58.490
My whole purpose of being there is to, you know,
00:16:58.490 --> 00:17:00.450
I eventually want to graduate, get a PhD and
00:17:00.450 --> 00:17:03.409
move on. So I was doing my research. And the
00:17:03.409 --> 00:17:05.990
problem is you're so tired after spending the
00:17:05.990 --> 00:17:09.390
night time and then the daytime also. And then
00:17:09.390 --> 00:17:11.289
you have to sit down and take your courses and
00:17:11.289 --> 00:17:13.789
then you have to do your research as well. So
00:17:13.789 --> 00:17:16.440
I went to the department chair and I said, I've
00:17:16.440 --> 00:17:21.680
got a request for you. Can we just pretend that
00:17:21.680 --> 00:17:25.619
I can move away from this? I no longer want to
00:17:25.619 --> 00:17:28.400
be a system administrator. I want to go focus
00:17:28.400 --> 00:17:31.259
on my research. So if I can just have my night
00:17:31.259 --> 00:17:34.960
back, I can sleep actually. I can take my daytime
00:17:34.960 --> 00:17:37.849
to do my research. I don't want to be doing this
00:17:37.849 --> 00:17:40.690
system administrator. And he looked at me and
00:17:40.690 --> 00:17:43.549
said, I want you to go back to your desk and
00:17:43.549 --> 00:17:46.089
continue to work or I will fire you right now.
00:17:46.210 --> 00:17:49.789
So that was a very, very clear statement as to
00:17:49.789 --> 00:17:52.390
what the expectation was. So I went back to being
00:17:52.390 --> 00:17:55.250
my system administrator for a while. Now, this
00:17:55.250 --> 00:17:58.210
is where, again, life kind of throws things at
00:17:58.210 --> 00:18:04.309
you. There is this new language that was introduced
00:18:04.309 --> 00:18:10.349
into the academic world called C++. So I'll be
00:18:10.349 --> 00:18:15.150
absolutely frank. I was not a programmer. Sure,
00:18:15.289 --> 00:18:18.890
I wrote code, but I wouldn't call myself a programmer
00:18:18.890 --> 00:18:21.890
writing code. I wrote code for my research, right?
00:18:21.970 --> 00:18:24.549
Minimally what was needed to get my research
00:18:24.549 --> 00:18:27.930
running. And I had, you know, sure, I had some
00:18:27.930 --> 00:18:31.380
experience in C. but I have no clue what C++
00:18:31.380 --> 00:18:35.859
was. And so the department sends out an email
00:18:35.859 --> 00:18:39.079
saying, we're introducing this new course on
00:18:39.079 --> 00:18:43.319
C++. We need somebody to teach it. And I am...
00:18:43.660 --> 00:18:46.539
desperate not to do system administration anymore.
00:18:46.900 --> 00:18:51.299
So I threw in my name and said, I want to teach
00:18:51.299 --> 00:18:54.539
C++. Well, the only problem is they never asked
00:18:54.539 --> 00:18:58.099
me, do you know C++? So I said, I want to teach
00:18:58.099 --> 00:19:04.640
C++. And this was in the fall semester. And so
00:19:04.640 --> 00:19:07.500
I was like eagerly waiting for their decision.
00:19:07.700 --> 00:19:11.279
And remember, I'm at the... not even at the bottom
00:19:11.279 --> 00:19:14.259
of the food chain. I'm not non -existent because
00:19:14.259 --> 00:19:17.220
as a teaching assistant, well, as a system administrator,
00:19:17.640 --> 00:19:21.400
you have no status whatsoever. You are invisible.
00:19:21.759 --> 00:19:27.799
And then a tenured, very highly respected faculty
00:19:27.799 --> 00:19:31.440
member said, I want to teach this new course
00:19:31.440 --> 00:19:35.859
on C++. And I'm like, darn it. There goes my
00:19:35.859 --> 00:19:38.819
chance of escaping system administration. I tried.
00:19:38.980 --> 00:19:41.000
I'll go continue to do my system administration.
00:19:41.619 --> 00:19:45.180
And this is where I cannot explain why this happened.
00:19:45.420 --> 00:19:49.519
And so he was assigned to teach this course in
00:19:49.519 --> 00:19:52.440
the spring semester starting in January. And
00:19:52.440 --> 00:19:57.539
about November 15th, for some reason, he says,
00:19:57.740 --> 00:20:02.819
yeah, I'm not going to teach it. So at this point,
00:20:02.980 --> 00:20:05.460
there were only two people who volunteered to
00:20:05.460 --> 00:20:09.119
teach it. This full -time, highly reputed, tenured
00:20:09.119 --> 00:20:12.720
faculty and this unknown dude who has got a very
00:20:12.720 --> 00:20:16.039
complicated name and, you know, who is a system
00:20:16.039 --> 00:20:19.480
administrator, right? And so the department looked
00:20:19.480 --> 00:20:23.220
around and said, oh my gosh, he refused to teach
00:20:23.220 -->
00:20:25.740
now, but we already have this course scheduled.
00:20:26.460 --> 00:20:29.240
So they turned around and said, you, you're going
00:20:29.240 --> 00:20:31.720
to teach the course. So I called a few friends
00:20:31.720 --> 00:20:34.059
and said, hey, I've been asked to teach this
00:20:34.059 --> 00:20:37.119
course on C++. And they said, what do you know
00:20:37.119 --> 00:20:40.900
about C++? I said, I know it's got three letters
00:20:40.900 --> 00:20:43.700
in it, but two of them are operators, looks like.
00:20:43.980 --> 00:20:46.460
And then they said, what do you know about inheritance?
00:20:47.019 --> 00:20:48.980
I said, I don't think there's going to be much
00:20:48.980 --> 00:20:52.200
left for inheritance in my family. And they're
00:20:52.200 --> 00:20:54.359
like, dude, do you know what polymorphism is?
00:20:54.460 --> 00:20:57.289
I'm like, poly what? And they said, we've got
00:20:57.289 --> 00:20:59.930
a recommendation for you. Go to the department
00:20:59.930 --> 00:21:03.529
and tell them that you genuinely made a mistake
00:21:03.529 --> 00:21:08.289
because people who know this very well cannot
00:21:08.289 --> 00:21:11.410
handle it. You are the biggest idiot we know
00:21:11.410 --> 00:21:14.069
who wanted to teach something you don't know.
00:21:14.750 --> 00:21:17.750
And I'm sitting and scratching my head. You know
00:21:17.750 --> 00:21:21.430
what? I don't know what this is, but I've come
00:21:21.430 --> 00:21:25.460
this far in life doing stuff. That I don't know.
00:21:25.880 --> 00:21:31.079
That's what I am, a researcher. So I went out,
00:21:31.180 --> 00:21:34.039
bought a ton of books. And you got to remember,
00:21:34.180 --> 00:21:36.079
right, this is before the time of internet, as
00:21:36.079 --> 00:21:41.559
we know. And I get, you know, tons of book. And
00:21:41.559 --> 00:21:48.940
from 4 a .m. till 10 p .m., I sit down and start
00:21:48.940 --> 00:21:53.599
coding in C++, not just reading stuff. But I'm
00:21:53.599 --> 00:21:56.920
coding away because this is the winter break
00:21:56.920 --> 00:22:02.640
and we have a month. And I said, I've got a month
00:22:02.640 --> 00:22:07.240
to learn and master C++. So I started writing
00:22:07.240 --> 00:22:11.799
code and creating applications with C++ every
00:22:11.799 --> 00:22:14.900
day, reading as much as I need to know, and then
00:22:14.900 --> 00:22:18.500
start writing code. And within about 20 days,
00:22:18.579 --> 00:22:22.750
I just mastered the heck out of it. And we went
00:22:22.750 --> 00:22:24.970
to start teaching the course and students in
00:22:24.970 --> 00:22:27.789
the class, you know, were kind of little, you
00:22:27.789 --> 00:22:30.349
know, not sure, you know, what's this dude going
00:22:30.349 --> 00:22:33.750
to do? And they're like sitting up and I start
00:22:33.750 --> 00:22:37.009
teaching. I can immediately see them sitting
00:22:37.009 --> 00:22:39.470
up and they're like, I better start paying attention
00:22:39.470 --> 00:22:42.670
to it. And about a month into it, a student came
00:22:42.670 --> 00:22:46.440
to me and said. You are so darn good at it. How
00:22:46.440 --> 00:22:49.380
long have you been programming in C++? I said
00:22:49.380 --> 00:22:53.420
about two weeks more than you. He said, that's
00:22:53.420 --> 00:22:55.940
funny. Come on, tell me the truth. And I said,
00:22:55.960 --> 00:22:59.180
I just did. I've really known this only for two
00:22:59.180 --> 00:23:01.700
more weeks than you do. And he's like, I cannot
00:23:01.700 --> 00:23:04.140
believe it. You're lying to me because you're
00:23:04.140 --> 00:23:06.099
so good at it. You could not have known this
00:23:06.099 --> 00:23:09.019
for two weeks before I did. And I'm like, seriously,
00:23:09.400 --> 00:23:12.460
it's not about, you know, what you teach. It's
00:23:12.460 --> 00:23:15.779
about how well you know it. And I realized the
00:23:15.779 --> 00:23:20.140
only way I can succeed is to master and get out.
00:23:20.420 --> 00:23:25.000
And so I just invested from 4 a .m. to 10 p .m.
00:23:25.000 --> 00:23:28.240
every single day, nothing else happening other
00:23:28.240 --> 00:23:30.279
than, you know, taking care of food and hygiene
00:23:30.279 --> 00:23:33.500
and sitting and working for about three, four
00:23:33.500 --> 00:23:38.380
weeks and then just absolutely nailing it. and
00:23:38.380 --> 00:23:41.259
and pretty much i introduced the course and i
00:23:41.259 --> 00:23:43.599
offered the course for about 15 years after that
00:23:43.599 --> 00:23:47.740
and so when i graduated i said hey i really like
00:23:47.740 --> 00:23:50.599
teaching looks like i'm not terrible at it do
00:23:50.599 --> 00:23:52.380
you mind if i continue to teach it and they're
00:23:52.380 --> 00:23:55.119
like oh please do take it that that takes us
00:23:55.119 --> 00:23:57.660
away from having to look for an instructor so
00:23:57.660 --> 00:24:00.599
i was a teaching assistant teaching the course
00:24:01.079 --> 00:24:05.500
as a teaching fellow, so to say. And then when
00:24:05.500 --> 00:24:08.299
I graduated, they just turned me into a lecturer
00:24:08.299 --> 00:24:10.940
and I continued to teach for another, you know,
00:24:10.960 --> 00:24:15.740
whatever, 12 years or so. And until I decided,
00:24:15.880 --> 00:24:18.299
you know, it's time to teach other courses and
00:24:18.299 --> 00:24:20.359
I started introducing other courses after that.
00:24:20.680 --> 00:24:23.180
But I've been always a part -time instructor,
00:24:23.279 --> 00:24:26.349
you know, and teaching. But that's kind of how
00:24:26.349 --> 00:24:29.269
I started accidentally by out of desperation
00:24:29.269 --> 00:24:32.670
not to do system administration anymore so I
00:24:32.670 --> 00:24:35.170
can focus on my research and graduate. And I
00:24:35.170 --> 00:24:37.789
did. So it really gave me the time not only to
00:24:37.789 --> 00:24:40.150
teach the course, but spend
enough time on my
00:24:40.150 --> 00:24:43.869
research. And I graduated within the next few
00:24:43.869 --> 00:24:47.109
years and then moved on to other things. How
00:24:47.109 --> 00:24:49.930
do you go from teaching, you know, standing up
00:24:49.930 --> 00:24:52.269
in front of people and lecturing and putting
00:24:52.269 --> 00:24:56.690
lesson plans together to? Writing books. I mean,
00:24:56.710 --> 00:24:59.089
I can't even say to writing a book because you
00:24:59.089 --> 00:25:01.269
have more books than I could probably count.
00:25:01.369 --> 00:25:03.569
Definitely more than I can count on one hand.
00:25:03.630 --> 00:25:05.769
How did you make that transition? And was it
00:25:05.769 --> 00:25:09.450
difficult? I don't think it was difficult, but
00:25:09.450 --> 00:25:15.740
by the time I had, you know. So my interest was
00:25:15.740 --> 00:25:19.339
in the industry, not in pure academics. So as
00:25:19.339 --> 00:25:22.920
soon as I got my PhD, even though I was teaching
00:25:22.920 --> 00:25:24.759
part -time at the university, I was working in
00:25:24.759 --> 00:25:28.720
the industry. And one thing led to another thing,
00:25:28.859 --> 00:25:33.250
and I started speaking in conferences. And then,
00:25:33.250 --> 00:25:36.630
you know, while working as a full time and then
00:25:36.630 --> 00:25:39.869
I quit my day job and I started a company and
00:25:39.869 --> 00:25:42.910
I was doing consulting and training and mentoring
00:25:42.910 --> 00:25:46.170
in the in the industry, speaking in conferences.
00:25:46.170 --> 00:25:48.970
And so this was kind of like a nice, natural
00:25:48.970 --> 00:25:52.470
transitioning. But I had never written a book.
00:25:52.650 --> 00:25:57.690
And but I had I was speaking in conferences where
00:25:57.690 --> 00:26:02.089
there were this amazing experts. who have written
00:26:02.089 --> 00:26:06.779
not just books, but very well -known books. Dave
00:26:06.779 --> 00:26:09.579
Thomas, the pragmatic programmer. You had Jason
00:26:09.579 --> 00:26:14.200
Hunter, who wrote the Java servlet specification,
00:26:14.640 --> 00:26:19.900
that famous kettle book from him. You had Bruce
00:26:19.900 --> 00:26:22.700
Tate, who had written, at that time, more recently,
00:26:23.019 --> 00:26:27.799
Bitter Java and Bitter EJB. So I was the non
00:26:27.799 --> 00:26:32.099
-author sitting among these authors. So it's,
00:26:32.099 --> 00:26:34.200
again, the bottom of the food chain, if you will.
00:26:35.920 --> 00:26:40.019
So I was kind of thinking, should I maybe write
00:26:40.019 --> 00:26:42.920
a book? Because there's all these people around
00:26:42.920 --> 00:26:45.059
you who have written books. Maybe that's a natural
00:26:45.059 --> 00:26:48.619
thing to do, to write a book. And so I went to
00:26:48.619 --> 00:26:52.220
a good friend and I said, hey, I'm thinking,
00:26:52.299 --> 00:26:55.220
should I write a book? And his first question
00:26:55.220 --> 00:26:59.029
to
me was, how's your business? And I said, my
00:26:59.029 --> 00:27:03.009
business is great. I'm busier than I could be.
00:27:03.130 --> 00:27:06.890
I don't have much free time at all. And he said,
00:27:07.170 --> 00:27:11.910
a book is a giant size business card. And if
00:27:11.910 --> 00:27:14.190
you're writing a book, that's going to bring
00:27:14.190 --> 00:27:16.650
you more business. But if you already are doing
00:27:16.650 --> 00:27:19.190
great in business, why do you want to waste your
00:27:19.190 --> 00:27:21.569
time? Don't worry about it. I'm like, thanks
00:27:21.569 --> 00:27:23.809
for the advice. I wouldn't be writing a book.
00:27:23.990 --> 00:27:27.539
So I dropped the idea of writing the book. And
00:27:27.539 --> 00:27:32.900
so I kind of went along. And so then the fundamental
00:27:32.900 --> 00:27:36.339
for me to write a book is, this is what I will
00:27:36.339 --> 00:27:40.220
distill this down to. And that is, I want to
00:27:40.220 --> 00:27:43.500
write a book because I've got a story to tell.
00:27:43.680 --> 00:27:48.660
That's all it boils down to. So while I was not
00:27:48.660 --> 00:27:52.059
keen on writing any book at all, I was sitting
00:27:52.059 --> 00:27:55.450
at my desk one day. And I have this habit of
00:27:55.450 --> 00:27:59.210
speaking in local user groups. So I speak in
00:27:59.210 --> 00:28:01.470
a Java user group. At the time, I was living
00:28:01.470 --> 00:28:04.130
in Houston, so I would speak in the Houston Java
00:28:04.130 --> 00:28:06.329
user group, but I would also speak in the Houston
00:28:06.329 --> 00:28:09.349
.NET user group. And as I was sitting down, I
00:28:09.349 --> 00:28:11.869
was thinking, I want to speak at the Houston
00:28:11.869 --> 00:28:18.589
.NET user group, HDNUG, and what topic would
00:28:18.589 --> 00:28:23.619
I talk about? And I realized... I wanted to come
00:28:23.619 --> 00:28:25.920
up with a fairly unique topic that'll be valuable
00:28:25.920 --> 00:28:29.279
to the audience, but not run -of -the -mill that
00:28:29.279 --> 00:28:32.099
you would find from anybody else. So I thought,
00:28:32.220 --> 00:28:38.140
what if I talk about maybe the fundamental flaws
00:28:38.140 --> 00:28:43.579
in the .NET framework? And so this would be a
00:28:43.579 --> 00:28:46.920
nice critique kind of a talk where you illustrate
00:28:46.920 --> 00:28:49.920
the issues you run into as a programmer, but
00:28:49.920 --> 00:28:52.660
these issues are so fundamental. So I wrote an
00:28:52.660 --> 00:28:57.059
abstract and I sent it off to the user group
00:28:57.059 --> 00:28:58.940
and said, here's my abstract. If you would allow
00:28:58.940 --> 00:29:00.759
me to talk on this topic, I would be delighted
00:29:00.759 --> 00:29:05.759
to. And the minute I hit the send, I was like,
00:29:05.839 --> 00:29:09.380
wait. This may not just be a good talk to give.
00:29:09.859 --> 00:29:13.640
What if I write this as a book? And I immediately,
00:29:13.839 --> 00:29:16.160
you know, researched a little bit. By this time,
00:29:16.180 --> 00:29:19.140
the world has intranet. So I researched a little
00:29:19.140 --> 00:29:22.839
bit and I found that there's no book on the topic.
00:29:23.579 --> 00:29:28.680
And call me crazy, but this thought was so overwhelming,
00:29:29.000 --> 00:29:33.059
I immediately started writing the book at that
00:29:33.059 --> 00:29:39.400
minute. I dropped everything and I wrote the
00:29:39.400 --> 00:29:43.799
first draft of the book in about two weeks. And
00:29:43.799 --> 00:29:46.839
then I reached over to a friend of mine and said,
00:29:46.940 --> 00:29:50.210
hey, I've got this book idea. Can you put me
00:29:50.210 --> 00:29:53.210
in touch with the publisher? And he said, I'm
00:29:53.210 --> 00:29:56.329
going to connect you to O 'Reilly. And I remember
00:29:56.329 --> 00:29:58.589
his email. Even now, it kind of gives me goosebumps.
00:29:58.890 --> 00:30:02.289
His email subject was connecting the dots. And
00:30:02.289 --> 00:30:06.930
he is copying me and connecting one of the editors
00:30:06.930 --> 00:30:09.710
at O 'Reilly and said, here you go. I know this
00:30:09.710 --> 00:30:12.509
guy, but he's excited about writing a book. And
00:30:12.509 --> 00:30:14.950
that person said, yeah, I don't deal with this,
00:30:14.990 --> 00:30:16.630
but I'm going to forward you to the person who's
00:30:16.630 --> 00:30:19.470
going to work on it. So they came back and said,
00:30:19.650 --> 00:30:23.609
hey, can you send us a proposal? And I did. And
00:30:23.609 --> 00:30:27.849
a month went by and I'm on the phone and the
00:30:27.849 --> 00:30:30.869
editor calls me and said, good news. Congratulations.
00:30:31.130 --> 00:30:34.109
Your book has been accepted. Now let's talk about.
00:30:34.780 --> 00:30:37.980
getting the book written and you can, you know,
00:30:37.980 --> 00:30:41.839
let's put a timeline on it. And I said, oh, that's
00:30:41.839 --> 00:30:43.359
not a problem. I can send you the book right
00:30:43.359 --> 00:30:46.200
away. And he said, no, no, no, no, no. We got
00:30:46.200 --> 00:30:48.119
everything we need to approve your proposal.
00:30:48.359 --> 00:30:50.519
Your book has been accepted, but let's talk about
00:30:50.519 --> 00:30:53.180
writing the book right now. And I said, that's
00:30:53.180 --> 00:30:54.480
what I'm saying. I'll send you the book right
00:30:54.480 --> 00:30:56.940
now. And he's like, no, we are miscommunicating.
00:30:57.519 --> 00:31:00.779
And I said, well, actually, if you don't mind,
00:31:00.880 --> 00:31:03.519
can you just wait for a minute? I'm like, he's
00:31:03.519 --> 00:31:06.039
like, sure. And then I emailed the book to him
00:31:06.039 --> 00:31:07.680
and said, take a look at your email now, then
00:31:07.680 --> 00:31:11.019
let's talk. And then he says, no way. You're
00:31:11.019 --> 00:31:13.200
not supposed to write a book and contact us.
00:31:13.460 --> 00:31:15.660
You're supposed
to submit a proposal. We should
00:31:15.660 --> 00:31:18.380
accept it. Then we should nag you for three years
00:31:18.380 --> 00:31:21.859
to write a book. How is this possible that you've
00:31:21.859 --> 00:31:23.880
written the book? I said, I'm sorry, but I've
00:31:23.880 --> 00:31:25.140
never written a book, so I don't know what to
00:31:25.140 --> 00:31:28.539
do. So I wrote the book. And I've realized maybe
00:31:28.539 --> 00:31:31.119
that's the best way to write books. So ever since.
00:31:31.680 --> 00:31:33.839
Almost all the books I've written, that's exactly
00:31:33.839 --> 00:31:36.359
what I've done. I would just take two weeks and
00:31:36.359 --> 00:31:39.819
write the first draft and then approach the publisher
00:31:39.819 --> 00:31:42.519
and say, hey, would this be interesting to you?
00:31:42.559 --> 00:31:46.039
If it is, let's just rush through this and not
00:31:46.039 --> 00:31:48.900
rushing as in poor quality, but putting the emphasis
00:31:48.900 --> 00:31:52.180
on getting it out. And hey, the first draft is
00:31:52.180 --> 00:31:53.880
there. I'm going to start rewriting the book
00:31:53.880 --> 00:31:56.579
now with the help of my editor and let's just
00:31:56.579 --> 00:31:59.359
publish this. So almost all the books I've written
00:31:59.359 --> 00:32:02.519
has been that kind of mode, get the book written
00:32:02.519 --> 00:32:05.680
first draft in two weeks, and then get the book
00:32:05.680 --> 00:32:09.319
accepted, and then start iterating one more time
00:32:09.319 --> 00:32:12.079
with the editor and then publish it, you know,
00:32:12.079 --> 00:32:15.420
four to six months maximum to get it out. So
00:32:15.420 --> 00:32:17.960
what year was that first book that you worked
00:32:17.960 --> 00:32:23.549
on? 2006. Wow. 20 years ago. See, I can do that
00:32:23.549 --> 00:32:26.289
math. That's very easy math for me. I'm so glad.
00:32:26.569 --> 00:32:29.650
Yeah. I didn't even realize it's been 20 years.
00:32:29.829 --> 00:32:32.569
That's kind of scary, actually. I know. Yeah.
00:32:32.869 --> 00:32:35.509
And so that was my kind of the first book. And
00:32:35.509 --> 00:32:37.710
I ended up actually publishing two books about
00:32:37.710 --> 00:32:40.269
the same time. And that was the first book on
00:32:40.269 --> 00:32:45.460
.NET gotchas for O 'Reilly. Once I had just sent
00:32:45.460 --> 00:32:49.279
that book for publication and it was going through
00:32:49.279 --> 00:32:52.019
the production cycle, I was kind of thinking,
00:32:52.180 --> 00:32:54.559
what do I want to do now, now that I'm almost
00:32:54.559 --> 00:32:58.019
a published author, that the thirst to write
00:32:58.019 --> 00:33:01.839
the book is in you? And then I again said to
00:33:01.839 --> 00:33:04.359
myself, it's all about telling a story. I've
00:33:04.359 --> 00:33:08.099
got a story to tell. And this was about 2006
00:33:08.099 --> 00:33:11.579
timeframe. And I said to myself, what if I can
00:33:11.579
--> 00:33:17.279
write a book? about agile development. And not
00:33:17.279 --> 00:33:20.759
the regular stuff that you read in every book,
00:33:20.940 --> 00:33:25.119
but what if I... narrate my experience as what
00:33:25.119 --> 00:33:28.539
does it mean for me as a programmer to be agile?
00:33:28.940 --> 00:33:32.859
And I had just formed a company a couple of years
00:33:32.859 --> 00:33:36.720
earlier. Incidentally, the name of the company
00:33:36.720 --> 00:33:42.799
was Agile Developer. And this was purely a coincidence
00:33:42.799 --> 00:33:47.130
because I was firing myself from my company I
00:33:47.130 --> 00:33:51.549
had founded back in 1998. And for various different
00:33:51.549 --> 00:33:53.490
reasons, I decided it was no longer the right
00:33:53.490 --> 00:33:55.289
thing for me. I wanted to leave my own company.
00:33:55.589 --> 00:33:58.710
So I was walking out of my company. And so I
00:33:58.710 --> 00:34:01.269
was thinking, what should I call my new company,
00:34:01.410 --> 00:34:03.670
which was going to be a much smaller one. And
00:34:03.670 --> 00:34:05.190
I was tossing around names and said, what if
00:34:05.190 --> 00:34:08.980
I call my company as... agile developer and and
00:34:08.980 --> 00:34:12.980
so now i thought what if i title a book as practices
00:34:12.980 --> 00:34:16.320
for practices of an agile developer and that
00:34:16.320 --> 00:34:19.539
was kind of the little aha moment like what if
00:34:19.539 --> 00:34:23.599
i talk about a story of what agile means to a
00:34:23.599 --> 00:34:26.300
programmer and and so that's kind of where the
00:34:26.300 --> 00:34:28.860
practice of an agile developer came from which
00:34:28.860 --> 00:34:31.619
i co -authored with andy hunt of pragmatic programmer
00:34:31.619 --> 00:34:36.489
but but that was my almost i would say .NET got
00:34:36.489 --> 00:34:39.550
used and a practice of an agile developer were
00:34:39.550 --> 00:34:42.590
almost published around the same time in 2007
00:34:42.590 --> 00:34:45.869
timeframe. What would you describe, or should
00:34:45.869 --> 00:34:49.690
I say, how would you describe what an agile developer
00:34:49.690 --> 00:34:53.230
is? I mean, to our listeners who may not understand,
00:34:53.489 --> 00:34:55.929
I mean, I barely understand agile development.
00:34:55.969 --> 00:34:59.230
I've been a developer for... 30 some odd years
00:34:59.230 --> 00:35:02.190
or whatever. In a nutshell, what is it? What
00:35:02.190 --> 00:35:04.889
is the methodology? Why is it good? What are
00:35:04.889 --> 00:35:08.530
the pros, cons? I'm going to distill this down
00:35:08.530 --> 00:35:12.250
to something that I think is unfortunately has
00:35:12.250 --> 00:35:15.869
been lost in the noise. And incidentally, if
00:35:15.869 --> 00:35:18.030
we go back to the Agile Manifesto and look at
00:35:18.030 --> 00:35:21.090
what they had said, it is a striking to what
00:35:21.090 --> 00:35:23.489
they said to what... the world has gone to do
00:35:23.489 --> 00:35:26.690
unfortunately but but rather than agile developer
00:35:26.690 --> 00:35:29.429
let me change the words a little bit what does
00:35:29.429 --> 00:35:33.329
it mean about agile development and i'm going
00:35:33.329 --> 00:35:40.130
to say agile development is feedback driven development.
00:35:40.590 --> 00:35:44.090
That's what it fundamentally comes down to. Agile
00:35:44.090 --> 00:35:46.289
development is feedback -driven development.
00:35:46.630 --> 00:35:48.250
You know, Tammy, I'll tell you one thing that
00:35:48.250 --> 00:35:52.230
surprised me. I was teaching, co -teaching a
00:35:52.230 --> 00:35:56.510
course with a colleague at the university. He's
00:35:56.510 --> 00:36:00.369
a full -time faculty, a tenured faculty. But
00:36:00.369 --> 00:36:03.449
I wanted to co -teach. One of the reasons was...
00:36:03.739 --> 00:36:06.039
this initiative of pairing and collaboration.
00:36:06.360 --> 00:36:09.420
So I wanted to teach with him. And he said, I
00:36:09.420 --> 00:36:11.280
don't know nothing about agile development. I
00:36:11.280 --> 00:36:13.099
said, that's good that you're the right person
00:36:13.099 --> 00:36:15.559
then to teach the course with me. So we offered
00:36:15.559 --> 00:36:20.420
a course using all these good practices, sustainable
00:36:20.420 --> 00:36:23.420
practices. And we did that for about two years.
00:36:23.800 --> 00:36:27.000
And one day he came to me and said, I finally
00:36:27.000 --> 00:36:30.780
get it. And I'm like, what did you get? And he
00:36:30.780 --> 00:36:34.269
said, agile development has nothing to do with
00:36:34.269 --> 00:36:37.289
software development it is about way of life
00:36:37.289 --> 00:36:41.320
and i'm like yes you nailed it and he said To
00:36:41.320 --> 00:36:45.360
me, I am doing research and I can be agile in
00:36:45.360 --> 00:36:48.860
my research as well. Because if I'm able to get
00:36:48.860 --> 00:36:52.739
the feedback and steer where we are going, then
00:36:52.739 --> 00:36:56.380
we get more results out of this than going in
00:36:56.380 --> 00:36:58.659
the dark and working on stuff for a long time
00:36:58.659 --> 00:37:01.619
without knowing what we are getting out of it.
00:37:01.940 --> 00:37:04.920
So to me, the fundamental is that feedback -driven
00:37:04.920 --> 00:37:08.719
development. And incidentally... The whole essence
00:37:08.719 --> 00:37:12.739
of agile development is about adaptive planning.
00:37:13.119 --> 00:37:16.539
This was the most infamous social media post
00:37:16.539 --> 00:37:19.760
I've ever made. I'm a little embarrassed to talk
00:37:19.760 --> 00:37:25.280
about this, but I was at... At lunch with my
00:37:25.280 --> 00:37:28.500
family, my children are all grown up adults now,
00:37:28.599 --> 00:37:30.260
but this was when they were really, really small.
00:37:30.739 --> 00:37:33.739
And we were traveling. I think we were in Canada
00:37:33.739 -->
00:37:37.139
on a vacation. But unfortunately, my brain is
00:37:37.139 --> 00:37:38.980
wired to programming. I constantly think about
00:37:38.980 --> 00:37:43.659
it. So we're having lunch and my two boys were
00:37:43.659 --> 00:37:46.659
sitting on my either side with my wife was sitting
00:37:46.659 --> 00:37:49.539
across the table. And as we were just talking
00:37:49.539 --> 00:37:52.820
about things and suddenly my little thread in
00:37:52.909 --> 00:37:57.710
mind, I kind of pulled my phone out and I started
00:37:57.710 --> 00:38:01.409
typing a social media post. And I just quietly
00:38:01.409 --> 00:38:04.110
typed it. I didn't draw attention to it. And
00:38:04.110 --> 00:38:09.150
as I was typing it, my elder son decided to kind
00:38:09.150 --> 00:38:11.690
of take a peek at it and looked at it. And his
00:38:11.690 --> 00:38:15.630
face goes red and says, oh my gosh, dad, you're
00:38:15.630 --> 00:38:19.300
not supposed to say such things. And as a parent,
00:38:19.460 --> 00:38:21.960
I think one of the missions of a parent is to
00:38:21.960 --> 00:38:24.139
do what children tell you not to do and embarrass
00:38:24.139 --> 00:38:28.719
them. So I went ahead and hit the button. I posted
00:38:28.719 --> 00:38:31.619
it right then. He was actually panicked. And
00:38:31.619 --> 00:38:33.480
he looked at my wife and said, I can't believe
00:38:33.480 --> 00:38:37.460
what your dad just did. And she's like, OK, what
00:38:37.460 --> 00:38:40.099
did you do? And I showed her the post and she
00:38:40.099 --> 00:38:43.420
rolled her eyes. the next thing you know it gets
00:38:43.420 --> 00:38:46.619
you know reposted uh thousands of times and my
00:38:46.619 --> 00:38:48.920
son is like i can't believe that actually people
00:38:48.920 --> 00:38:51.579
are reposting this so what i posted in the social
00:38:51.579 --> 00:38:57.480
media post was that i said um something to the
00:38:57.480 --> 00:39:02.360
effect i said i haven't asked her i have set
00:39:02.360 --> 00:39:06.940
the wedding date but have not asked her out yet
00:39:08.079 --> 00:39:12.199
This is how software, these are the words of
00:39:12.199 --> 00:39:16.139
a software project manager. And so the point
00:39:16.139 --> 00:39:19.079
I wanted to emphasize was, it's how ridiculous
00:39:19.079 --> 00:39:22.199
to set a wedding date and not ask somebody out
00:39:22.199 --> 00:39:25.079
to see if they are even remotely interested in
00:39:25.079 --> 00:39:30.019
any romantic relationship at all. And that to
00:39:30.019 --> 00:39:32.119
me is like how projects are unfortunately being
00:39:32.119 --> 00:39:35.400
done, is we set the deadline, we set the scope,
00:39:35.579 --> 00:39:38.630
we set... everything and then we claim we are
00:39:38.630 --> 00:39:41.730
agile what is there to be agile about it so so
00:39:41.730 --> 00:39:45.090
to me the key here is adaptive planning so so
00:39:45.090 --> 00:39:50.050
do and the word plan is very interesting word
00:39:50.050 --> 00:39:53.489
because the word plan in english is both a noun
00:39:53.489 --> 00:39:59.039
and a verb And as a noun, the word is pretty
00:39:59.039 --> 00:40:01.960
useless because the minute you create a plan,
00:40:02.300 --> 00:40:07.519
it becomes obsolete. So plan as a noun is a risky
00:40:07.519 --> 00:40:12.159
word, but plan as a verb is very powerful because
00:40:12.159 --> 00:40:14.960
you want to plan and you want to continuously,
00:40:14.980 --> 00:40:18.760
actively evolve your planning as you go through.
00:40:18.940 --> 00:40:21.840
Much like what I think it was Eisenhower who
00:40:21.840 --> 00:40:26.420
said, Plans are nothing, but planning is everything,
00:40:26.639 --> 00:40:30.559
he said. So true. And that is the spirit of agility,
00:40:30.900 --> 00:40:35.119
is that we create a plan, but we then come back
00:40:35.119 --> 00:40:38.659
and apply the feedback and say, based on what
00:40:38.659 --> 00:40:42.599
we know so far, how can we adjust the plan so
00:40:42.599 --> 00:40:46.280
that we can be more realistic rather than being
00:40:46.280 --> 00:40:50.300
dogmatic about things that we looked at at one
00:40:50.300 --> 00:40:53.539
point in time? This is the spirit of agility,
00:40:53.920 --> 00:40:57.340
even though a lot of organizations and teams
00:40:57.340 --> 00:41:00.579
sadly have forgotten that, you know, essence
00:41:00.579 --> 00:41:03.699
of agility and have gone on to beat the drums
00:41:03.699 --> 00:41:07.500
around various process and practices. But to
00:41:07.500 --> 00:41:09.519
me, that is the fundamental. And that's what
00:41:09.519 --> 00:41:13.300
I think about every single day, not just in programming,
00:41:13.539 --> 00:41:17.639
but in every aspect of life is how can we be
00:41:17.639 --> 00:41:20.860
adaptive? So it's not about what we set out,
00:41:21.099 --> 00:41:23.920
but what the reality shows us and what can we
00:41:23.920 --> 00:41:27.000
do based on what we know right now, I think makes
00:41:27.000 --> 00:41:30.619
a big difference. Absolutely. Now, do you take
00:41:30.619 --> 00:41:35.650
this agile? sort of methodology into the lesson
00:41:35.650 --> 00:41:38.429
plans that you make and the books that you author
00:41:38.429 --> 00:41:42.989
at all? It definitely is part of it. You know,
00:41:42.989 --> 00:41:46.110
just to give you an example of this, one of my
00:41:46.110 --> 00:41:49.929
very cherished moments, so these are things you
00:41:49.929 --> 00:41:52.210
would probably, you know, not forget in life
00:41:52.210 --> 00:41:57.739
because these are such unique moments, but I
00:41:57.739 --> 00:42:00.900
was writing a book and I was on this, you know,
00:42:00.900 --> 00:42:04.159
rewriting the chapters mode. And we really wanted
00:42:04.159 --> 00:42:07.039
to get this book out very, very quickly. And
00:42:07.039 --> 00:42:09.119
I was working very closely with the editor. And
00:42:09.119 --> 00:42:11.940
as we were going through
this, I wake up in the
00:42:11.940 --> 00:42:15.519
morning one day. And again, this is my rigorous
00:42:15.519 --> 00:42:17.940
schedule. Usually my day starts about 3 .30 in
00:42:17.940 --> 00:42:21.519
the morning. And I wake up early when the whole
00:42:21.519 --> 00:42:24.179
family is quiet. There's nobody awake. I sit
00:42:24.179 --> 00:42:27.239
down. I wanted to write something. And that morning,
00:42:27.380 --> 00:42:29.880
I was planning on writing a particular chapter,
00:42:29.940 --> 00:42:35.079
and suddenly I'm like, wait, I just have a thought
00:42:35.079 --> 00:42:38.809
about... illustrating a particular design concern
00:42:38.809 --> 00:42:42.809
and how this language can you know really address
00:42:42.809 --> 00:42:46.110
the design so i abandoned everything i had for
00:42:46.110 --> 00:42:49.070
that day i just sat there and wrote this chapter
00:42:49.070 --> 00:42:52.530
that didn't even exist in my mind until i woke
00:42:52.530 --> 00:42:56.190
up that morning and then by afternoon i sent
00:42:56.190 --> 00:42:59.090
this draft to the editor and said change of plan
00:42:59.090 --> 00:43:01.449
i just thought of this new chapter i just want
00:43:01.449 --> 00:43:04.369
to get your feeling for it and and the response
00:43:04.369 --> 00:43:08.210
was this is the best chapter i've ever read and
00:43:08.210 --> 00:43:11.889
i'm like didn't even exist until the night before
00:43:11.889 --> 00:43:16.059
right so so to me You're getting these spur -of
00:43:16.059 --> 00:43:20.099
-the -moment thoughts, and to be able to capture
00:43:20.099 --> 00:43:25.079
those and then to ride on it, to me, is really
00:43:25.079 --> 00:43:29.139
part of that agility as well. So it is like your
00:43:29.139 --> 00:43:32.019
mind is telling you, hey, this is the plan you
00:43:32.019 --> 00:43:35.699
had, but I have a change of plan for you. This
00:43:35.699 --> 00:43:39.119
would be much more useful than what you had.
00:43:40.119 --> 00:43:42.719
decided and then the beauty is one of the things
00:43:42.719 --> 00:43:45.840
i love about pragmatic programmers is that they
00:43:45.840 --> 00:43:50.380
have that ability to be flexible right they're
00:43:50.380 --> 00:43:52.360
not sitting there and saying that's what you
00:43:52.360 --> 00:43:53.679
said you will write and that's what i'm going
00:43:53.679 --> 00:43:56.039
to force you to write but to really entertain
00:43:56.039 --> 00:43:59.139
this and say is this really valuable and if it's
00:43:59.139 --> 00:44:02.679
valuable what can we do to really you know focus
00:44:02.679 --> 00:44:06.519
on you know getting that out and and so To me,
00:44:06.519 --> 00:44:11.360
every book I have written has completely evolved
00:44:11.360 --> 00:44:14.840
from the time I decided to write the book to
00:44:14.840 --> 00:44:18.639
what comes out. And that is what I love about
00:44:18.639 --> 00:44:22.059
it. It's not about what I once thought, but it's
00:44:22.059 --> 00:44:25.900
what is emerging out of this. When my editors
00:44:25.900 --> 00:44:28.559
come to me and say, hey, you've got really good
00:44:28.559 --> 00:44:33.139
content. But you can benefit from really rethinking
00:44:33.139 --> 00:44:36.760
about what you want to focus on and to take that
00:44:36.760 --> 00:44:41.460
input, right? And one of the things I've realized
00:44:41.460 --> 00:44:45.039
is in one of the books I was writing is there
00:44:45.039 --> 00:44:47.400
was a chapter, I'm not exaggerating when I say
00:44:47.400 --> 00:44:51.420
this, this is true to the fact, there was a chapter
00:44:51.420 --> 00:44:58.769
I literally, literally deleted. four times and
00:44:58.769 --> 00:45:01.650
rewrote it. And that again, to me, is the spirit
00:45:01.650 --> 00:45:04.610
of agility, right? Because once I wrote it first
00:45:04.610 --> 00:45:08.630
time, I look at it and said, damn, not what I
00:45:08.630 --> 00:45:11.659
wanted. this to be at all. Now that I wrote it,
00:45:11.800 --> 00:45:16.039
I've got such a wealth of, you know, ideas about
00:45:16.039 --> 00:45:18.500
the examples to write and what to, you know,
00:45:18.500 --> 00:45:21.739
show. So I rewrite it. And by the time I finish
00:45:21.739 --> 00:45:24.000
rewriting the second time, I'm like, oh my gosh,
00:45:24.139 --> 00:45:26.500
this would be so much better if I change the
00:45:26.500 --> 00:45:30.039
way I organize this. So about the fourth time
00:45:30.039 --> 00:45:34.030
is when I'm like, Actually, I'm quite happy with
00:45:34.030 --> 00:45:36.690
this right now. I'm going to keep it. And this
00:45:36.690 --> 00:45:39.030
was not like taking things and changing it. It's
00:45:39.030 --> 00:45:43.730
like delete and start over. And to me, what it
00:45:43.730 --> 00:45:47.550
requires is the courage to be able to have spent
00:45:47.550 --> 00:45:51.210
maybe days writing something and then to take
00:45:51.210 --> 00:45:54.590
a deep breath and say, you know, it's good, but
00:45:54.590 --> 00:45:58.429
it can be great. So I'm going to delete it. And
00:45:58.429 --> 00:46:01.929
I'm going to start over to write it. To a certain
00:46:01.929 --> 00:46:06.010
extent, it's the courage, but it's also the perseverance,
00:46:06.190 --> 00:46:10.230
the patience. And I often say that you're not
00:46:10.230 --> 00:46:13.949
going to be able to endure that unless you are
00:46:13.949 --> 00:46:20.400
so convinced that this is... uh value that you
00:46:20.400 --> 00:46:23.420
are creating and and and the readers are going
00:46:23.420 --> 00:46:26.719
to benefit from that because you are providing
00:46:26.719 --> 00:46:30.099
a perspective that is going to make their lives
00:46:30.099 --> 00:46:33.920
a lot better and and i think that has been the
00:46:33.920 --> 00:46:37.739
fun journey uh and and to be able to invest that
00:46:37.739 --> 00:46:42.320
time over the years uh and i always say you cannot
00:46:42.320 --> 00:46:47.230
get it right on
the first right That's not going
00:46:47.230 --> 00:46:49.230
to happen, right? You're not going to get it
00:46:49.230 --> 00:46:52.389
right on the first write. It is really about
00:46:52.389 --> 00:46:56.369
rewriting. So books are not written. Books are
00:46:56.369 --> 00:47:00.349
rewritten. And that is a lesson I learned along
00:47:00.349 --> 00:47:06.329
the way. And the desire to rewrite and also not
00:47:06.329 --> 00:47:09.989
feeling frustrated, not feeling tired to say,
00:47:10.150 --> 00:47:13.449
gosh, I finished writing it. Can I just send
00:47:13.449 --> 00:47:16.440
this out? I think that's the worst. enemy in
00:47:16.440 --> 00:47:20.280
the mind. But to say, again, we have to be careful.
00:47:20.380 --> 00:47:22.039
We don't want to get into this analysis paralysis,
00:47:22.579 --> 00:47:25.760
hoard this and never send it out. That's an extreme
00:47:25.760 --> 00:47:29.519
we have to be careful about as well. But on the
00:47:29.519 --> 00:47:32.059
other hand, I think it's a balance we have to
00:47:32.059 --> 00:47:36.119
strike, not be eager to push it out because we
00:47:36.119 --> 00:47:38.940
just finished writing it. And to really say,
00:47:39.059 --> 00:47:41.800
no, this can actually be better. And I'm going
00:47:41.800 --> 00:47:45.809
to work on it again. And I think that that's
00:47:45.809 --> 00:47:48.929
kind of part of agility as well, is that using
00:47:48.929 --> 00:47:51.550
that feedback loop and then spending the time
00:47:51.550 --> 00:47:53.510
and effort to come back and improve on things,
00:47:53.630 --> 00:47:56.269
I think becomes very important. You had mentioned
00:47:56.269 --> 00:47:59.510
earlier that you basically write these books
00:47:59.510 --> 00:48:02.849
in a couple of weeks and then you work on iterating
00:48:02.849 --> 00:48:05.690
and working through it, making it better, rewriting
00:48:05.690 --> 00:48:09.030
it, as you just said. First of all, two weeks
00:48:09.030 --> 00:48:14.019
is an amazing speed. I would love to be able
00:48:14.019 --> 00:48:16.500
to write anything in two weeks. I agonize over
00:48:16.500 --> 00:48:19.960
every sentence, every word, every punctuation
00:48:19.960 --> 00:48:24.239
mark. So kudos to you on that one. Can you take
00:48:24.239 --> 00:48:27.059
me through your writing process as you're working
00:48:27.059 --> 00:48:30.300
on first developing your idea for a book and
00:48:30.300 --> 00:48:33.420
then working with your editor and how that relationship
00:48:33.420 --> 00:48:37.500
is with your editor, what you can and cannot
00:48:37.500 --> 00:48:41.300
leave at the door, so to speak? Right. And to
00:48:41.300 --> 00:48:43.380
your point, I completely agree with you. I've
00:48:43.380 --> 00:48:45.159
got some really good friends I respect a lot.
00:48:45.599 --> 00:48:49.119
And they are like that. They would write a sentence
00:48:49.119 --> 00:48:51.260
and then they would sit there and keep perfecting
00:48:51.260 --> 00:48:54.199
that sentence. And that's perfectly fine, right?
00:48:54.260 --> 00:48:58.579
That's their style of writing. Well, I respect
00:48:58.579 --> 00:49:02.280
that. That's what they follow and I respect that.
00:49:02.679 --> 00:49:08.599
To me, I call this the core dump process. uh
00:49:08.599 --> 00:49:12.019
i've got i'm you probably know this already i'm
00:49:12.019 --> 00:49:15.260
a person who can get excited too easily and and
00:49:15.260 --> 00:49:17.579
when i think of a book and i have a story to
00:49:17.579 --> 00:49:20.659
tell It's hard for me to hold that excitement.
00:49:21.619 --> 00:49:24.599
I'll give you an example of this. I was on a
00:49:24.599 --> 00:49:27.900
hike, one of the local mountains here in Colorado
00:49:27.900 --> 00:49:30.119
where I live these days. I was on a hike with
00:49:30.119 --> 00:49:34.079
my wife. And as I was hiking, it was a bit of
00:49:34.079 --> 00:49:37.179
a quiet time. And then I was just kind of thinking.
00:49:37.440 --> 00:49:39.300
And she said, so what's on your mind? I said,
00:49:39.440 --> 00:49:42.559
I'm thinking I should write a book. And then
00:49:42.559 --> 00:49:45.619
she's like, she's actually really good at this.
00:49:45.699 --> 00:49:49.130
She'll kind of, you know. seed these questions
00:49:49.130 --> 00:49:51.210
to bring things out. And she said, what do you
00:49:51.210 --> 00:49:53.690
want to write about? And I said, well, Java has
00:49:53.690 --> 00:49:56.309
been evolving really fast. What if I write a
00:49:56.309 --> 00:49:59.570
book on the evolution of Java? And then she's
00:49:59.570 --> 00:50:01.329
like, what would you have in that book? So I'm
00:50:01.329 --> 00:50:03.949
just talking about this idea of a book that's
00:50:03.949 --> 00:50:06.989
just emerging on this hike. And then I'm like,
00:50:07.110 --> 00:50:09.170
this is what I want to write. And I wonder if
00:50:09.170 --> 00:50:13.630
I can actually get this out by... the beta version
00:50:13.630 --> 00:50:16.449
out in two months because there's Java 1 coming
00:50:16.449 --> 00:50:18.090
and it would be great to have this book out in
00:50:18.090 --> 00:50:21.570
two months. And she's like, do it. And so we
00:50:21.570 --> 00:50:24.449
come back from the hike and I get into my office
00:50:24.449 --> 00:50:27.750
and I said, that's it. The next two weeks are
00:50:27.750 --> 00:50:31.260
gone. I'm going to write this book. And so I
00:50:31.260 --> 00:50:34.500
have this idea of what I want to write because
00:50:34.500 --> 00:50:37.159
it's just forming in my mind. And I just sit
00:50:37.159 --> 00:50:40.239
there and think about it and visualize what this
00:50:40.239 --> 00:50:42.480
book should be. Again, knowing that this will
00:50:42.480 --> 00:50:45.059
not be the end result, but this is a starting
00:50:45.059 --> 00:50:48.400
point. And at this point, I'm not too worried
00:50:48.400 --> 00:50:51.500
about what goes finally into the book. I want
00:50:51.500
--> 00:50:55.809
something that I can start really. playing with.
00:50:55.989 --> 00:50:59.210
I can move things around. And this is one of
00:50:59.210 --> 00:51:02.510
the beautiful things, right? Software often has
00:51:02.510 --> 00:51:05.969
observer effect, and so does books. So I can
00:51:05.969 --> 00:51:08.710
have all this thing in my mind, but the minute
00:51:08.710 --> 00:51:12.349
I put a book together, and I'll tell you one
00:51:12.349 --> 00:51:17.630
little silly process I use for the book. So as
00:51:17.630 --> 00:51:19.590
you know, pragmatic programmers have a nice way
00:51:19.590 --> 00:51:22.250
to build the book dynamically. And what I typically
00:51:22.250 --> 00:51:25.389
do is I have multiple screens. on my computer.
00:51:25.750 --> 00:51:30.190
And in one of the screens, what I do is I run
00:51:30.190 --> 00:51:33.809
a background task that looks for a change of
00:51:33.809 --> 00:51:36.329
a file in the hard drive. And the minute any
00:51:36.329 --> 00:51:38.909
of the files have been modified, it'll immediately
00:51:38.909 --> 00:51:41.730
fire up and run a script. And that script is
00:51:41.730 --> 00:51:43.829
going to go build a book. And then in another
00:51:43.829 --> 00:51:48.530
screen, I've got this PDF of the book. And you
00:51:48.530 --> 00:51:51.210
can imagine this. When I start writing the book,
00:51:51.579 --> 00:51:55.579
This has no pages, and I have this one paragraph,
00:51:55.699 --> 00:51:58.179
and then it becomes two paragraphs, three and
00:51:58.179 --> 00:52:00.440
four, and then becomes a second page and a third
00:52:00.440 --> 00:52:04.599
page. It's super motivating. You know, the mind
00:52:04.599 --> 00:52:07.199
is a state machine, right? And the mind is a
00:52:07.199 --> 00:52:10.409
state machine. We feed things into the mind.
00:52:10.769 --> 00:52:14.289
And if it's positive things we feed, it motivates
00:52:14.289 --> 00:52:16.789
to do things. If it's negative things we feed,
00:52:16.909 --> 00:52:19.389
it kind of disappoints and we kind of become
00:52:19.389 --> 00:52:22.030
tired and we sit down, we may get even depressed.
00:52:22.389 --> 00:52:26.230
So to me, seeing this page on one of the screens
00:52:26.230 --> 00:52:29.590
evolve from a paragraph to a few paragraphs to
00:52:29.590 --> 00:52:32.539
the second page to the third page. is super motivating
00:52:32.539 --> 00:52:36.019
and that's like sugar right being fed into my
00:52:36.019 --> 00:52:39.159
mind and and i'm writing this and i hit the save
00:52:39.159 --> 00:52:42.260
button and within seconds i can see this emerge
00:52:42.260 --> 00:52:45.840
in the pdf and that's my writing process so i'm
00:52:45.840 --> 00:52:49.340
not worried about the quality of what i'm writing
00:52:49.340 --> 00:52:53.280
at this point i'm more worried focused on the
00:52:53.280 --> 00:52:56.340
content i want to just do a core dump and and
00:52:56.340 --> 00:52:59.550
and i would once i finish writing this i then
00:52:59.550 --> 00:53:03.429
look at my whatever seven eight nine ten chapters
00:53:03.429 --> 00:53:06.630
that i've written over that uh you know two week
00:53:06.630 --> 00:53:09.829
period so my typical rate is about one chapter
00:53:09.829 --> 00:53:12.550
per day uh and and i would just sit there and
00:53:12.550 --> 00:53:15.909
write and let's plow through it then to come
00:53:15.909 --> 00:53:21.050
back and say uh here's the first draft it's horrible
00:53:21.050 --> 00:53:25.679
don't look at it for the for the writing style
00:53:25.679 --> 00:53:30.179
uh just look for overall content of what you
00:53:30.179 --> 00:53:33.809
want to look at and and You said the relationship
00:53:33.809 --> 00:53:36.289
with the publisher and the editor, to me, that
00:53:36.289 --> 00:53:39.510
is the key. So once you build a good relationship,
00:53:39.969 --> 00:53:43.130
then you work very differently than when you
00:53:43.130 --> 00:53:46.110
don't have that relationship. And I've been very
00:53:46.110 --> 00:53:48.730
fortunate that when I go to the publisher and
00:53:48.730 --> 00:53:50.889
I say, here's what I want to publish, they take
00:53:50.889 --> 00:53:53.289
the time. So in this particular case, it was
00:53:53.289 --> 00:53:56.829
literally a night. I sent the draft and said,
00:53:57.010 --> 00:53:59.670
here's the book, and there are only two requirements
00:53:59.670 --> 00:54:03.699
I have. i want to know who am i going to work
00:54:03.699 --> 00:54:05.820
with as an editor i'm very particular about the
00:54:05.820 --> 00:54:09.840
editor and the second thing is i want this out
00:54:09.840 --> 00:54:14.960
before java 1 in the beta so if you're able to
00:54:14.960 --> 00:54:18.380
really work so you know so quickly with it based
00:54:18.380 --> 00:54:20.820
on availability and schedule, then I'm going
00:54:20.820 --> 00:54:23.079
to sit there and rewrite the book and get it
00:54:23.079 --> 00:54:26.900
out. And then once that happens, we just start
00:54:26.900 --> 00:54:30.340
plowing through the chapters. And I then say,
00:54:30.500 --> 00:54:32.800
well, here's the first chapter. I'm going to
00:54:32.800 --> 00:54:35.920
do a complete rewrite of the chapter. So this
00:54:35.920 --> 00:54:39.369
is where I actually don't... take a written chapter
00:54:39.369 --> 00:54:42.550
and modify it. I actually start rewriting the
00:54:42.550 --> 00:54:45.750
whole chapter again. The reason I do that is
00:54:45.750 --> 00:54:48.590
I don't want to be constrained by what I had
00:54:48.590 --> 00:54:51.070
written, because now that I've written through
00:54:51.070 --> 00:54:53.389
the first draft of the book, I've got so many
00:54:53.389 --> 00:54:56.570
ideas on what needs to be in different chapters,
00:54:56.670 --> 00:54:58.949
what the chapter should be, and I don't want
00:54:58.949 --> 00:55:01.610
to be constrained about it. So I just sit there
00:55:01.610 --> 00:55:04.469
and plow through it
and write that. And at that
00:55:04.469 --> 00:55:07.530
point, I slowed down a little bit because the
00:55:07.530 --> 00:55:10.210
editor gives a lot of very useful feedback at
00:55:10.210 --> 00:55:13.170
this point. And then we start working on it and
00:55:13.170 --> 00:55:16.070
then rewriting it and bring the content in. And
00:55:16.070 --> 00:55:18.349
then we aim for the beta within about three,
00:55:18.449 --> 00:55:21.909
four months, if you will. But that's a very highly
00:55:21.909 --> 00:55:24.030
collaborative effort. And that's one of the things
00:55:24.030 --> 00:55:28.429
I really, really appreciate is the extent to
00:55:28.429 --> 00:55:31.969
which my editors have been very eager to work
00:55:31.969 --> 00:55:34.289
with. There are times they would say, you know,
00:55:34.409 --> 00:55:36.750
Our concern is to be able to keep pace with your
00:55:36.750 --> 00:55:41.309
speed because I'm absolutely fast in writing
00:55:41.309 --> 00:55:43.949
things. And they're like, we don't want to slow
00:55:43.949 --> 00:55:45.670
you down, but at the same time, we want to improve
00:55:45.670 --> 00:55:48.150
the quality. But it's absolutely a rewarding
00:55:48.150 --> 00:55:50.829
experience to be able to do that. You said that
00:55:50.829 --> 00:55:54.929
you have a particular type of editor that you're
00:55:54.929 --> 00:55:57.030
looking for, certain qualities in an editor.
00:55:57.190 --> 00:56:00.289
What are those? If you were to describe your
00:56:00.289 --> 00:56:04.139
perfect editor? Who, not necessarily who, but
00:56:04.139 --> 00:56:08.500
what would those qualities consist of? Very direct
00:56:08.500 --> 00:56:15.199
and extremely critical. I cannot emphasize that
00:56:15.199 --> 00:56:22.719
enough. To me, when my editor is critical, I
00:56:22.719 --> 00:56:27.599
don't get angry about it. And I realize they
00:56:27.599 --> 00:56:32.420
are making the book so much better. and if they
00:56:32.420 --> 00:56:37.059
are not critical then i feel very disappointed
00:56:37.059 --> 00:56:40.840
i'm like gosh this could be so much better and
00:56:40.840 --> 00:56:43.139
you're not pushing me to get that out you know
00:56:43.139 --> 00:56:46.500
on me so to me that is one of the most important
00:56:46.500 --> 00:56:50.639
things is where the editor does not take what's
00:56:50.639 --> 00:56:54.260
given and comes back and says Here's the reason
00:56:54.260 --> 00:56:57.300
why this need to be changed. And here are the
00:56:57.300 --> 00:57:00.099
things you need to really rethink about. And
00:57:00.099 --> 00:57:02.659
that is one thing I have been very happy with
00:57:02.659 --> 00:57:06.739
in, you know, all the editors I've had in Pragmatic
00:57:06.739 --> 00:57:11.920
Programmers is that level of commitment. One
00:57:11.920 --> 00:57:15.019
of the things I often say is, I truly admire
00:57:15.019 --> 00:57:19.380
their patience, because For them to come back
00:57:19.380 --> 00:57:21.960
and keep
pushing and saying, I know you wrote
00:57:21.960 --> 00:57:25.860
this, but this could be so much better. And there
00:57:25.860 --> 00:57:28.539
are times when we just spend four or five hours
00:57:28.539 --> 00:57:34.190
literally on a page. And trying to understand,
00:57:34.329 --> 00:57:36.349
here's why I'm writing this. Yes, I hear this,
00:57:36.429 --> 00:57:39.610
but this is where it falls from what could be
00:57:39.610 --> 00:57:42.889
better. And for me to really eventually understand
00:57:42.889 --> 00:57:45.869
and say, all right, let me go back and rework
00:57:45.869 --> 00:57:49.429
on this. Let me come back tomorrow or day after,
00:57:49.590 --> 00:57:51.849
and then let's work on it. And then we iterate
00:57:51.849 --> 00:57:56.579
multiple times. It is to me that... level of
00:57:56.579 --> 00:58:01.559
commitment for my editor to say, I'm going to
00:58:01.559 --> 00:58:04.639
push you hard here, because that's what you want
00:58:04.639 --> 00:58:07.840
me to do. And I want this to be a really good
00:58:07.840 --> 00:58:11.369
book for the readers, which means I am going
00:58:11.369 --> 00:58:13.730
to be the worst critique in the world. And I
00:58:13.730 --> 00:58:16.250
truly respect when I have that in the editor.
00:58:16.469 --> 00:58:19.869
To me, the weakest editor are the ones that say
00:58:19.869 --> 00:58:22.409
it looks good. I'm like, no, it looks good is
00:58:22.409 --> 00:58:25.030
the worst word in English, right? I don't want
00:58:25.030 --> 00:58:27.710
it looks good. I want you to tell me what can
00:58:27.710 --> 00:58:31.110
be better, right? And so the worst feedback you
00:58:31.110 --> 00:58:35.190
can receive. is it looks good and a real good
00:58:35.190 --> 00:58:39.989
feedback. Again, the goal is not to be disrespectful
00:58:39.989 --> 00:58:42.409
to the person. That's not what I see from my
00:58:42.409 --> 00:58:46.070
editors. They are very genuinely honest and open
00:58:46.070 --> 00:58:51.380
and brutally honest. And we talk about, so we
00:58:51.380 --> 00:58:54.659
are good friends. We talk about things, but when
00:58:54.659 --> 00:58:57.579
it comes to the subject matter, we are going
00:58:57.579 --> 00:59:01.019
to be on it. And to me, that I respect a lot
00:59:01.019 --> 00:59:03.659
because that eventually makes the book a lot
00:59:03.659 --> 00:59:07.159
better. I am an author. I'm close to the material,
00:59:07.340 --> 00:59:11.059
which means I may not see a different way of
00:59:11.059 --> 00:59:14.199
looking at it. And the nice thing about my editor
00:59:14.199 --> 00:59:17.980
is to calm me down and say, you know what? That's
00:59:17.980 --> 00:59:21.300
fine. you thought and that's good right that's
00:59:21.300 --> 00:59:24.619
good work but it can be better and here is how
00:59:24.619 --> 00:59:27.460
it can be better and to entertain that discussion
00:59:27.460 --> 00:59:30.300
and to really say okay now that means i gotta
00:59:30.300 --> 00:59:34.159
rewrite this entire part but let's do it and
00:59:34.159 --> 00:59:37.380
and i really respect that and i admire that and
00:59:37.380 --> 00:59:39.079
and that's one of the reasons i keep going back
00:59:39.079 --> 00:59:42.579
to the same people is because I know they have
00:59:42.579 --> 00:59:46.940
my best interest in the mind. They are not looking
00:59:46.940 --> 00:59:50.840
for an easy route. They are looking for the hard
00:59:50.840 --> 00:59:53.619
route that will make this a better book. And
00:59:53.619 --> 00:59:56.000
I really, really respect that. And I value that.
00:59:57.079 --> 01:00:00.300
Enjoying the show? Good. We want to keep it that
01:00:00.300 --> 01:00:03.940
way. If you have a guest suggestion, a story
01:00:03.940 --> 01:00:06.980
to share, or just want to get in touch. Send
01:00:06.980 --> 01:00:10.559
a message to interviews at roundaboutcreativechaos
01:00:10.559 --> 01:00:16.920
.com. Now, where were we? Are you ready for the
01:00:16.920 --> 01:00:21.119
second part of the show? I'm ready. I got to
01:00:21.119 --> 01:00:25.719
pull up the questions. So did you see the email
01:00:25.719 --> 01:00:29.079
I sent you earlier? I did, yes. Did you read
01:00:29.079 --> 01:00:32.739
the questions? No, I never do. I want it to be
01:00:32.739 --> 01:00:36.420
spontaneous. All right. Well, I cannot wait to
01:00:36.420 --> 01:00:40.199
hear your answer to these questions. So in the
01:00:40.199 --> 01:00:42.760
second part of the show, we have a series of
01:00:42.760 --> 01:00:46.139
13 questions sort of based on Marcel Proust's
01:00:46.139 --> 01:00:49.139
questionnaire. And these questions are definitely
01:00:49.139 --> 01:00:55.500
2026 geared. Some of them are certainly not questions
01:00:55.500 --> 01:00:59.210
Marcel Proust would have asked. I'm not him.
01:00:59.250 --> 01:01:02.750
And I asked some weird questions. So feel free
01:01:02.750 --> 01:01:07.909
to give simple answers or elaborate on your answers.
01:01:08.269 --> 01:01:10.690
However you want to answer them. It's entirely
01:01:10.690 --> 01:01:13.610
up to you. If you want to take your time to think
01:01:13.610 --> 01:01:16.570
about it, that is the beauty of post -production.
01:01:16.750 --> 01:01:20.110
We could take all the ums and the uhs and the
01:01:20.110 --> 01:01:23.280
long pauses right on out. And it'll sound like
01:01:23.280 --> 01:01:26.219
you had these answers at the top of your head,
01:01:26.320 --> 01:01:29.800
at the tip of your tongue. So if you are seated
01:01:29.800 --> 01:01:33.079
comfortably, as my co -host who wasn't able to
01:01:33.079 --> 01:01:37.000
make it here tonight likes to say, we will begin
01:01:37.000 --> 01:01:40.699
with the first question. What is your favorite
01:01:40.699 --> 01:01:47.039
word? Discipline. Software development is one
01:01:47.039 --> 01:01:51.260
part technology and multiple parts discipline.
01:01:52.659 --> 01:01:58.019
If we have the discipline to follow
things that
01:01:58.019 --> 01:02:00.500
will help us to create sustainable products,
01:02:00.880 --> 01:02:03.659
we will be a lot more successful than we are.
01:02:04.460 --> 01:02:10.199
I use the phrase agile by convenience. And I
01:02:10.199 --> 01:02:13.500
use the phrase agile convenience because a lot
01:02:13.500 --> 01:02:17.119
of companies are focused on let's pick and choose
01:02:17.119 --> 01:02:20.579
the easy parts in this agile development process.
01:02:21.420 --> 01:02:23.880
rather than have the discipline to ask the question.
01:02:25.300 --> 01:02:29.320
Discipline comes in many different forms. To
01:02:29.320 --> 01:02:33.519
be able to show up to work on time, to really
01:02:33.519 --> 01:02:37.659
focus on putting that extra effort, to create
01:02:37.659 --> 01:02:41.500
what's of quality, to be able to... Think about
01:02:41.500 --> 01:02:44.900
the customers and make sure that we are able
01:02:44.900 --> 01:02:47.739
to deliver value to them, even when it requires
01:02:47.739 --> 01:02:50.800
a lot more effort from us. In almost every aspect
01:02:50.800 --> 01:02:55.139
of life, it's about having the discipline. But
01:02:55.139 --> 01:02:58.719
not just in programming. When you are starting
01:02:58.719 --> 01:03:04.320
to earn money, to have the discipline to invest.
01:03:05.309 --> 01:03:08.969
has a big impact on saving for retirement in
01:03:08.969 --> 01:03:11.690
the long run you know when somebody is 70 years
01:03:11.690 --> 01:03:15.849
old or 75 years old they shouldn't have to work
01:03:15.849 --> 01:03:19.250
they can work if they want to work look at warren
01:03:19.250 --> 01:03:22.949
buffett he was 98 when he retired and he's one
01:03:22.949 --> 01:03:24.909
of the richest person in the world clearly he
01:03:24.909 --> 01:03:27.269
didn't have to work but he did because he wanted
01:03:27.269 --> 01:03:30.880
to work but to me How do you get to the point
01:03:30.880 --> 01:03:34.659
where you can enjoy working because you want
01:03:34.659 --> 01:03:37.960
to and not because you have to? That again goes
01:03:37.960 --> 01:03:40.460
back to discipline. When you make that money
01:03:40.460 --> 01:03:44.179
as a 20 -something or a 30 -something, it's tempting
01:03:44.179 --> 01:03:46.760
to go spend that money on all these interesting
01:03:46.760 --> 01:03:50.000
things. but to have the discipline to go invest
01:03:50.000 --> 01:03:54.300
into it. Same thing, to show up to the gym and
01:03:54.300 --> 01:03:57.920
to be able to work out. Why? Well, gosh, it's
01:03:57.920 --> 01:04:00.519
a lot of hard work to work out, but I'm going
01:04:00.519 --> 01:04:03.280
to have the discipline to show up because I want
01:04:03.280 --> 01:04:05.480
to think of the long term. I want to think of
01:04:05.480 --> 01:04:09.519
my health, not right now in my 20s and 30s, but
01:04:09.519 --> 01:04:13.360
when I'm 60s and 70s and 80s. So almost everything
01:04:13.360 --> 01:04:18.300
in life comes back to that word. And that's why
01:04:18.300 --> 01:04:21.019
that's one of my most favorite words. What is
01:04:21.019 --> 01:04:23.360
your least favorite word? Does it have to be
01:04:23.360 --> 01:04:26.480
a word or can be a phrase? You know what? I'm
01:04:26.480 --> 01:04:32.900
going to let you go with a whole phrase. Hypothetical
01:04:32.900 --> 01:04:38.639
deadlines. Oh, okay. This to me is frustrating.
01:04:39.659 --> 01:04:46.070
As an industry, we drive ourselves. to the ground
01:04:46.070 --> 01:04:51.469
by setting unreasonable deadlines and driving
01:04:51.469 --> 01:04:56.730
everyone around us towards the deadline and somehow
01:04:56.730 --> 01:05:01.010
nothing is important than that deadline. So when
01:05:01.010 --> 01:05:04.369
I ask people, okay, you hit the deadline, does
01:05:04.369 --> 01:05:08.130
your product actually work? If we are going to
01:05:08.130 --> 01:05:13.909
spend months after that fixing errors and fixing
01:05:14.590 --> 01:05:18.130
damages that it creates in production, what was
01:05:18.130 --> 01:05:21.050
the point in rushing to that particular deadline?
01:05:21.570 --> 01:05:24.369
And I think this is one of the things, maybe
01:05:24.369 --> 01:05:27.250
if you want a single word, I would say velocity
01:05:27.250 --> 01:05:30.670
is a really terrible word, because that's really
01:05:30.670 --> 01:05:34.130
what it comes down to these unreasonable expectations
01:05:34.130 --> 01:05:38.250
we have on the timeline. I think as an industry,
01:05:38.369 --> 01:05:43.559
I think we need to mature and have that discipline
01:05:43.559 --> 01:05:48.380
to focus on what's valuable and to be able to
01:05:48.380 --> 01:05:53.019
create sustainable practices rather than lowering
01:05:53.019 --> 01:05:57.940
quality everywhere we go and in the process we
01:05:57.940 --> 01:06:02.099
are not just eroding our customers trust we are
01:06:02.099 --> 01:06:05.460
eroding the company's ability to retain good
01:06:05.460 --> 01:06:08.699
reputation we are jeopardizing our employees
01:06:08.699 --> 01:06:13.010
health in the process the net Some is a huge
01:06:13.010 --> 01:06:17.289
negative because we tend to focus on that unreasonable
01:06:17.289 --> 01:06:21.389
timeline. Which do you like the most? Books,
01:06:21.630 --> 01:06:27.730
movies, music, or games? Games. And part of the
01:06:27.730 --> 01:06:34.349
reason I like games is you're not passive when
01:06:34.349 --> 01:06:36.849
you're part of a game. You're actively involved
01:06:36.849 --> 01:06:39.769
in it, number one. You know, movie you can sit
01:06:39.769 --> 01:06:42.190
and watch, but... you're not participating in
01:06:42.190 --> 01:06:46.849
it second a game a good game can really bring
01:06:46.849 --> 01:06:51.449
not only interesting dynamics it can be really
01:06:51.449 --> 01:06:55.050
interesting in building good relationships good
01:06:55.050 --> 01:06:58.130
friendship as well some of the most
memorable
01:06:58.130 --> 01:07:03.059
moments i've had are the times when, with my
01:07:03.059 --> 01:07:05.920
immediate family and extended family and friends,
01:07:06.239 --> 01:07:08.820
when we would sit down and play games, either
01:07:08.820 --> 01:07:11.900
at the end of a long day at a conference or a
01:07:11.900 --> 01:07:16.139
long weekend at home. That's something I always
01:07:16.139 --> 01:07:19.139
would prefer compared to everything else. Who
01:07:19.139 --> 01:07:22.659
is your favorite fictional character? I really
01:07:22.659 --> 01:07:27.980
like Ben -Hur. Really? Yeah. And this is something
01:07:27.980 --> 01:07:32.550
that carries... uh memories i've i've watched
01:07:32.550 --> 01:07:36.030
ben -hur countless number of times and part of
01:07:36.030 --> 01:07:41.010
the reason i like it is uh for somebody to go
01:07:41.010 --> 01:07:44.269
through the hardship a true hero's journey if
01:07:44.269 --> 01:07:48.170
you will and and to be able to take on that hardship
01:07:48.170 --> 01:07:53.369
and to be able to come back and do the right
01:07:53.369 --> 01:07:57.320
things i would say ben -hur even though I have
01:07:57.320 --> 01:08:00.239
quite a number of characters, but Ben -Hur always
01:08:00.239 --> 01:08:02.940
stays in my mind. Where's the most interesting
01:08:02.940 --> 01:08:11.739
place you've ever been? Home. I like it. I travel
01:08:11.739 --> 01:08:14.260
a lot. I travel almost every week around the
01:08:14.260 --> 01:08:18.199
world. And I've been to some phenomenal places
01:08:18.199 --> 01:08:22.109
around the world. uh but that makes it even more
01:08:22.109 --> 01:08:25.409
special when i do get back home and i i don't
01:08:25.409 --> 01:08:27.430
spend too much time at home because of my my
01:08:27.430 --> 01:08:30.350
travel but home is definitely a very special
01:08:30.350 --> 01:08:35.149
place uh to to come back and just sit down in
01:08:35.149 --> 01:08:39.449
your own space uh irrespective of how much you
01:08:39.449 --> 01:08:42.109
know luxury you've been through or hardship you've
01:08:42.109 --> 01:08:45.029
been through on the travel nothing like home
01:08:45.029 --> 01:08:48.880
so i would say home is my favorite place What?
01:08:49.279 --> 01:08:53.340
Oh, that's the wrong question. Let me do that
01:08:53.340 --> 01:08:56.659
again. Who is the most interesting person you've
01:08:56.659 --> 01:08:59.779
ever met? Most interesting person I have ever
01:08:59.779 --> 01:09:06.659
met. That's a hard one. See, so these questions
01:09:06.659 --> 01:09:08.979
are designed to get you to think deeper into
01:09:08.979 --> 01:09:12.119
who you are, where you've been, what you've been
01:09:12.119 --> 01:09:17.979
up to. It's not just about your public. It's
01:09:17.979 --> 01:09:22.239
not just about your creative work or your work
01:09:22.239 --> 01:09:25.359
work or anything like that. It really is meant
01:09:25.359 --> 01:09:28.140
to, all these questions are,
even the favorite
01:09:28.140 --> 01:09:31.720
fictional characters, all of them are meant to
01:09:31.720 --> 01:09:35.460
dig deeper into who you are as a person. And
01:09:35.460 --> 01:09:39.840
hopefully, maybe have you discovered something
01:09:39.840 --> 01:09:43.239
about yourself that you didn't really know? I
01:09:43.239 --> 01:09:47.500
have met some really amazing people. That's the
01:09:47.500 --> 01:09:51.279
problem. It's easy to give an easy answer, but
01:09:51.279 --> 01:09:56.060
I want to get a little deeper into it. I would
01:09:56.060 --> 01:10:01.399
say a person that really has shown me empathy
01:10:01.399 --> 01:10:07.619
and has shown how you could actually do things
01:10:07.619 --> 01:10:14.539
very differently than what may be normally expected.
01:10:15.420 --> 01:10:21.000
So I would say this is a professor I had at the
01:10:21.000 --> 01:10:28.159
undergrad level. And this professor did not have
01:10:28.159 --> 01:10:33.100
to do the things he did. But he was very keen
01:10:33.100 --> 01:10:37.180
on fundamental research and to be able to get
01:10:37.180 --> 01:10:42.640
students excited about those research. So one
01:10:42.640 --> 01:10:48.619
of the things he would do. is provide absolute
01:10:48.619 --> 01:10:56.260
time for us to go work with him on the research.
01:10:57.800 --> 01:11:02.159
There was no hierarchy. We called him by his
01:11:02.159 --> 01:11:05.340
first name, which was extremely unusual back
01:11:05.340 --> 01:11:07.680
in time. And even today, I would say in India,
01:11:07.840 --> 01:11:11.659
you don't call people by their first name. But
01:11:11.659 --> 01:11:13.939
he insisted we called him on his first name.
01:11:14.829 --> 01:11:18.970
I would literally go to his house, knock on the
01:11:18.970 --> 01:11:21.850
door, and I would sit there and do research on
01:11:21.850 --> 01:11:26.770
Saturdays and Sundays. And his wife, you know,
01:11:26.770 --> 01:11:32.090
he had one daughter at that time. You know, he's
01:11:32.090 --> 01:11:34.909
got two daughters now. But she literally would
01:11:34.909 --> 01:11:37.409
look at me and say, You've been here for hours.
01:11:37.489 --> 01:11:40.250
Have you had your food? I'm like, oh, no, I'll
01:11:40.250 --> 01:11:41.970
have it later. She's like, no, you're like my
01:11:41.970 --> 01:11:46.329
son. Sit down here. And she would feed me while
01:11:46.329 --> 01:11:48.890
the rest of the family is being served meal.
01:11:49.470 --> 01:11:52.890
So it almost felt like I was a child in the house.
01:11:53.569 --> 01:11:57.069
And literally, he would come to my house late
01:11:57.069 --> 01:11:59.850
in the evening and say, I just thought of this
01:11:59.850 --> 01:12:02.909
idea. And I was reading through the work you
01:12:02.909 --> 01:12:05.210
have done. But I want to talk to you about it.
01:12:05.479 --> 01:12:11.600
So to me, to see his true passion for research
01:12:11.600 --> 01:12:20.819
and his genuine desire to help his students to
01:12:20.819 --> 01:12:29.340
have that research bug in them, and that was
01:12:29.340 --> 01:12:33.770
a huge influence for me, is to... know that somebody
01:12:33.770 --> 01:12:38.630
could actually be so selfless in terms of how
01:12:38.630 --> 01:12:41.170
genuinely somebody is interested in research
01:12:41.170 --> 01:12:44.909
and helping others be as excited about research
01:12:44.909 --> 01:12:47.609
as well. I don't think anyone can probably come
01:12:47.609 --> 01:12:50.569
close to that, in my opinion. What is something
01:12:50.569 --> 01:12:55.569
you own that cannot be replaced? A material thing
01:12:55.569 --> 01:13:01.920
or an intangible thing? It's up to you. What
01:13:01.920 --> 01:13:06.340
is it that I have cannot be replaced? I would
01:13:06.340 --> 01:13:12.220
say the respect I have for certain people. Me,
01:13:12.220 --> 01:13:16.680
right? Absolutely. Including you, absolutely.
01:13:17.180 --> 01:13:20.979
And I think this is one of the things that I've
01:13:20.979 --> 01:13:26.100
been very fortunate about is to really come across
01:13:26.100 --> 01:13:31.380
people in various aspects of my journey. to show
01:13:31.380 --> 01:13:34.380
how each one of them can be unique in their own
01:13:34.380 --> 01:13:38.380
way, but at the same time, show that something
01:13:38.380 --> 01:13:41.140
can be done differently and something can be
01:13:41.140 --> 01:13:44.039
done for the better. And the genuine respect
01:13:44.039 --> 01:13:47.039
you develop for them is something I think I'll
01:13:47.039 --> 01:13:51.760
carry for forever. Some of them, of course, you
01:13:51.760 --> 01:13:54.699
move on, you're not in touch with them, but you
01:13:54.699 --> 01:13:57.920
always think about and the respect that you have
01:13:57.920 --> 01:14:00.869
for them. So I would say... The one that you
01:14:00.869 --> 01:14:03.270
can't take away from me is the respect I have
01:14:03.270 --> 01:14:05.949
for some people. What have you changed your mind
01:14:05.949 --> 01:14:14.909
about in the last year? Oh, a lot. I have changed
01:14:14.909 --> 01:14:20.630
my mind quite a bit about AI as one thing, for
01:14:20.630 --> 01:14:25.090
example. I don't think I'm still... in either
01:14:25.090 --> 01:14:27.930
of the camps of the optimistic camp or the pessimistic
01:14:27.930 --> 01:14:34.729
camp. But I do believe that AI is a fantastic
01:14:34.729 --> 01:14:38.789
tool. But I will also mention something my boss
01:14:38.789 --> 01:14:44.989
mentioned to me about 40 years ago. And my boss
01:14:44.989 --> 01:14:49.430
said, a fool with a tool is a dangerous fool.
01:14:50.460 --> 01:14:54.800
And AI is that tool in the hands of fools as
01:14:54.800 --> 01:15:00.060
well. So AI is an amplifier. I think in the hands
01:15:00.060 --> 01:15:03.140
of the right person, it's going to amplify their
01:15:03.140 --> 01:15:06.039
capability. In the hands of the wrong person,
01:15:06.279 -->
01:15:09.000
it's also going to amplify their foolishness.
01:15:09.220 --> 01:15:14.380
I'm for this belief that with the AI, smart becomes
01:15:14.380 --> 01:15:19.810
smarter and dumb becomes dumber. I did start
01:15:19.810 --> 01:15:25.609
with a big doubt about AI. And I'm not convinced
01:15:25.609 --> 01:15:28.789
that it's a tool you would just use blindly.
01:15:29.369 --> 01:15:33.130
But it's a tool in the hands of the right person
01:15:33.130 --> 01:15:37.050
is a phenomenally powerful tool. And I think
01:15:37.050 --> 01:15:39.210
that's something that I've been willing to change
01:15:39.210 --> 01:15:42.970
my mind on. Okay. That's a good one for you,
01:15:43.010 --> 01:15:46.289
I think. I kind of feel like I know the answer
01:15:46.289 --> 01:15:48.609
to this, but I'm going to ask anyway. Maybe you'll
01:15:48.609 --> 01:15:52.130
surprise me. What is the worst job you've ever
01:15:52.130 --> 01:15:58.609
had? The job that I really did not like was the
01:15:58.609 --> 01:16:02.770
one that made rich corporations richer without
01:16:02.770 --> 01:16:10.409
me providing any value to improve a general human
01:16:10.409 --> 01:16:18.600
life. So systems admin. This was one of my early
01:16:18.600 --> 01:16:24.859
jobs that I had after graduation. And you can
01:16:24.859 --> 01:16:27.880
imagine when you're making all this money coming
01:16:27.880 --> 01:16:32.279
out of poverty from graduate school, to go to
01:16:32.279 --> 01:16:36.460
work every day and to come back home and feel
01:16:36.460 --> 01:16:41.810
really sad. And I had to take the time, it took
01:16:41.810 --> 01:16:44.189
me about two years, a little bit more than two
01:16:44.189 --> 01:16:48.510
years, to literally introspect and to genuinely
01:16:48.510 --> 01:16:51.670
ask this question every day, why am I unhappy?
01:16:52.449 --> 01:16:57.149
And what I realized was, I started really looking
01:16:57.149 --> 01:17:00.909
at my happiness index during the day. And I found
01:17:00.909 --> 01:17:04.569
something very strange. The time I was making
01:17:04.569 --> 01:17:08.149
the most money was the time I was the least happy.
01:17:08.970 --> 01:17:12.470
And the time I was making the least money was
01:17:12.470 --> 01:17:15.529
the time I was the most happy. And this was very
01:17:15.529 --> 01:17:18.390
ironic, right? To be able to see this and say,
01:17:18.489 --> 01:17:22.369
oh my gosh, I'm really happy right now, but I'm
01:17:22.369 --> 01:17:25.189
not making much money, but I'm enjoying this
01:17:25.189 --> 01:17:29.050
interaction with others. And I am sitting there
01:17:29.050 --> 01:17:31.810
and learning with them and sharing what I know
01:17:31.810 --> 01:17:35.779
versus... During the day, I'm sitting and writing
01:17:35.779 --> 01:17:37.680
code. And don't get me wrong, this is great.
01:17:37.779 --> 01:17:41.060
I'm doing design and analysis and doing high
01:17:41.060 --> 01:17:45.859
-tech stuff. But it felt me emotionally drained
01:17:45.859 --> 01:17:50.539
because all that was done so a big corporation
01:17:50.539 --> 01:17:53.880
can show that they're making more money in the
01:17:53.880 --> 01:17:57.520
next quarter. And so to me, that was the worst
01:17:57.520 --> 01:18:01.119
job. What is your greatest achievement? I would
01:18:01.119 --> 01:18:06.840
say my greatest achievement. is to motivate a
01:18:06.840 --> 01:18:12.439
generation of developers literally around the
01:18:12.439 --> 01:18:16.960
world. And it's a very humbling experience. When
01:18:16.960 --> 01:18:21.359
I go to Europe, when I go to Asia, it is to have
01:18:21.359 --> 01:18:25.159
somebody approach me and say, I need to thank
01:18:25.159 --> 01:18:29.819
you. and you had this video or you had this course,
01:18:30.060 --> 01:18:33.119
and it fundamentally changed how I think about
01:18:33.119 --> 01:18:38.520
it. And to me, to have that privilege, to have
01:18:38.520 --> 01:18:42.279
that opportunity, not setting out to say, I'm
01:18:42.279 --> 01:18:46.060
going to do this, but to focus on what I'm doing
01:18:46.060 --> 01:18:51.000
and have a side effect where people have benefited
01:18:51.000 --> 01:18:55.460
from it. is truly an achievement that I am very
01:18:55.460 --> 01:18:57.939
humbled for and to have had that opportunity.
01:18:58.420 --> 01:19:01.920
What is your biggest regret? The biggest regret
01:19:01.920 --> 01:19:07.739
I would say is taking life too seriously. And
01:19:07.739 --> 01:19:13.479
this kind of goes back to a lot of emotional
01:19:13.479 --> 01:19:17.159
baggage we all carry with us. Life is not always
01:19:17.159 --> 01:19:24.970
kind to us. A lot of what we do is a consequence
01:19:24.970 --> 01:19:27.850
of situations we have been through in our early
01:19:27.850 --> 01:19:32.710
part of lives. And some of them led me to take
01:19:32.710 --> 01:19:37.829
things way too seriously. And looking back, I
01:19:37.829 --> 01:19:42.270
would say maybe I worked too hard than I really
01:19:42.270 --> 01:19:46.430
need to, but it worked out all right. What do
01:19:46.430 --> 01:19:51.470
you fear the most? Complacency. I get so fearful
01:19:51.470 --> 01:19:57.210
when somebody says this is good enough. There
01:19:57.210 --> 01:19:59.550
is a little voice in me that constantly says
01:19:59.550 --> 01:20:03.149
there's got to be a better way. And I want to
01:20:03.149 --> 01:20:05.869
come back time and again and see how I can improve
01:20:05.869 --> 01:20:13.310
things. And I get really fearful that people
01:20:13.310 --> 01:20:16.680
will become complacent and walk away. when there
01:20:16.680 --> 01:20:19.859
could be better quality or better results, just
01:20:19.859 --> 01:20:22.079
to walk that extra mile so we can give something
01:20:22.079 --> 01:20:27.000
better. Complacency is hard. Yeah, I agree with
01:20:27.000 --> 01:20:30.439
that. Okay, this is the last question and the
01:20:30.439 --> 01:20:34.140
most
important question. And I'm so curious to
01:20:34.140 --> 01:20:37.020
hear how you're going to answer it. In fact,
01:20:37.100 --> 01:20:40.300
your answer depends on whether or not I actually
01:20:40.300 --> 01:20:43.539
publish the episode. But no pressure, no pressure
01:20:43.539 --> 01:20:48.890
whatsoever. What would you do in a zombie apocalypse?
01:20:49.329 --> 01:20:59.210
And who would you want by your side? I want by
01:20:59.210 --> 01:21:02.829
my side, somebody who actually knows how to deal
01:21:02.829 --> 01:21:07.689
with zombie because I have no clue. Finding competent
01:21:07.689 --> 01:21:11.800
people is a good idea to have by your side. So
01:21:11.800 --> 01:21:13.560
you'll be bait is what you're saying, unless
01:21:13.560 --> 01:21:17.460
you find someone who can save you. Absolutely.
01:21:17.979 --> 01:21:22.319
Nice. Nice. Well, you survived the chaotic questions.
01:21:22.800 --> 01:21:25.939
Yay for you. I'm going to publish this episode
01:21:25.939 --> 01:21:28.180
because that was a pretty good answer. I think
01:21:28.180 --> 01:21:31.880
question number 13, you got a good answer. But
01:21:31.880 --> 01:21:35.699
Kat, if our listeners wanted to know what you
01:21:35.699 --> 01:21:38.460
were working on next or currently and how to
01:21:38.460 --> 01:21:40.819
get in touch with you. Where should they go?
01:21:40.920 --> 01:21:43.699
What are you working on? What can we expect from
01:21:43.699 --> 01:21:45.600
you next? Like another 12 books, I'm thinking
01:21:45.600 --> 01:21:52.279
at least? Well, right now I am focused on more
01:21:52.279 --> 01:21:55.819
client work. That's where I'm focused on. Helping
01:21:55.819 --> 01:22:00.279
quite a number of my clients grapple with effectively
01:22:00.279 --> 01:22:05.039
using AI and to bring quality, sustainable engineering
01:22:05.039 --> 01:22:07.680
practices while we are using AI. That's what
01:22:07.680 --> 01:22:10.399
I've been focusing on. I'm also be focusing on
01:22:10.399 --> 01:22:12.659
running some conferences. We're running a conference,
01:22:12.760 --> 01:22:17.119
Dev2Next, and also one in spring called Arc.
01:22:17.199 --> 01:22:19.560
of AI. So I've been busy running these conferences
01:22:19.560 --> 01:22:23.199
in addition to working with my clients. Google
01:22:23.199 --> 01:22:29.140
my name and you should be able to find my website,
01:22:29.359 --> 01:22:32.779
agiledeveloper .com. There's contact pages in
01:22:32.779 --> 01:22:35.560
there. I have this bad habit of replying to every
01:22:35.560 --> 01:22:38.319
email I receive. So if anybody drops an email,
01:22:38.539 --> 01:22:41.500
I apologize. They will receive reply from me.
01:22:42.060 --> 01:22:44.380
I know you replied to my email about being on
01:22:44.380 --> 01:22:46.560
the show. And sure enough, here you are. What
01:22:46.560 --> 01:22:50.500
do you know? Venkat, is there anything that we
01:22:50.500 --> 01:22:53.220
didn't get to talk about tonight that you might
01:22:53.220 --> 01:22:55.939
want to talk about before we wrap up? Or what
01:22:55.939 --> 01:22:58.359
do you think? I think this is good. So I really
01:22:58.359 --> 01:23:00.979
appreciate the opportunity to talk to you. And
01:23:00.979 --> 01:23:04.119
I couldn't be more thankful. So thank you for
01:23:04.119 --> 01:23:08.720
having me on this show. And best wishes for things
01:23:08.720 --> 01:23:11.600
ahead. Thank you. Thank you so much for agreeing
01:23:11.600 --> 01:23:15.939
to be here. I too had a great time and I cannot
01:23:15.939 --> 01:23:18.939
wait to see where this whole AI thing takes us.
01:23:18.960 --> 01:23:22.779
And I'm glad that you're there helping to lead
01:23:22.779 --> 01:23:25.439
the charge in some way, shape and form. So I
01:23:25.439 --> 01:23:27.560
appreciate that. And for our listeners, thank
01:23:27.560 --> 01:23:30.739
you so much for joining us again tonight. And
01:23:30.739 --> 01:23:39.619
I guess we'll see you next time. If any zombies
01:23:39.619 --> 01:23:42.340
happen to get into your house, go for the brains.
01:23:42.899 --> 01:23:47.399
We insist, do not leave your house. Thank you
01:23:47.399 --> 01:24:18.069
very much for your cooperation. Well, folks,
01:24:18.189 --> 01:24:20.770
that wraps up another episode of Roundabout Creative
01:24:20.770 --> 01:24:24.369
Chaos. You can find us on the web at roundaboutcreativechaos
01:24:24.369 --> 01:24:28.729
.com. We're also on Blue Sky, TikTok, Instagram,
01:24:29.170 --> 01:24:32.630
YouTube, LinkedIn, and X at Roundabout Chaos.
01:24:33.270 --> 01:24:35.890
If you enjoyed this episode, please consider
01:24:35.890 --> 01:24:38.649
leaving a review. Maybe even send a friend our
01:24:38.649 --> 01:24:41.869
way. It's the best thing you can do for us and
01:24:41.869 --> 01:24:45.890
for them. Well, short of sending cookies. So
01:24:45.890 --> 01:24:49.350
until next time, stay sharp, keep your brains
01:24:49.350 --> 01:24:52.590
intact, and whatever you do, don't forget rule
01:24:52.590 --> 01:24:54.310
number one, cardio.