Como ser programador autodidacta (y no morir en el intento)

April 15, 2024 (2mo ago)

Creo que ya está socialmente aceptado hace tiempo que para ser buen programador, tener una carrera exitosa o emprender en este ámbito no se necesita hacer una carrera. Pero también pienso que no es cosa de hacer un bootcamp intensivo de 3 meses, conseguir trabajo y ya. Por este motivo me gustaría compartir como me organizo para mejorar cada día (trabajando full-time y estudiando de manera autodidacta). Espero que se lleven algo útil ;)

Herramienta esencial: Notion

Para los que no la conocen, básicamente es una aplicación que te permite gestionar notas, tareas, bases de datos, calendarios, etc. Es un all-in-one totalmente personalizable e intuitivo.

No se qué sería de mí sin Notion, sinceramente. De hecho, desde que empecé a programar todos mis apuntes los fui anotando acá.

Cuando estoy trabajando en un proyecto, me es muy útil para desglosar una tarea enorme en tareas más chicas y para la organización de las mismas.

En el ejemplo que dejo acá abajo, debía solucionar un problema entonces lo que hice fue hacer pequeñas tasks que me lleven a ese objetivo; como también hice otras secciones que consideraba importantes para entender mejor el problema y sus posibles soluciones.

Mailchimp image

En cuanto al estudio, una simple recomendación para que ya la apliquen es que se hagan una página del curso que quieren hacer, y mientras ven el curso, anotense preguntas en formato de toggle (es el elemento que te deja ocultar o mostrar texto). Particularmente a mi me sirve porque a la hora de repasar conceptos, no es que solo leo lo que estudie; sino que me esfuerzo a responder las preguntas con lo que me acuerdo en el momento.

Toggle example

Técnica de estudio: spaced repetition

Como dije, cuando quiero aprender algo más teórico, anoto mis apuntes en Notion y luego los repaso. ¿Pero cada cuanto y cómo vuelvo a re-estudiar y practicar lo aprendido? A esto viene ayudarnos esta técnica de ‘spaced repetition’. La idea es revisar el material a intervalos cada vez más largos. Por ejemplo, primero repasas al día siguiente, luego a los tres días, después a la semana, y así sucesivamente. Este método se basa en el principio de que repasar la información justo cuando empezamos a olvidarla fortalece nuestra memoria y hace el aprendizaje más duradero y efectivo.

Y por esa razón en Notion, desarrollé una tabla que me permite saber qué es lo que estoy estudiando y cuando debo repasarlo.

Spaced repetition table

¿Cómo me mantengo actualizado de las últimas novedades?

Yo creo que en parte está bueno estar al tanto de lo que está pasando en el mundo de la tecnología, más en estos tiempos de auge de la Inteligencia Artificial donde salen tools que te pueden llegar a automatizar varias tareas.

Cuentas de youtube que recomiendo seguir:

  • Fireship: es una cuenta que te explica conceptos de cs de manera muy entretenida y concisa
  • Midudev: desarrollador frontend español que tiene cursos y videos explicativos 10/10
  • Theo - t3․gg: ex-twitch dev, crack.

No todo es color de rosas, cursos de fundamentos.

No todo es estar al tanto de las ultimas tecnologías, ya que te puede distraer del objetivo final que es facilitarle la vida en algo a tus usuarios (y verdaderamente a ellos no les importa que estes usando la última versión del framework que más te guste). Entonces, entender los fundamentos te permiten tener una base sólida que no va a cambiar a pesar del lenguaje o tecnología que uses.

Como ya habrán visto en la foto de la tabla, ya hice cursos de fundamentos como el CS50, Clean Code y SPD (Systematic Program Design). Actualmente estoy siguiendo la ruta de OSSU que es un repositorio open source y tiene una currícula bastante interesante para entender las bases de CS. Si querés empezarla, avisame asi podemos compartir opiniones, apuntes o resolver dudas!

Mi sistema

Estudio todos los días de la semana, así me queda el fin de semana para descanso. (disclaimer: hay veces que puede fallar durante la semana por laburo u otros eventos, entonces siempre me comprometo a dejarme un tiempo en el fin de semana en esas ocasiones).

También entreno y duermo bien → estar sano te ayuda a pensar, concentrarte y ejecutar mejor.

Conclusiones

Esto es todo a partir de mi experiencia y sé que me queda mucho por mejorar. Sin embargo, creo que respetando estos pasos, de manera constante y sin olvidarnos de descansar, es posible desarrollar una buena performance en tu trabajo o proyecto y pasar al siguiente nivel como dev.

Es mi primer blog asi que cualquier feedback es bienvenido! Si quieren compartirme sus experiencias y charlar un rato, hablenme por Linkedin, Twitter o mandenme un mail a lucasbrumatti99@gmail.com