¡Muy buenas, peña! Qué gran pregunta la que abre el título de esta entrada del blog: ¿Cómo aprender programación?.
Hace unos años yo me la hice una y otra vez cuando empecé a interesarme por ir más allá en el mundo de la informática y la tecnología. Y es que empezar a programar es sin duda alguna una de las tareas (siempre voy a hablar a título personal) más complicadas con las que he tenido que lidiar a nivel profesional. Pensemos en la programación como un conjunto de ordenes que le damos al ordenador para que este haga lo que nosotros queramos. Claro, ojalá nosotros pudiéramos hablarle directamente en nuestro idioma y que el cacharro nos entendiera a la perfección, pero ya sabemos que eso no funciona así. Para realizar esta misión nos ayudamos de los lenguajes de programación, cada uno con sus diferentes funcionalidades, pero lenguajes y «ordenes» que al fin y al cabo cumplen lo que nosotros queremos: que el ordenador nos entienda.
Con la programación podremos conseguir cosas increíbles, tan increíbles como crear cualquier cosa de la absoluta nada.
La programación es un ejercicio mental de abstracción en el que la creatividad fluye a chorro sin parar. Evidentemente hay puestos y puestos de trabajo donde deberás desempeñar una labor determinada, pero una cosa tengo clara desde los poquitos meses que estoy en el sector, y que es siempre aprenderás algo nuevo todos y cada uno de los días. Y eso, si sois curiosos, es magia para el cerebro. La curva de dificultad al empezar a programar es cómo un muro para casi todo el mundo, posiblemente de las más complicadas que existan para desempeñar un trabajo. No en vano el periodo de prueba de las empresas del sector suele rondar los 6 meses.
Las empresas durante el primer año, por así decirlo, saben que tu capacidad productiva está muy mermada por la inexperiencia o por, simple y llanamente, el adoptar las prácticas y entender los aplicativos y procesos abiertos de la empresa donde trabajes. Todo esto os lo explico porque lo he vivido y vivo en mis propias carnes cada día que me levanto y aprendo más del sector.
Con esta entrada, enfocada para aprender programación, quería ayudaros a haceros este camino más fácil. Aprender a programar requiere un tiempo muy valioso, y es muchísimo más efectivo y «rápido» el camino si dispones de buenas fuentes de las que beber. Para ello he estado perfilando una hoja de ruta a lo largo de los últimos años, seleccionando aquí y allá a los que creo que son los mejores formadores que hay en Internet. Gente con experiencia que trabaja de esto y, por una inversión muy pequeña, todo el material que ofrecen a cambio es acojonantemente bueno.
Cómo empezar a programar con Platzi y su «revolución» de la enseñanza online
Quizás decir «revolución online» sea un tanto ambicioso. Antes de Platzi ya existían plataformas como Udemy o Coursera, lo que sí creo que ha revolucionado Platzi es la enorme importancia de su comunidad. En una empresa en la que trabajé usábamos Platzi para la formación en diferentes tecnologías, y me he dado cuenta del enorme poder que tiene sobre el aprendizaje una comunidad bien cohesionada.
Actualmente yo estoy cursando allí la Escuela de Javascript y es espectacular la cantidad de información de interés que comparten muchísimos de sus usuarios. Entre sus precios destacan sus 34 euros mensuales o 249 euros anuales. Aquí podrás ver sus planes. Y aquí podréis acceder de una manera totalmente gratuita a su nuevo curso de Programación básica para los que no tengáis ni idea de que es esto de la programación. La calidad de este curso es una verdadera pasada y os puede dar una idea de si esto os gusta o no. Yo no dudaría en probarlo.
Aprender programación gratis: los mejores recursos
Hay programadores con un afán divulgativo espectacular, en sus canales encontraréis desde cursos completos de tecnologías concretas, trucos para programar mejor, como un montón de información de interés por si aún estáis dudando en si dar el paso a este apasionante mundo. Si tuviera que quedarme con unos canales muy buenos de informática serían estos:
- Midudev (Fullstack con base en JavaScript)
- Fernando Herrera (Fullstack, Flutter)
- BettaTech (Arquitectura de sistemas, Backend)
- Brais Moure (Aplicaciones móviles iOS)
- AristiDev (Aplicaciones móviles con Android)
- Carlos Azaustre (Fullstack con base en JavaScript)
- Hector de León (Backend con .NET)
No me gusta tener que elegir entre tan buena gente, pero si no me quedara otra, y esto es una opinión personal debido a lo que yo quiero conseguir -ser un buen programador full stack con base de Javascript- sería con Carlos Azaustre y Midudev.
También con los cursos de la escuela de DevTalles de Fernando Herrera (el de Javascript Moderno y el de React son la creme de la creme).
Si queréis aprender Javascript y React desde cero, sin tener ni idea de absolutamente nada de programación, Midu tiene una serie de vídeos haciendo un Bootcamp de programación de la universidad de Helsinki totalmente gratuito. Os dejo el primer vídeo de su lista de reproducción.
Si, por el contrario queréis especializaros en programar aplicaciones para el móvil, Brais Moure tiene un material buenísimo muy orientado a iOS.
También Aristidevs si queréis optar por Android.
En cambio si queréis aprender a desarrollar aplicaciones móviles sin programar nativamente en las tecnologías de iOS (Swift) o Android (Kotlin), Fernando Herrera tiene un curso de Flutter de gran calidad.
Lo más importante de todos estos programadores es la increíble capacidad que tienen de crear comunidad, ya sea a través de sus cuentas de Twitter o sus canales de Discord. No dudéis en seguirlos.
Aprender a programar en Udemy… ¿sí o no?
Con Udemy tengo sentimientos encontrados. Fue la primera plataforma que utilicé para empezar a aprender programación antes de embarcarme en el Ciclo Superior, creo que tiene buenos formadores como Fernando Herrera (que además de su academia DevTalles también tiene cursos en Udemy) pero la comunidad no está tan unida como en Platzi y es más complicado tener un buen road map de aprendizaje. Es muy importante saber seleccionar al formador adecuado. Podéis fijaros bien en la relevancia de los cursos y la puntuación de los usuarios.
Creo que una base sólida para empezar a practicar por vosotros mismos y empezar a crear vuestras propias aplicaciones poniendo en práctica lo aprendido es importantísimo. No sirve de prácticamente nada hacer un curso de programación y no practicar después, se olvidarán las cosas muy rápido. Pensad en un idioma que estáis aprendiendo… ¿Qué ocurre sino lo habláis y lo ponéis a prueba?
Animaos, ya sea solo para sentiros bien con vosotros mismos cuando os empiecen a salir vuestras primeras cosillas.
Entendiendo la programación web
Para entender la programación web, tenéis que familiarizaros con el vocabulario del sector.
Cuando escuchéis o leáis hablar de un «Programador Frontend» esto se refiere a aquel profesional que se encarga de la parte «visual» de la programación, lo que finalmente ve el usuario en su pantalla.
En cambio un «Programador Backend» se encarga de la lógica de negocio detrás de todo lo que el usuario ve. Cuando un usuario pulsa en un botón, o clica en un enlace y estos datos se comunican con una base de datos alojada en local o en un servidor, empezamos a hablar de back.
Hay un canal de Youtube muy chulo que se llama Absolute, que explica la programación con algo que a todos nos gusta o por lo menos nos suena: Minecraft. Su labor divulgativa es muy buena y encontraréis vídeos muy didácticos del mundo de la programación. Os dejo aquí uno de sus vídeos donde explica muy bien esto último que os comenté del front y el back.
Conclusiones: ¿es tarde para aprender programación?
Quizás ya tengas una edad avanzada y crees que no vas a poder aprender programación. O quizás piensas que aprender te va a coger grande aunque hayas terminado tus estudios recientemente. Déjame decirte que es normal, nuestra mente nos boicotea constantemente poniéndonos la zancadilla. Lo único que puedo hacer yo es animarte y alentarte a que te pongas metas, a que pienses qué software quieres probar que solucione un problema, que ayude a la gente que quieres o simplemente a la humanidad porque sí. En resumidas cuentas: que te generes una ilusión, una meta.
Ahora bien, una vez tengas claro lo que quieras conseguir (ya sea cobrar mucha pasta, ver a donde eres capaz de llegar, ayudar a los demás…), es momento de ponerse manos a la obra e ir aprendiendo poco a poco con las frustraciones inherentes a este proceso.
Es NORMAL, nos pasa a todos, incluso el senior más experimentado nunca deja de aprender. Lo que a mí me parece de vital importancia es tener claro tu foco, que tus valores se alineen a tu proceso de aprendizaje. Que desgranes tu meta en problemas pequeñitos que vayas resolviendo y así, poco a poco, con el paso de los años te acercarás más a la visión de la persona y el profesional que quieres ser.
¡Mucho ánimo!