Self-taught programmer gives advice on learning quickly: Avoid tutorials and Google
We analyze the following article and I give my opinion:
Here's an article I'd also like to share with you, in which "a self-taught programmer gives us advice to learn faster: avoid tutorials and Google."
The first thing I should say is that this advice is, in a way, a "knife to my throat," since I'm constantly making tutorials myself. But I think the important thing here is the core idea. This isn't to say that tutorials, Google, or even ChatGPT are bad, or that we should start inventing code from scratch without consulting any sources. As I always say: there's a middle ground.
Balance: official documentation and actual practice
This is something I often advocate when I write my tutorials, books, or courses: always go to the official documentation. Whenever you can, try to learn how to read, understand, and absorb it, because it's a key skill. You can't stick to just one source. Tutorials, books, Google, and ChatGPT are just that: support sources, not the only way to learn.
This, I believe, is what the author of the article is trying to say. Analyzing his points, he mentions that many beginners fall into the trap of relying excessively on tutorials, books, courses, and whatever they find directly on Google. I would also add ChatGPT, which is something like Google 2.0, as it offers more direct answers to what we're looking for.
The importance of documentation
What the author recommends is to go directly to the official documentation, as it is usually more up-to-date and accurate. For example, every time a new version of Laravel is released, we already have updated documentation. Of course, the problem is that this documentation is often a bit more abstract, which is why tutorials, books, courses, etc., exist to offer a smoother introduction to the technologies.
Tutorials like the ones I create, for example, for creating online stores, are designed for those who are just starting out or want to carry out a project. But once you understand the basics, you shouldn't rely solely on that. It's essential to expand your horizons, consult multiple sources, and form your own criteria to apply technologies effectively.
Not everything that glitters on Google is gold.
The article also mentions that tutorials are favored by SEO, which means the first results aren't always the best. Anyone can write a tutorial—myself included. While I have experience and everything I share has been tested and verified, the fact remains that official documentation is the most reliable source. You can also use shortcuts like Ctrl + click in your editor (if supported) to directly explore the source code and learn from it.
Reading code is also learning
It's very important to learn how to read code to identify useful functions and understand how certain solutions are built. Tools like tutorials, books, Google, and ChatGPT are valid, but we shouldn't rely exclusively on them. We should always go further and work directly with the documentation and code of the framework we're using.
For example, in one of my most recent courses on Livewire, I try to make the most of my knowledge to show how to take advantage of the technology's internal details. As an example, here's a little trick: we use wire:model.live with a <select>, so that when the language is changed, we reload the entire page and take the opportunity to save the new language in the session. This behavior occurs because the render method is executed again, and knowing how Livewire works internally, we know how to take advantage of it:
<flux:select :label="__('Language')" id="language" wire:model.live="language" x-data @change="setTimeout(function(){window.location.reload()}, 100)" class="mt-1 block w-full rounded border-gray-300">
***
public function render()
{
if (!isset($this->language)) {
// al cargar el componente, este codigo se ejecuta al language NO estar seleccionado
// por el usuario
$this->language = session('locale') ?? App::getLocale();
} else {
// se ejecuta desde la vista asociada por el .live
session(['locale' => $this->language]);
App::setLocale($this->language);
}
return view('livewire.user.user-profile');
}
If you didn't have that knowledge, you'd probably try to do it with hardcoding in JavaScript or manually reloading the page, without taking full advantage of the framework.
I learned all this not by reading books (in fact, I haven't seen any books on Livewire), but by testing, reading documentation, and writing code. As the article also mentions: in the end, after consulting all the information possible—tutorials, books, YouTube, Google, and documentation—the most important thing is to develop your own projects.
Until you do it yourself, you don't really learn how the technology works. So that's the message I wanted to convey to you. I'll include the original article in the description, and I'll also make my own post based on this approach in case you'd like to read it.
I agree to receive announcements of interest about this Blog.
Analysis of an article on how to learn to program and personal opinions.
- Andrés Cruz