El plan

Como han podido comprobar este último par de días he estado desconectado del blog; tengo por una parte el trabajo, por otra los estudios y por otra el curso que les quiero recomendar hoy porque es excelente (y encima en español).

Sobre el trabajo: después de haberme quedado fuera de la carrera por el empleo en la multinacional que les había comentado se lo dije a mi profesor, y en la clase siguente me dio un teléfono y me dijo "llama a este número para otro trabajo". Allí mismo lo hice, envié mi currículum, me llamaron al día siguiente para la entrevista y ya estuve hablando con ellos. El puesto en sí es maravilloso y exactamente lo que yo estoy buscando ahora mismo (estaba hablando con el tipo y me alegraba por dentro de no haber continuado en el trabajo anterior para poder optar a este), aunque no creo que me llamen porque sé que tienen otros candidatos con experiencia y eso en este caso concreto es fundamental. Pero lo importante de todo esto es lo que acabo de descubrir: hay trabajo para programadores a patadas, si no te escogen en un sitio no pasa nada porque sabes que no tardará mucho en que te llamen de otro, y esto está creciendo a lo bestia y en todo el mundo. Si conocen a alguien que esté sin trabajo, que no sepa que hacer y que quiera meterse en una profesión sin paro y con un futuro cada día mejor, no lo duden y recomiéndenle meterse en esto.

Sobre los estudios: justo en este cuatrimestre me ha caído la desgracia de tener al peor profesor que he visto en mi vida. No solo ha batido todos los récords de vagancia, sino que no tiene la más mínima vergüenza y ha conseguido lo que yo pensaba imposible: que yo deje de estudiar al máximo y me esfuerce lo justo para aprobar por los pelos (y si suspendo casi me da igual, el año que viene repetiré la asignatura y espero que sea con alguien decente). El tío es tan caradura que solo nos ha dado una "clase": lo pongo entre comillas porque llegó sin haberse preparado el tema (y es la primera vez que da la asignatura), ni siquiera se había leído los apuntes (que tampoco son apuntes, son escaneos de un libro), y se pasó las dos horas leyendo en voz alta el texto y comentando lo que iba viendo con todos los alumnos bostezando y echando maldiciones. Después de ese primer día, y como debía parecerle mucho esfuerzo responder a preguntas que en realidad tampoco sabía, decidió ponernos exámenes siempre (no es broma, nos ha dicho que a partir de ahora y hasta fin de curso habrá examen todos los días) así que esta asignatura ahora consiste en que el tipo nos sube a internet los apuntes, nos los estudiamos en casa y en clase nos examina de esa materia. Mirándolo desde su punto de vista la verdad es que es brillante: tienes una asignatura nueva y difícil, y con este sistema tu trabajo consiste simplemente en escanear, elegir algún ejercicio del libro y cambiarle simplemente los parámetros para que sea el examen, y venir a clase a sentarte dos horas tranquilamente limándote las uñas mientras los alumnos se estrujan la cabeza para aprobar la prueba. En fin, en un sistema que premia a los mediocres el más mediocre siempre será el que viva mejor.

Y sobre el curso, atención que esto es bueno. El mundo de la informática es tan increíblemente amplio que por supuesto nadie sabe de todo y, o bien eres del tipo supermegaespecializado que solo sabe hacer una cosa pero esa cosa la dominas al máximo (y podrás trabajar en muy pocos sitios que necesiten a un especialista en justamente lo que tú haces, pero esos sitios pagarán lo que sea por conseguirte) o bien eres un todoterreno que sabe un poquito de todo y, aunque el 99% de los casos te vas a encontrar con cosas que no conoces, tienes una base general suficiente para que cuando se te presente algo nuevo te pongas a mirar algún curso rápido o a mirar en Google y en poco tiempo serás capaz de salir del paso y completar el trabajo. Si eres del primer tipo probablemente te tendrás que mudar a algún sitio donde haya una empresa que busque justamente tu perfil (normalmente grandes compañías), si eres del segundo tipo no ganarás esos supersueldazos pero podrás irte a donde quieras, cambiar de empleo cuanto tú quieras, y tendrás garantizado que donde quiera que estés dos calles más abajo habrá una fábrica de repuestos de coches, un hotel, una asociación de comerciantes o una cadena de restaurantes que necesite a un tipo que les lleve la parte de ordenadores. O bien una empresa que se dedique a eso y que necesite a gente para atender a todos sus clientes.

En cualquiera de los dos casos hay que empezar por esa base, y eso es lo que les voy a recomendar hoy. Para aprender a programar tienes que saber dos cosas: qué contenido tienes que decirle al ordenador, y en qué lenguaje se lo vas a decir. Es como si un extraterrestre viene a la Tierra y no sabe comunicarse con nosotros: hay muchos idiomas que puede elegir, pero lo primero es saber cómo pensamos los humanos para saber qué conceptos y qué ideas nos va a transmitir de una forma concebible para nuestro cerebro y que podamos asimilar. Si el extraterrestre no percibe los colores, ni el calor, ni la luz, y solo percibe (por ejemplo) radiación cósmica, ¿cómo va a decir que hoy hace un bonito día y la temperatura es agradable? No tiene ni idea de que existe el concepto de "día", no tiene ni idea de lo que es "bonito", y no sabe qué es la temperatura.

Con los ordenadores es igual. Tú a un ordenador no le puedes decir "hazme una web con flores para poner fotos de mi novia", porque aunque conocieras el lenguaje estás hablando de cosas que la máquina no sabe qué son. Así que la manera habitual de aprender a programar es elegir cualquier lenguaje, y empezar a aprender los conceptos básicos usando ese lenguaje (como si el extraterrestre empieza a aprender lo que es la temperatura al mismo tiempo que se lo explicamos en español). El lenguaje concreto que hayas elegido no es muy importante, porque de todas formas con los años van surgiendo nuevos y las modas van cambiando, y lo que importa es que entiendas los conceptos y "sepas programar" y luego ya aprenderte que esto se dice con unas palabras o con otras es lo de menos.

Bien, en mi opinión (personal) y por lo que he visto, la mejor opción para aprender a programar hoy (2017) es usando un lenguaje de programación que se llama javascript. El javascript es como el inglés de la programación: es bastante fácil de aprender, con él tienes los fundamentos de "saber programar" que te van a servir para aprender cualquier otro lenguaje si quieres, y encima javascript es el único "idioma" en el que te van a entender en cualquier sitio: puedes hacer webs, apps para Android y para iPhone, y programas para Windows, Mac y Linux. No hay otro igual.

¿Y dónde empezar a aprender a programar usando javascript? En una web que se llama Codecacademy tienen un excelente curso desde cero absoluto, y está en español:


Salvo los botones de abajo que no los han traducido (pero que como ven son una tontería), todo lo demás está en español y es facilísimo de usar. Yo me he entretenido la última semana haciéndolo -la versión en inglés- para repasar y porque necesito refrescar la base para un proyecto de software que pienso hacer este verano, que usará javascript y que por cierto tendrá web, app móvil y programa de escritorio. Todo sin salirme de javascript, para qué complicarme la vida.

La verdad es que ahora mismo no tengo ni idea de qué va a ser de mi vida (esto me lleva pasando siempre), pero creo que aprender a programar en general y en concreto estar realizando estos estudios de desarrollo de software ha sido la mejor idea que he tenido en mucho tiempo. Si les digo la verdad ahora mismo los estudios me "molestan": ya he conseguido llegar al punto en que no necesito a mis profesores para aprender lo que me haga falta (y menos al vago de ahora), puedo crear cualquier cosa en cualquier formato, e incluso ya estoy teniendo posibilidades para trabajar sin tener siquiera el papelito del diploma.

Hace poco estaba leyendo un artículo sobre gente que dejó los estudios para enfocarse en sus proyectos (Steve Jobs para Apple, Mark Zuckerberg para Facebook, etc) y pensé que realmente les entiendo: tengo en la cabeza tres proyectos concretos de software que me gustaría hacer, pero todo el ruido que tengo alrededor no me deja centrarme en lo que me interesa y no hago más que "perder el tiempo" (es un decir) estudiando para el próximo examen de mierdas que ya no me interesan o enfangado en problemas improductivos. Me gustaría hacerlos los tres y creo que serían muy buenos (a ustedes les van a encantar, ya verán), pero soy un viajero y no quiero atarme a nada por genial que sea. Voy a acabar los estudios porque rendirme no es una opción, dedicaré todos los recursos que pueda a mis tres ideas a ver cuántas de ellas puedo realizar, pero cuando pase esta etapa seguiré con mi vida sin mirar atrás. Quiero hacer cómics (cuando me seleccionaron para estos estudios tenía pensado justo al mes siguiente sacar el primero), quiero explorar otras vías artísticas o quizá estudiar algo relativo al diseño o la imagen... La vida es corta y nada vale lo suficiente como para hacer que me detenga por demasiado tiempo y deje de mirar adelante. Veremos.