¿Qué significa saber programar y cómo aprender?
Estamos acostumbrados a dividir el mundo en dos: los buenos de los malos, los ricos de los pobres, los que saben programar de los que no. Pero la realidad es que esos conceptos son muy relativos. Es posible que mi hermano, que es abogado, crea que sé programar porque hice una página Web en WiX, pero seguramente Linus Torvald (creador del sistema operativo Linux) no esté de acuerdo. La pregunta es entonces ¿qué significa saber programar?
Definitivamente no es un título. Muchas personas se gradúan de carreras relacionadas con construcción de software y no vuelven a escribir una sola línea de código en sus vidas. Tampoco es hacer un curso intensivo de 3 meses. Hay algo más, algo que nadie nos está contando.
El otro día uno de los exalumnos de Make it Real me decía: “Aún no me siento un programador. Es decir, puedo crear una aplicación haciendo copy-paste de lo que ya he hecho, y buscando en Internet, pero no siento que eso sea programar.”
Desafortunadamente Hollywood nos ha vendido la idea del programador que no necesita buscar Internet y que todo lo tiene en la cabeza. La realidad es que la mayoría de “programadores” no podemos hacerlo sin Internet. Y eso está bien.
La programación no es de memorizar y saberlo absolutamente todo (eso es imposible). La programación es una herramienta para resolver problemas (p.e. mejorar la comunicación, automatizar tareas, o incrementar la productividad). Pero cada problema es diferente de los demás, cada problema requiere su propio aprendizaje y tiene su propia dificultad. Muchos esperan aprender a programar y poder solucionar cualquier problema. Pero así no funciona. Solucionar un problema no significa que puedas solucionar automáticamente los demás.
Entonces, saber programar realmente es:
- Haber creado suficientes soluciones para tener de dónde hacer copy-paste más adelante.
- Ser muy bueno buscando en Internet.
- Tener, o haber desarrollado, un gusto por enfrentar y resolver problemas.
- ¡Ser optimista! El programador necesita creer que va a poder solucionar el siguiente problema.
- Seguir aprendiendo con cada problema.
¿Cómo aprender a programar?
Muchas personas creen que si alguien les explicara paso a paso podrían aprender a programar. Pero es posible que el mismo Brendan Eich (creador de JavaScript), o Yukihiro Matsumoto (creador de Ruby), te explique por horas y horas cómo se programa, y que después no seas capaz de resolver los problemas más básicos. Ahora, que el creador de JavaScript o de Ruby te enseñe puede ser es una inspiración para querer aprender. Y en el aprendizaje la inspiración es más importante que la enseñanza. Una persona inspirada es una persona motivada a aprender.
Pero lo más peligroso de que a uno le “expliquen” cómo programar (presencial o virtualmente) es que uno siente que está aprendiendo. Todo se ve tan fácil. Pero al momento de intentar hacer algo desde cero, es que uno se da cuenta que no es así de fácil, y muchos lo dejan de intentar en ese punto porque creen que no sirven para eso y que ellos son los del problema.
Es cierto que para aprender a programar hay que conocer la tecnología y las herramientas. Pero eso es la parte más fácil, eso se encuentra en Internet. Lo difícil es encontrar problemas que estén justo por encima de tus habilidades actuales, que te obliguen a buscar en Internet, a salirte de tu zona de comfort. Y de esa forma ir creando código del que vas a poder hacer copy-paste después para crear soluciones cada vez más complejas.
No intentes “aprender a programar“, esa meta es una ilusión, es como “querer ser feliz“, es decir, ¿qué significa eso?. Al igual que la felicidad, saber programar es una actitud, una mentalidad.
En vez de intentar “aprender a programar”, enfócate en solucionar un problema a la vez. Con cada problema vas a ir aprendiendo y mejorando tu habilidad, no importa si lo logras resolver o no.
Inspírate. Busca tutoriales en Internet. No importa que no entiendas todo lo que estás haciendo, eventualmente lo harás.
Busca o crea comunidades de aprendizaje. Asiste a charlas de programadores. En Meetup encontrarás grupos de varias de las tecnologías más populares que se reunen cada mes. Busca conferencias e intenta asistir. De nuevo, no importa que no entiendas todo lo que dicen, pero eso es parte de la inspiración.
Por último, no esperes que alguien te “enseñe” a programar. Aprópiate de tu aprendizaje, investiga por tu cuenta, y busca alguien que te guíe y te pueda solucionar las dudas cuando surjan.
En Make it Real hemos creado un programa para que desarrolles las habilidades que necesitas para crear tus propias aplicaciones Web, con retos que se autoevalúan, mentores en línea, y una comunidad para que conozcas y programes con otros alumnos.
Descarga gratis el e-book
Conoce la mentalidad, los roles y las tecnologías que debes saber para convertirte en desarrollador Web.
Descargar e-book