Programador autodidacta da consejo para aprender rápido: Evita Tutoriales y Google

Analizamos el siguiente articulo y de doy mi opinión:

https://www.genbeta.com/desarrollo/programador-autodidacta-nos-da-consejo-para-aprender-rapido-evita-tutoriales-google-verdad-esta-otra-parte-1

Aquí hay un artículo que también me gustaría compartir contigo, en el cual “un programador autodidacta nos da un consejo para aprender más rápido: evitar los tutoriales y Google.”

Lo primero que debo decir es que este consejo es, en cierta forma, un "cuchillo para mi garganta", ya que yo mismo me la paso haciendo tutoriales. Pero creo que lo importante aquí es la idea central. No se trata de decir que los tutoriales, Google o incluso ChatGPT sean malos, ni que tengamos que ponernos a inventar el código desde cero sin consultar ninguna fuente. Como digo siempre: hay un punto intermedio.

El equilibrio: documentación oficial y práctica real

Es algo que suelo defender cuando hago mis tutoriales, libros o cursos: siempre ve a la documentación oficial. Cada vez que puedas, intenta aprender a leerla, entenderla y absorberla, porque es una habilidad clave. No te puedes quedar con una sola fuente. Los tutoriales, libros, Google y ChatGPT son solo eso: fuentes de apoyo, no la única vía de aprendizaje.

Esto es, creo yo, lo que el autor del artículo intenta decir. Analizando sus puntos, él menciona que muchos principiantes caen en la trampa de depender excesivamente de los tutoriales, libros, cursos y lo que encuentren directamente en Google. Yo agregaría también ChatGPT, que vendría siendo algo así como un Google 2.0, ya que ofrece respuestas más directas a lo que buscamos.

La importancia de la documentación

Lo que el autor recomienda es acudir directamente a la documentación oficial, ya que suele estar más actualizada y ser más precisa. Por ejemplo, cada vez que sale una nueva versión de Laravel, ya contamos con documentación renovada. Claro, el problema es que muchas veces esa documentación es un poco más abstracta, y por eso existen los tutoriales, libros, cursos, etc., para ofrecer una iniciación más suave a las tecnologías.

Tutoriales como los que hago yo, por ejemplo, para crear tiendas en línea, están pensados para quienes están comenzando o quieren llevar un proyecto a cabo. Pero una vez que ya entiendes la base, no debes depender solo de eso. Es fundamental expandir tus horizontes, consultar múltiples fuentes y formar tu propio criterio para aplicar tecnologías de manera efectiva.

No todo lo que brilla en Google es oro

El artículo también menciona que los tutoriales son favorecidos por el SEO, lo que significa que los primeros resultados no siempre son los mejores. Cualquiera puede escribir un tutorial —yo incluido—. Aunque tengo experiencia y todo lo que comparto lo he probado y comprobado, no deja de ser cierto que la documentación oficial es la fuente más confiable. También puedes usar atajos como Ctrl + clic en tu editor (si lo soporta) para explorar directamente el código fuente y aprender de él.

Leer código también es aprender


Es muy importante aprender a leer código, para identificar funciones útiles y comprender cómo se construyen ciertas soluciones. Las herramientas como tutoriales, libros, Google y ChatGPT son válidas, pero no debemos depender exclusivamente de ellas. Siempre debemos ir más allá y trabajar directamente con la documentación y el código del framework que estemos utilizando.

Por ejemplo, en uno de mis cursos más recientes sobre Livewire, intento exprimir al máximo mis conocimientos para mostrar cómo aprovechar detalles internos de la tecnología. Como muestra, aquí hay un pequeño truco: usamos wire:model.live con un <select>, de forma que al cambiar el idioma, recargamos toda la página y aprovechamos para guardar el nuevo idioma en la sesión. Este comportamiento se da porque se vuelve a ejecutar el método render, y conociendo cómo funciona Livewire internamente, sabemos aprovecharlo:

<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');
}

Si no tuvieras ese conocimiento, probablemente intentarías hacerlo con un hardcoded en JavaScript o con una recarga manual de la página, sin sacarle todo el provecho al framework.

Todo esto lo aprendí no por leer libros (de hecho, no he visto libros sobre Livewire), sino haciendo pruebas, leyendo documentación y escribiendo código. Como también menciona el artículo: al final, después de consultar toda la información posible —tutoriales, libros, YouTube, Google y documentación— lo más importante es que hagas tus propios desarrollos.

Hasta que no los haces por ti mismo, no aprendes realmente cómo funciona la tecnología. Así que ese es el mensaje que quería transmitirte. El artículo original lo dejo en la descripción, y también haré mi propia publicación con este criterio por si quieres leerla.

Acepto recibir anuncios de interes sobre este Blog.

Análisis de un artículo sobre como aprender a programar y opiniones personales.

- Andrés Cruz

In english