Pratique du Shadowing: 7 Programming myths that waste your time - Apprendre l'anglais à l'oral avec la vidéo

Création de la leçon...
1
Recently, I unlocked a new achievement in life, a midlife crisis, when I came to the realization that I've spent most of my adult life writing code.
2
And most of that code is total garbage.
3
It's code that never saw the light of a production server and was either abandoned, refactored, or left to rot in the graveyard of GitHub.
4
As I reflected upon this further, I realized that many of the best practices, the hot game-changing frameworks, and the perfect folder structures didn't actually matter to the end user.
5
I wasted countless hours chasing programming dragons that made me feel more productive, but ultimately led nowhere.
6
In today's video, we'll debunk 9 smart ideas that waste your time as a programmer.
7
And for each myth, we'll look at how it lures you in, why it's actually a trap, and most importantly, how to not do the things that I have done.
8
Now, one of the main goals of this channel is to
9
show you the latest tech you need to use to be relevant, but it's actually a myth that you need to use the latest tech to be relevant.
10
In fact, you might even become more hireable by focusing on old dinosaur technologies, like WordPress and PHP still runs most of the web applications out there,
11
Java runs most of the enterprise world, most databases are SQL-based, and C++ runs most of the low-level systems.
12
However, there are shiny new replacements for tech like this, including Next.js, Kotlin, NoSQL, and Rust.
13
And the lure is a massive feeling of FOMO if you're not mastering the bleeding edge of these so-called superior technologies.
14
To be clear, I'm not discouraging you from learning these, they're awesome, but it's important to understand that most of the real world,
15
where the jobs exist, are not going to change their dinosaur tech stacks anytime soon.
16
The critical banking systems still run on COBOL, and Java will still be powering 3 billion devices long after everybody watching this is dead.
17
Most CTOs are smart enough to know that if it ain't broke, don't fix it.
18
Here's a real-life example.
19
A few years ago, engineers from Twitter released a hot new database called Fauna.
20
It was a pretty solid product and I even made a video about it, but the technology was proprietary, VC-funded, and like most startups, the business failed recently.
21
They have no choice but to shut down their servers, and if you were an early adopter, you're now screwed, and would have been much better off with a boring SQL database.
22
Adopting tech too early is one thing, but adhering to programming dogma can waste even more time.
23
The problem with programming is that there are many different ways to solve the same problem, but some people out there believe that there's only one true way to write code.
24
Some common cults out there include the object-oriented purists and the functional programming extremists.
25
I've been a member of both cults and have learned a lot from them, but dedicating your entire life to just one of them is a waste of time.
26
I mostly code in JavaScript, which is a multi-paradigm language that can satisfy all of these cults.
27
In 2018, functional programming was having a renaissance in web development.
28
Back then, if you used classes in your code, you were literally Hitler, and I found myself bending over backwards to try to do everything in the most functional way possible.
29
No mutable state and higher order functions everywhere.
30
But a few years later, after the spell wore off, I eventually realized that classes can be pretty useful, and my code today often includes a combination of things I've learned from both of these cults.
31
But another time waster to watch out for is Clean Code, which comes from a legendary book written by Uncle Bob Martin known as the Handbook for Agile Software Craftsmanship.
32
Most of the advice in this book is great.
33
Use meaningful names, write small functions, use consistent formatting, and so on.
34
But some of the advice is a little more nuanced, like the dry principle of don't repeat yourself, which means you shouldn't duplicate or write the same code over and over again.
35
And on the surface, that seems like a good idea.
36
But also when you try too hard to keep things clean, you might end up with an endless layer of wrappers, interfaces, and pointless indirection.
37
It's paralysis by analysis, and you end up spending more time refactoring than building actual features that people want.
38
I think a better acronym would be RUG, repeat until good.
39
Duplicate code at first and then pull it into a single abstraction after the repetition becomes painful.
40
Clean code also recommends test-driven development, and testing can be extremely valuable, but it's a myth that 100% test coverage means that your code is well protected.
41
Your boss, who has no programming experience, is likely a big fan of code coverage tooling
42
that will show how much of your source code is executed when a test suite is run.
43
It's interesting, but optimizing for 100% coverage is often a huge waste of time
44
and can often be misleading because high coverage does not equal high quality.
45
Optimizing for coverage encourages developers to write pointless tests that just touch lines and not catch real bugs.
46
And even worse than wasting time, it provides a full sense of security.
47
And then on top of that, it makes your CI builds even slower, which is going to cost you more money.
48
When it comes to test coverage, it's quality, not quantity, that matters.
49
But one thing that truly must matter is performance.
50
Well, actually, it's a myth that you should always optimize for performance.
51
Yet another time waster is benchmarking and optimizing code that just doesn't run at the scale to justify those optimizations.
52
It's far more important to make sure that your code is correct
53
and then only optimize for performance when it becomes painfully obvious that your code sucks in production.
54
On a similar note, you also don't need to optimize your cloud infrastructure like you're about to scale like Facebook.
55
Like, I used to think that I needed this complex, serverless, microservice architecture with global sharding and edge caching, but it turns out that one small VPS is perfectly fine for my five users.
56
Then finally, that brings us to the elephant in the room, the myth that AI is about to replace all programmers soon.
57
There's some awesome AI code writing tools out there, but it's becoming more and more clear that many programmers are now wasting a bunch of time relying too much on AI.
58
For example, Claude Sonnet 3.7 is really good at writing code, but it's also notoriously verbose.
59
You might ask it to build a simple website, and it'll just randomly engineer some new JavaScript framework from scratch.
60
And because you forgot how to write code, you'll just approve it and move on with your life.
61
AI programming tools are both the greatest productivity booster I've ever seen in my life, but when used improperly, they can also be the biggest time waster.
62
The key to success is to have a solid foundation in problem solving, and you can start building that foundation for free today thanks to this video's sponsor, Brilliant.
63
A hard truth is that code is useless if you don't understand the math and computer science behind it.
64
Brilliant helps you learn these concepts quickly by providing short, fun, interactive lessons, which is a method proven to be six times more effective than watching video lectures.
65
But most importantly, you'll build critical thinking skills through problem solving, not memorizing.
66
Before you try to jump into vibe coding, I'd highly recommend taking their thinking and code course to build a timeless problem solving foundation, where you'll learn how to actually think like a programmer.
67
Try everything Brilliant has to offer for free for 30 days by visiting brilliant.org slash fireship
68
or scan the QR code on screen and get 20% off an annual premium subscription.
69
Thanks for watching and I will see you in the next one.

Vocabulaire et conseils d’expression pour cette leçon

Cette vidéo contient 69 phrases et 1366 mots à répéter en shadowing. La partie parlée dure 6:18. Le locuteur parle vite, environ 217 mots par minute : attendez-vous à des liaisons et à des sons réduits. Seuls 80 % des mots font partie des 3 000 mots les plus courants en anglais, le vocabulaire est donc exigeant.

Vocabulaire clé de cette vidéo

15 mots moins courants de la vidéo, avec leur prononciation et leur sens :

  • myth /mɪθ/ (nom) — mythe. A traditional story which embodies a belief regarding some fact or phenomenon of experience, and in which often the forces of nature and of the soul are…
  • solve /sɒlv/ (verbe) — résoudre, régler. To find an answer or solution to a problem or question; to work out.
  • programmer /ˈpɹoʊɡɹæmɚ/ (nom) — programmeur, programmeuse. One who writes computer programs.
  • database /ˈdeɪtəˌbeɪs/ (nom) — base de données, banque de données. A collection of (usually) organized information in a regular structure, usually but not necessarily in a machine-readable format accessible by a computer.
  • functional /ˈfʌŋkt͡ʃənəl/ (adjectif) — fonctionnel. In good working order.
  • server /ˈsɝvɚ/ (nom) — serveur. A program that provides services to other programs or devices, either in the same computer or over a computer network.
  • pointless /ˈpɔɪntləs/ (adjectif) — obtus. Having no point or sharp tip; terminating squarely or in a rounded end.
  • dinosaur /ˈdaɪnəsoɹ/ (nom) — dinosaure. Those animals of the clade Dinosauria that existed during the Triassic, Jurassic and Cretaceous periods and are now extinct.
  • lure /lʊə/ (nom) — attrait, leurre. Something that tempts or attracts, especially one with a promise of reward or pleasure.
  • duplicate /ˈd(j)uː.plɪˌkeɪt/ (verbe) — copier, dupliquer. To make a copy of.
  • consistent /kənˈsɪs.tənt/ (adjectif) — constant. Of a regularly occurring, dependable nature.
  • format /ˈfɔːɹ.mæt/ (nom) — format. The layout of a publication or document.
  • lesson /ˈlɛs.ən/ (nom) — leçon. A section of learning or teaching into which a wider learning content is divided.
  • cloud /ˈklaʊ̯d/ (nom) — nuage. A visible mass of water droplets suspended in the air.
  • infrastructure /ˈɪnfɹəˌstɹʌkt͡ʃə/ (nom) — infrastructure. An underlying base or foundation for a building, organization, or system.

Les verbes à particule que vous entendrez

  • end up (verbe) — se terminer, se finir. To bring to a conclusion.
  • get off (verbe) — descendre, faire descendre. To move from being on top of (something) to not being on top of it.
  • look at (verbe) — regarder. To observe or watch.
  • shut down (verbe) — éteindre. To close, terminate, or end; to stop operating, either permanently or temporarily.
  • turn out (verbe) — se finir, se terminer. To end up; to result.
  • wear off (verbe) — s'atténuer, s'estomper. to diminish in effect

Prononciation à surveiller

Le locuteur utilise 24 contractions et formes réduites, comme don't, I've, you'll. Prononcez-les sous leur forme courte, telles que vous les entendez.

  • Les sons « th »: myth /mɪθ/, mathematics /mæθ(.ə)ˈmæt.ɪks/
  • Les sons « sh » et « zh »: subscription /səbˈskɹɪpʃən/, realization /ˌɹɪə.laɪˈzeɪ.ʃən/, optimization /ˌɑptəmaɪˈzeɪʃən/, cache /kæʃ/, benchmark /ˈbɛn(t)ʃmɑːk/
  • Mots longs — placez bien l’accent: importantly /ɪmˈpɔɹ.tənt.li/, infrastructure /ˈɪnfɹəˌstɹʌkt͡ʃə/, superior /sʊˈpɪɹ.i.ɚ/, architecture /ˈɑː.kɪˌtɛk.t͡ʃə/, legendary /ˈlɛd͡ʒ.ənˌdɛɹ.i/

Comment s’entraîner avec cette vidéo

  1. Écoutez la vidéo en entier une fois sans parler et notez les mots que vous ne connaissez pas.
  2. Commencez à la vitesse 0,75×, répétez phrase par phrase, puis revenez à la vitesse normale quand cela devient facile.
  3. Enregistrez-vous et comparez avec l’original, en faisant attention à des mots comme myth, solve, programmer.

La grammaire de cette vidéo

Les structures que le locuteur utilise le plus, avec les mots exacts de la vidéo :

StructureDans la vidéo
Present perfect have/has + participe passé — une action passée qui compte encore maintenantI've spent · have done · I've been
Propositions relatives who / which + proposition — une précision sur une personne ou une choseJavaScript, which is · yourself, which means · slower, which is
Superlatifs the -est / the most … — le plus haut ou le plus bas d’un groupethe best · the latest · the most functional
Possibilité avec « might / may » might/may + verbe — quelque chose de possible mais pas certainmight even become · might end · might ask

Qu'est-ce que la technique du Shadowing ?

Le Shadowing est une technique d'apprentissage des langues fondée sur la science, développée à l'origine pour la formation des interprètes professionnels. Le principe est simple mais puissant : vous écoutez de l'anglais natif et le répétez immédiatement à voix haute — comme une ombre suivant le locuteur avec un décalage de 1 à 2 secondes. Les recherches montrent une amélioration significative de la précision de la prononciation, de l'intonation, du rythme, des liaisons, de la compréhension orale et de la fluidité.

Technique du shadowing : lire le guide complet étape par étape →