Shadowing Practice: How to Become a Great Software Developer — Best Advice from Top-Notch Engineers - Learn English Speaking with Video

בחר מצב תרגול

כל מצב פותח חדר תרגול במסך מלא.

129 משפטים
אם המשפטים קצרים או ארוכים מדי, לחץ על ערוך כדי להתאים אותם.
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.

הורד אפליקציה

כל מה שאתה צריך כדי לדבר בשטף

הגיית AIציון לכל משפט
תרגול IPAשלוט בכל צליל
אוצר מיליםבנה את מאגר המילים שלך
משחק אוצר מיליםלמד תוך כדי משחק
FOR YOU

המלץ על סרטון

אוצר מילים והערות הגייה לשיעור הזה

שיעור הדיבור הזה ברמה C1 מבוסס על הסרטון “How to Become a Great Software Developer — Best Advice from Top-Notch Engineers”. המילים שחוזרות הכי הרבה: developer, learn, Kotlin, engineer, code. בסרטון הזה יש 129 משפטים ו-1621 מילים לתרגול Shadowing. הדיבור נמשך 10:28. הדובר מדבר בקצב טבעי של כ-155 מילים בדקה, קרוב לשיחה יומיומית. 86% מהמילים נמצאות בין 3,000 המילים הנפוצות ביותר באנגלית; כדאי ללמוד את השאר לפני שמתחילים.

אוצר מילים מרכזי בסרטון הזה

9 המילים המתקדמות ביותר בסרטון, עם ההגייה והמשמעות שלהן:

מילההגייהמשמעות
onion שם עצם/ˈʌn.jən/בָּצָל
programmer שם עצם/ˈpɹoʊɡɹæmɚ/מְתַכְנֵת, תׇּכְנִיתָן
underestimate פועל/ʌndɚˈɛs.tɪ.meɪt/זִלְזֵל
contributor שם עצם/kənˈtɹɪb.jə.tɚ/תורם, תורמת
doom שם עצם/duːm/דִּין
competitor שם עצם/kəmˈpɛt.ɪ.tɚ/מִתְחָרֶה, מתחרה
startup שם עצם/ˈstɑɹtˌʌp/סטארטאפ, חברת סטארטאפ
hobby שם עצם/ˈhɑ.bi/תַּחְבִּיב
algorithm שם עצם/ˈælɡəɹɪðm̩/אַלגוֹרִיתְם

משפטים שכדאי לחזור עליהם

משפטים קצרים ושלמים מהסרטון שאפשר להשתמש בהם בשיחה יומיומית:

  • Do you know how memory is managed in the runtime you're using?
  • Do you know how things work under the hood in general?
  • I don't think this is healthy.
  • I don't think this is good.

דקדוק בסרטון הזה

המבנים שהדובר משתמש בהם הכי הרבה, עם המילים המדויקות מהסרטון:

מבנהבסרטון
משפטי תנאי (Conditional sentences) if + clause, will/would + verb — תנאי ותוצאה שלוif you are if you will become
סביל (Passive voice) be + past participle — הדגש הוא על מה שקורה, לא על מי שעושה את הפעולהare implemented · is managed · was interviewed
משפטי זיקה (Relative clauses) who / which + clause — מידע נוסף על אדם או דברpeople who say · people who are · planet which is

הגייה ששווה לשים לב אליה

הדובר משתמש ב-38 קיצורים וצורות מקוצרות, כמו don't, you'll, you're. אמרו אותם בצורה הקצרה, כפי שאתם שומעים אותם.

  • מילים ארוכות — שימו לב להטעמה: concurrency /kəŋˈkʌɹənsi/, confidently /ˈkɑnfɪdəntli/, generative /ˈd͡ʒɛnəɹətɪv/, knowledgeable /ˈnɑ.lɪ.d͡ʒə.bəl/, underestimate /ʌndɚˈɛs.tɪ.meɪt/

צלילים שדוברי עברית מתקשים בהם:

  • /w/ — שפתיים מעוגלות, לא /v/: equate /ɪˈkweɪt/, halfway /ˌhæfˈweɪ/
  • /æ/ — פתוח יותר מה-“אֶ” העברית, לא כמו “a” ב-“cup”: programmer /ˈpɹoʊɡɹæmɚ/, analytical /ˌæn.əˈlɪt.ɪ.kəl/, algorithm /ˈælɡəɹɪðm̩/, halfway /ˌhæfˈweɪ/
  • /r/ — הלשון לא נוגעת בשום מקום, לא ה-“ר” הגרונית: concurrency /kəŋˈkʌɹənsi/, generative /ˈd͡ʒɛnəɹətɪv/, synchronize /ˈsɪŋ.kɹə.naɪːz/, programmer /ˈpɹoʊɡɹæmɚ/, greatness /ˈɡɹeɪtnəs/

איך לתרגל עם הסרטון הזה

  1. הקשיבו לכל הסרטון פעם אחת בלי לדבר, ורשמו את המילים שאתם לא מכירים.
  2. התחילו במהירות 0.75×, תרגלו Shadowing משפט אחר משפט, וחזרו למהירות רגילה כשזה מרגיש קל.
  3. הקליטו את עצמכם והשוו למקור, תוך תשומת לב למילים כמו onion, programmer, underestimate.

מהי טכניקת השאדואינג?

שאדואינג היא טכניקת למידת שפה מבוססת מדע שפותחה במקור להכשרת מתורגמנים מקצועיים ופופולרית על ידי הפוליגלוט ד"ר אלכסנדר ארגואלס. השיטה פשוטה אך עוצמתית: אתה מקשיב לאודיו באנגלית ילידית וחוזר עליו בקול רם מיד — כמו צל העוקב אחרי הדובר עם עיכוב של 1–2 שניות בלבד. בניגוד להאזנה פסיבית או תרגילי דקדוק, שאדואינג מכריח את המוח והשרירים בפה לעבד ולשחזר דפוסי דיבור אמיתיים בו זמנית. מחקרים מראים שזה משפר משמעותית את דיוק ההגייה, האינטונציה, הקצב, הדיבור המחובר, הבנת השמיעה ושטף הדיבור — מה שהופך אותו לאחת השיטות היעילות ביותר להכנה לIELTS Speaking ולתקשורת באנגלית בעולם האמיתי.

טכניקת Shadowing: קרא את המדריך המלא שלב אחר שלב →