跟读练习: How to Become a Great Software Developer — Best Advice from Top-Notch Engineers - 通过视频学习英语口语

正在创建课程...
1
The job must advise learn Kotlin. That was predictable.
2
Well, being a good developer, that's a very loaded question.
3
It starts with the definition of good.
4
Being a good programmer or developer takes several qualities.
5
First of all, that's attention to details.
6
Programming is all about small details.
7
Like things that...
8
you in casual communication or in text when you omit a comma or flip a word stuff like that
9
it doesn't really matter in your non-development life
10
but in programming like like uh what just one character in your code
11
or off by one somewhere can uh be a difference between code
12
that working correctly and code that doesn't work so attention to the small details is is really what makes
13
professional developers different
14
and that's the quality that's needed to become good software developer i enjoy working with extremely good
15
and at the same time very junior developers who arguably know very little, right?
16
But the way they approach the tasks at hand,
17
the way they learn, so the way they are curious and hungry to do things.
18
And it's an amazing experience, and I love them as contributors, and they're great developers.
19
They're just great junior developers.
20
So first thing I'll say is that the greatness in this question to me doesn't equate with experience necessarily, especially years of experience.
21
If I think about this, first thing that I'll say, and again, this is my personal opinion, this is not like a recipe,
22
but first thing I'll say is a fundamentals.
23
Like if you're using a data structure, like a library list or a map or something, do you know how that's working?
24
Like what kind of algorithms are implemented there?
25
Like why is it fast?
26
Do you know how memory is managed in the runtime you're using?
27
Do you know what kind of things are done under the hood to manage concurrency, for example, like synchronized threads and so on and so forth.
28
Do you know how things work under the hood in general?
29
And looking into that makes you a better engineer because you learn from other engineering decisions made by other people.
30
It makes you, it exercises your mind in an analytical way that you really need working on your own code.
31
And it also makes you just knowledgeable.
32
It's much easier for you to figure things out and make connections where they're unobvious?
33
I remember a question I was interviewed by a startup CTO some 12 years ago.
34
He asked me a question that I then kept asking in my own interviews that I liked very much.
35
Question is simple.
36
So for web developers, imagine you have on the web page, there's a button, you click on it, next page comes.
37
What happened between the button click and the next page?
38
Think about it for a second, right?
39
That onion can have five layers or a thousand.
40
You can spend five minutes answering the question
41
or you can spend an hour and not be done halfway through
42
because of how many things happen or can happen
43
and depending on what level you decide to stop and speak about
44
and the more layers of that onion you can stop and talk about knowingly
45
the better you understand that system and the better web developer you will be right.
46
Things like network protocols, things like database architecture with so much of software available today being open source,
47
you can be kind of the hood of pretty much any technology that you use, and you should do that.
48
And you should read books and watch presentations about how this type of software works.
49
And I think that the main benefit that brings is
50
that it can help you resolve problems much more confidently
51
and much more quickly than just if you just poke at things and see, like, if I do this, does this work?
52
No. Okay, let me try something else.
53
Don't tie your identity to a specific technology or set of practices.
54
So I see a lot of people saying that I'm a Kotlin developer, or I'm a Python developer, or I'm an Android developer.
55
And people who say that kind of think
56
that people who are not Android developers
57
or not Kotlin developers are not like me
58
and probably sometimes I see them as kind of competitors or enemies or something like that.
59
Or maybe I say that they are stupid
60
and don't know what they are doing and instead they should be using the best language on the planet which is Kotlin.
61
I don't think this is healthy.
62
I don't think this is good.
63
I think that it's much better to just identify yourself as a developer and learn the tools, learn what tools exist, learn tools,
64
what tools can benefit you in which cases, and use the best tool for the job and base your identity on something else.
65
Believe me, during your career you will have to learn many different languages and it is wonderful.
66
Each language is different, each one can teach you something new and change how you approach programming overall.
67
For example, I wrote very different code when I coded in Java.
68
Then when I learned Objective-C, it changed.
69
When I first touched Swift, it's once again changed.
70
And each language placed its mark on me.
71
So learn different programming languages, embrace them, and stay open.
72
Don't be afraid to learn something unnecessary.
73
So for example, Speaking of Kotlin, a very common question of people who start to learn Kotlin is, do I have to learn Java?
74
And this, do I have to learn, I think it's not the best way to put things.
75
Like, will learning Java make you a better Kotlin developer?
76
Yes, definitely, because you will be easier able to understand the APIs of different libraries that you probably will want to use.
77
You'll better understand how this whole environment works, things like that.
78
You'll better understand why some things in Kotlin are the way they are and not something else.
79
So don't be afraid to learn something that isn't necessary.
80
As we advance our careers as engineers, and it doesn't matter whether you're a consultant engineer or a product engineer,
81
you will be working with people like more and more, inevitably.
82
You'll be reading their requirements, their stories, their comments, You'll be writing the same thing,
83
you'll be speaking, you'll be communicating, you'll be explaining, presenting.
84
You'll work with people a lot, sometimes more than you work with code, especially if you measure your time minutes in the day.
85
And sort of best engineers are also just great at working with people in everything that that entails.
86
Don't stick to one career.
87
You're not doomed to be a software developer for your whole life.
88
Take me as an example.
89
I learned to be an information security specialist.
90
Then I became an Android developer, had to switch to iOS development.
91
Then I became a team lead, did some backend development.
92
Then I became a manager and then a product manager.
93
And now I'm leading a development of a programming language.
94
And that's actually great because in each
95
role you learn different skills that may help you in the main one if you decide to return it.
96
For example, if you are if you will become a product manager, you will be much better in understanding what and why and for whom you are building.
97
It will drastically help you to become a staff plus engineer because you will not just write code, you will think about business needs.
98
Or for example, if you are becoming a team lead and then decide to stop doing it,
99
it will teach you other essential skills like how to plan your time and time of other people,
100
or how to make decisions in uncertainty or other things.
101
So don't stick to one's career.
102
Your life is long.
103
You can try different things and find one that suits you the best.
104
When you're young, it feels like you can work 20 hours a day or 18 hours a day or something like that.
105
And it's a lot of fun to write software.
106
You may end up with your day job and your hobby project
107
and working for eight hours on one thing and then another eight hours on that.
108
Second thing, and this is kind of fun.
109
I did a little bit of that when I was younger, but I think it's very important to not focus on that,
110
not close your eyes to other things, other fun ways to spend the time, other ways to take care of your body,
111
your emotional state, your mind.
112
Read things, go for a walk, do some physical activities.
113
I think finding a healthy balance between all of these will allow you to sustain your productivity
114
and sustain the joy that substance development brings you for a much longer amount of time.
115
Keep learning new things, go deeper, go wider.
116
Look at how things are done nowadays if there is a new big trend, look into it.
117
Like nowadays, it's generative AI.
118
Look into that.
119
It will help you stay up to date.
120
It will help you be a better engineer.
121
And also just aim higher in general.
122
A lot of people underestimate themselves and just don't try things they could have succeeded at.
123
And you should do that.
124
You should try.
125
You should experiment with the things that you feel are out really.
126
You should apply to jobs you think that you're not good enough for.
127
And you should prepare for those interviews and get the job, you can.
128
So that's like top piece of advice that I can give.
129
And learn Kotlin.

真实场景:成为优秀软件开发者的秘诀

这段视频对话围绕“如何成为优秀软件开发者”展开,几位顶尖工程师分享了关键特质与学习方法。内容涵盖编程细节、基础知识、系统理解等,既适合技术爱好者学习专业表达,也能通过真实对话提升英语听力与口语。

实用表达与搭配

  • attention to details:注重细节。例:编程中,attention to details 能决定代码是否正常运行。
  • under the hood:底层运作。例:要理解技术,需探究其 under the hood 的原理。
  • loaded question:复杂问题。例:“何为优秀开发者”是个 loaded question,需从多维度分析。
  • off by one:差一错误。例:编程中 off by one 可能导致严重 bug。
  • make connections:建立关联。例:深入学习能帮助你在看似无关的事物间 make connections。

影子跟读挑战:现在就行动!

想要提升英语发音和口语流畅度?试试“英语影子跟读”(shadow speech)训练法!选择视频中“按钮点击到页面加载”的段落(约30秒),播放一句暂停,立即跟读,模仿语气和节奏。重复3次后,尝试同步跟读,感受母语者的语速与重音。这个方法能有效锻炼听力理解与口语反应,坚持一周,你会发现自己的英语表达更自然!记得结合“看视频学英语”的优势,边听边观察说话者的口型,让发音更标准。

别担心一开始跟不上,慢慢来,每一次练习都是进步。相信自己,你一定能通过影子跟读(shadowspeaks)变得更自信!

视频中的语法

说话人最常用的结构,并附上视频中的原话:

结构视频中的用法
条件句 if + 从句,will/would + 动词 — 条件及其结果if you are if you will become
被动语态 be + 过去分词 — 强调发生了什么,而不是谁做的are implemented · is managed · are done
定语从句 who / which + 从句 — 补充说明人或事物people who say · people who are · planet which is

什么是跟读法?

跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。

影子跟读法: 阅读完整分步指南 →