Shadowing Practice: I don't like Programming - Learn English Speaking with Video

Creating lesson...
1
Guys, I have a confession to make.
2
I don't like programming.
3
i never liked programming in fact programming.
4
Now I'm being a little facetious here, but I'm going to tell you what I mean.
5
And that's going to include a few themes, including are the things that we learned as programmers or the things that maybe you should learn if you're getting into it.
6
Are they useless?
7
Does it matter if you know what a hash map is or like a lot of those fundamental concepts and stuff?
8
I also want to talk about the type of programmer that I am and a bit about my like programming career trajectory.
9
how
10
in some ways at least people are saying the joy of programming has been taken away from them
11
and i feel like in certain ways because of the type of programmer
12
that i am that maybe i've adapted a little bit differently than most people
13
when i was in school in college i took an intro to c class back in 2016
14
and i learned all sorts of things of course a lot of which i used in my career i learned
15
learned about memory management.
16
Right.
17
And I don't think professionally I ever needed to do manual memory management.
18
Even using a language like C++, there's smart pointers now.
19
Why does anybody need to know how to manage memory?
20
Maybe there's some niche areas that it's like extremely important, but most people, they're never going to need that.
21
And also what about DSA, data structures and algorithms?
22
I spent a lot of time doing that, learning that.
23
And I enjoyed it.
24
But Did I ever really use it on the job?
25
I mean...
26
Not really.
27
I mean, the fundamentals, obviously, like hash maps, loops, like efficiency and general optimizations, but you can get that, you know, at mostly just the leak code easy level.
28
You're not going to need those graph traversals on the job.
29
Why would you?
30
The only time I remember something like interesting coming up at Google, you know, the company.
31
I'm not trying to mention that in like a bragging way.
32
I'm just mentioning it because it's kind of the company that's known for like DSA interviews, right?
33
And then you get in and you don't really use that.
34
And I remember there was a case where Google has CLs, which is basically like pull requests, and then each CL will get like a unique number.
35
And I forgot what the exact detail was, but I think it was like each CL will have like a unique ID, of course, that's auto generated.
36
And then when it's actually merged in Google, they have like a mono repo.
37
So every piece of every CL, every pull request is merged into the exact same repo.
38
And I was asking like a question about like something about the CL number conflicts.
39
I don't remember the exact details, but basically what he said was, yeah, these are monotonic, so that there won't be conflicts or issues.
40
And you'll know which CL was merged before the other one.
41
And when I heard that, I was like, Holy shit, did he just say?
42
And this was actually like right before I left.
43
And he said it and I was like monotonic increasing like hey, DSA, right?
44
But for the most part, like those concepts really were not needed.
45
And maybe Nowadays, We don't ever even need to know how to use Git,
46
but I mean, you might still want to because it's so damn painful to watch these LLMs do it.
47
And I don't know who made the judgment call to not just allow maybe like a text input or something.
48
And I can just type my own damn commit message and get this done with.
49
I know I can use the terminal.
50
And this must be how Vim users feel watching normal people type, but I'm.
51
You know, mentioning a few things and I'm not going to act like I have the answer to these things, but I'll tell you for my opinion, my very humble opinion that.
52
I don't think.
53
The things that I learned and the things that I worked on that I didn't directly use, I don't think they were wasted.
54
I really don't.
55
Because I did a lot in my life and so has everyone, right?
56
What I mean by that is I did so much things in school We all learn so many things, so many subjects, so many concepts and Do we really need that?
57
I mean, we all remember sitting in class thinking, "When am I ever going to need this knowledge that's right in front of me?" And many times you don't, but does it mean it's useless?
58
I'm not convinced.
59
Holistically, we are like people that have all this like knowledge.
60
And I don't think it's worth like cutting out fundamental things.
61
I think that's very like dangerous.
62
It sets like a really scary precedence because, OK, maybe maybe it is useless.
63
Maybe nobody needs to ever know math anymore.
64
We have calculators.
65
But I think learning is extremely important because it's not just about like the concrete thing.
66
Okay, I learned this random framework or random tool.
67
And now I got to start a different job and I have to learn a different tool now.
68
everything I learned before is completely useless.
69
I don't think that because of this concept that I haven't invented, but it's called like a mental model. And...
70
We.. all learn a lot of mental models just from school.
71
If you pay attention, for example, In math, you learn these logic rules, these rigid rules, and they're consistent.
72
And they teach you how to think.
73
If you take a math person who's super good at math and then you try to put them into a programming career, they excel, dude.
74
Like, it's just a thing.
75
I can't tell you exactly which math concept directly, you know, made them a super good programmer or not, but it's a phenomenon.
76
This is a thing.
77
And there's so many different mental models in the world of so many different concepts, many in the programming world,
78
many in psychology, many in nature. of evolutionary biology.
79
And the important thing about these mental models is they allow us to reason about things that we do not understand.
80
Like in physics, there is this concept of laws of nature, Newton's laws of nature.
81
They explain things.
82
And when you don't have these things, you do lose something.
83
I strongly believe that because I remember, I don't know about you guys, but I remember being a kid.
84
I remember thinking, why does the moon go around the earth?
85
It's so right?
86
And of course, an adult who knows is going to look at the kid and say, oh, it's gravity.
87
It's gravity.
88
Gravity is just a word.
89
That doesn't really explain anything.
90
Newton's laws.
91
Newton's laws explain it.
92
An object in motion will stay in motion.
93
And the beautiful thing about these mental models, is Newton's laws, they don't just explain why the moon goes around the Earth.
94
It explains so many things.
95
And when Einstein, you know, built, went on top of the things that Newton did,
96
he had to deeply understand the mental models that Newton did, right, that he created.
97
And so it turned out that certain things that Newton, Newton's, certain things about Newton's theory of gravity were wrong.
98
But was it useless?
99
Obviously not.
100
But anyways, I could ramble about this literally all day.
101
So I'll move on to the type of programmer that I am and I'm about to make
102
a very offensive statement to a lot of people.
103
I know that.
104
And I'm going to say it.
105
I was the type who got into programming for the money.
106
I did.
107
I got into Fang for the cash.
108
I really liked math and physics, so I actually studied electrical engineering when I first started in college, but they required me to take a programming course, which I wasn't happy about,
109
and it was Intro to C.
110
And I really wasn't excited about it.
111
I really struggled with it.
112
Even just print F was really hard for me to wrap my head around.
113
I don't know why I'm kind of a slow learner, but once I think a month or two into the class, you learn about variables.
114
You learn about the different types.
115
You learn about...
116
if statements loops functions, reuse code, you learn about structs.
117
And then there comes a moment where For me, something just clicked.
118
I realized that, wait a minute, these small number of primitives that are very logical and very consistent,
119
actually it's so few of them yet they're so extremely powerful they have the power of infinite complexity
120
These small primitives can create incredible software operating systems, right?
121
And That's what I loved about it.
122
The same thing I loved about Newton's laws, that a small number of things can actually explain so much, that a small number of fundamentals have an incredible amount of power.
123
So actually, I loved it.
124
I love memory management, but then I had to get practical.
125
And then when I was looking at the job market, I was like, OK, well, I got to learn web development, right?
126
Got to learn JavaScript and I got to learn what an XHR is.
127
And an XHR, an XML HTTP request, is named that, yet it's not necessarily an XML format.
128
And it's not necessarily HTTP and it's not necessarily a request.
129
It could be a response to an XHR could mean response.
130
So as a person who likes logic and likes consistency.
131
Oh my God, you cannot believe how much web development pissed me off.
132
I hated programming.
133
to an amount I cannot articulate As much as I loved C, and the primitive nature of it.
134
I hated web development just as much for the opposite, for the same reasons, because it was kind of the opposite.
135
Right?
136
So I did get a little bit jaded.
137
I I have talked about this before, but I was unemployed for like a year after I left Amazon.
138
And during that year, let me tell you something.
139
Let me tell you something.
140
I did not do any sort of real development.
141
All I did for that year was make leak code videos in Python, only Python.
142
And then I was lucky enough to get into Google.
143
And when I got into Google, I did not do any Python.
144
and not do any TSA.
145
But I also...
146
did pretty well at Google.
147
I got promoted within a year.
148
And I think obviously the fact that I have a CS degree and I didn't cheat through that degree, I actually did learn the fundamentals and the important stuff.
149
that did help me a great deal.
150
And the fact that I was still thinking like a programmer doing DSA videos and also kind of communicating my thoughts.
151
I think that helped me a lot.
152
And then so at Google, I was a what I would call a copy paste programmer.
153
And I'm embarrassed to admit it, and I know I'm not doing myself any favors.
154
by admitting that.
155
But I was just so lazy because a lot of the work at Google is not that interesting.
156
You're not doing a lot of the fun, interesting computer science concepts that I enjoy.
157
Development just looks very different.
158
there and I wasn't really enthusiastic about learning all those internal tools and stuff like that, but I still did it.
159
Basically, most of the code, you know how people say that with AI coding, most people aren't handwriting code anymore.
160
Baby, I was not handwriting code for a long ass time.
161
I mean, not literally, but for example, like, you know, back in 100 years ago when Stack Overflow was a thing,
162
a lot of people were the types of programmers that they would just You know, if they had a question, they just blindly open open up.
163
stack overflow, copy and paste a code snippet into their code, maybe change some variables around, and then they're good to go.
164
Maybe they didn't even fully understand that piece of code.
165
I did that.
166
They don't have Stack Overflow, but they have their internal Mono repo, which is in code search.
167
I need to use this library.
168
I could go read the documentation.
169
The documentation sucks ass at Google.
170
Screw it.
171
I'm just going to go into the code base, find somebody else who used this API, copy and paste their code, try to understand it a little bit.
172
change my variables around and I'm good to go.
173
And so even though I'm the type of person who likes to go deep into things,
174
I like to do a small number of things and do them extremely well and extremely thoroughly and extremely deep.
175
But that's not the nature of being a programmer in most jobs, including at Google.
176
Because let's say, you know, you have like one document you're trying to learn about this tech that you're using, right?
177
That document is going to link to like five Right.
178
You could spend your whole life doing a depth first search, trying to read all those documents, and you still won't get anywhere near to completing your task.
179
Right.
180
So what I did.
181
at that point is I'm like, as much as I want to learn all these things, I'm just going to do my job and I'm going to get my work done.
182
And so rather than focusing on like the joy of programming, I focused on just trying to be good at my job.
183
And I sacrificed the joy of programming in that moment just to be better at my job.
184
And I, And I accomplished that.
185
I was lucky enough to be promoted in a year, which I think is like top five percentile at Google from like L3 to L4.
186
But I'm not going to act like it's because I'm a genius.
187
I think it's just because I've made certain choices and I did have some luck as well.
188
So now that we are seeing this big transition to prompting LLMs and then waiting for them to fix something,
189
which they're pretty good at nowadays, you still kind of have to be a programmer, I think, to get a lot of the value out of them.
190
of people it's just not as enjoyable as it was before and I think that matters.
191
That definitely matters because I think joy matters a lot.
192
For example, you guys know Jared from Bunn?
193
He was just a chill dude.
194
working on a JavaScript runtime for several years.
195
Why would he do that?
196
Why?
197
What? Where?
198
How would he possibly make money doing that?
199
Right?
200
But he just wanted to, and I guess he had investment and he really, really enjoyed it.
201
Turns out he got a pretty big acquisition from Anthropic.
202
And so it ended up paying off, right?
203
And even in my own case, when I was making these DSA LeakCode videos, do you really think I thought anything would happen from them?
204
Of course not.
205
But I really, really enjoyed making them because like I said, I like going deep into things.
206
So when I'm making that video, I'm like, I'm going to go the extra mile to make it as good as I possibly can just
207
because I want to, just because it helps me sleep better at night.
208
And so because of that, I think the videos were maybe a little bit better than most people's.
209
And because of that, I ended up having.. a lot more success than I would have ever imagined.
210
But like I said earlier, I think in some ways it can be good to maybe not enjoy programming too much.
211
Because then you might, like we've all seen like the types of programmers
212
that care too much about like their their code or the tools that they're using,
213
like they care, like they'll do some random migration that really has pretty minimal benefits, but they just want to do it.
214
They just love tech.
215
They love coding so much that, you know, maybe they love it too much.
216
And they focus on that more than the business.
217
So I think it's, you know, I'm not here to tell you what the right answer is or anything, but I think these are interesting things that are worth considering.
218
I think this transition to AI coding has been something that's in many ways, like kind of familiar to me.
219
It doesn't feel that new to me because like I said, I had to make that transition so many times and I can see why it would be harder for other people who've, you know, just focused on
220
Casey Muratori and he is probably had the opposite career
221
that I have and so I think but I think
222
that was by choice that was his choice to do that and I'll be uploading that conversation pretty soon
223
if you're interested in that.
224
But I could have made similar choices as him, but I just decided not to.
225
In my case, I was broke.
226
I needed to make money.
227
I had to be pragmatic about things.
228
And so that's kind of what I prioritized.
229
And I think today, I'm kind of doing the same thing.
230
that I kind of did at Google, which is, yeah, In some ways, like this is kind of boring.
231
This is not what I like.
232
I'd rather be in my underwear making leak code videos rather than at the Google office.
233
eating the free food and, you know, editing config files.
234
But I think you can still learn to enjoy things.
235
If you choose to, In my case, for example, I got Google.
236
I would think to myself like, OK, like maybe I can reframe this.
237
to give myself some gratitude.
238
What I mean by that is
239
rather than thinking like okay this is kind of boring i made it my goal rather
240
then to go super deep into these technical concepts that I found interesting.
241
Instead of doing
242
that, I made it my goal to go super deep in
243
the direction of being what I would consider an elite engineer at Google, like what makes somebody elite at Google while just doing your work
244
and solving the problems and trying to have as much of an impact as you can.
245
And at the L3 level, As a junior, you want to try to be as independent as you can.
246
So that's what I tried to do.
247
And yeah, I didn't love editing config files, but I told myself I'm going to be somebody who can read this code.
248
And I want to be proficient.
249
I looked at these senior engineers around me and I see, damn, they can just, do it so much better than me.
250
I want to be on their level.
251
Definitely helped me.
252
And so I think with this whole agentic coding, I think I've tried to have a similar mindset.
253
I'm not the best agentic coder.
254
I think I'm not the best coder.
255
I'm not the best trad coder, traditional coder either, but I try to go deep
256
and try to be the best that I can be in my own way.
257
But let me know what you guys think about that, because obviously I'm just one guy and everybody's, kind of handling this transition differently.
258
I do think we all have somewhat of a say in the matter.
259
It's kind of like that meme where those two people are on that bus.
260
If you don't embrace change, you're going to be pretty depressed because the world is always changing.
261
But If you do, you can kind of see the other side of that.

About This Lesson

In this lesson, you will engage with a thought-provoking discussion about programming and its relevance in the modern tech landscape. By listening to the speaker express their candid views about programming, you will practice your English listening skills while gaining insights into the programmer's mindset. This exercise not only enhances your comprehension of technical vocabulary but also improves your pronunciation through the shadowing technique. As you practice, you'll have the opportunity to improve your English pronunciation and gain confidence in speaking about complex topics.

Key Vocabulary & Phrases

  • Programming - The process of writing instructions for computers.
  • Memory Management - The act of controlling how computer memory is allocated and used.
  • Data Structures and Algorithms (DSA) - Organizational methods for storing and processing data.
  • Hash Map - A specific data structure that pairs keys to values for efficient retrieval.
  • Efficiency - Achieving maximum productivity with minimum wasted effort or expense.
  • Pull Request (PR) - A request to merge code changes into a shared repository.
  • Monotonic - A mathematical term describing a function or sequence that is either entirely non-increasing or non-decreasing.
  • Terminal - A text input/output environment for interacting with the computer’s operating system.

Practice Tips

To make the most of your English speaking practice, utilize the shadowing technique while engaging with this video. Here are some tailored tips:

  • Listen Actively: Play the video and focus on the speaker's tone and pace. Pay attention to their intonation and rhythm.
  • Repeat after Them: Pause the video frequently to repeat phrases. Shadowing the speaker will help you practice pronunciation and improve fluency.
  • Vary Your Speed: If the speaker talks quickly, try to mimic that pace. However, if you find it challenging, slow down the playback speed and gradually increase it as you gain confidence.
  • Record Yourself: After shadowing, record your voice and compare it to the original. This will highlight areas where you can improve your pronunciation.
  • Use Keyword Focus: Pay special attention to the key vocabulary and phrases listed above. Make sure to pronounce them clearly as you practice.

By incorporating these strategies into your routine, you will significantly enhance your ability to communicate effectively in English, especially in discussions surrounding technical topics like programming.

What is the Shadowing Technique?

Shadowing is a science-backed language learning technique originally developed for professional interpreter training and popularized by polyglot Dr. Alexander Arguelles. The method is simple but powerful: you listen to native English audio and immediately repeat it out loud — like a shadow following the speaker with just a 1–2 second delay. Unlike passive listening or grammar drills, shadowing forces your brain and mouth muscles to simultaneously process and reproduce real speech patterns. Research shows it significantly improves pronunciation accuracy, intonation, rhythm, connected speech, listening comprehension, and speaking fluency — making it one of the most effective methods for IELTS Speaking preparation and real-world English communication.

Shadowing technique: read the full step-by-step guide →