Ocurrencia: El despertar de los programados

Ayer estaba viendo el programa de titulado “¿Dónde está la pasta?” sobre la evasión de capitales y el abuso del sistema de especulación financiera sobre las personas de todo el mundo y se me vino a la imaginación una imagen ciertamente utópica: todos los programadores del mundo, a la vez y sin excepción, desconectaban y destruían todos los sistemas informáticos que dan soporte a esas prácticas. Así, en apenas unos minutos, todos aquellos que basaban su poder en las anotaciones bancarias o en los apuntes en una contabilidad de activos intangibles (¿otro oximorón?), sin más, lo perdían todo y se tenían que conformar con aportar valor real a la sociedad.

Es una ocurrencia un tanto infantil, lo sé, pero escuchad lo que Douglas Rushkoff dice sobre la necesidad de que adoptemos un papel más activo en la sociedad, entendamos las reglas que lo mueven y abandonemos esa actitud pasiva que nos lleva a no ser libres.

Máster Kschool en Desarrollo Web Ágil

Máster Kschool en Desarrollo Web Ágil

Ya os conté hace unas semanas que estoy dirigiendo, junto a y , el primer Máster Kschool de Desarrollo Web Ágil. Bueno, le hemos cambiado el título un poco (antes era Máster en Programación Web) porque desde Kschool nos han aconsejado reforzar en el nombre todo lo que se refiere a “desarrollo” y “ágil” para así evitar que se piense que es un máster donde sólo se enseña a programar, que también… y mucho. En cualquier caso, la esencia y los contenidos siguen siendo los mismos.

Si echáis un vistazo al programa del máster, veréis que hay mucho de programación, donde los alumnos aprenderán a programar con el que yo creo que es el mejor profesor ahora mismo en España: Enrique Amodeo.

Enrique empezará asentando conceptos de programación orientada a objetos, SOLID y demás con un lenguaje actual, sencillo y potente: Ruby. Luego aumentará el nivel de exigencia, con Javascript, claro. Siempre con TDD, por supuesto. :-)

Antes de meternos en más faena, ya por Febrero, hablaremos del ciclo de desarrollo de software, las herramientas que nos ayudan (nuestro ecosistema) y qué papel jugamos los programadores ahí.

Llegados a este punto pondremos el primer gran reto a los alumnos. Trabajar en un proyecto. Pequeño pero matón. Para poner en práctica todo lo aprendido hasta el momento. Pero nada, un par de semanas y Enrique tendrá “su momento” REST, CQRS y demás conceptos de arquitectura web que debe conocer cualquier desarrollador con el nivel Kschool que buscamos. E igual que hay que conocer esos conceptos, los alumnos tendrán que practicar con Ruby on Rails de la mano de nuestros amigos de . Lo suficiente para tener un punto de anclaje a partir del cuál ya poder seguir solos.

Esto nos situará ya en Marzo. ¡Cómo pasa el tiempo! ¡Y aún queda lo mejor! Agilismo. En un fin de semana les pondré las pilas sobre los conceptos fundamentales y los dejaré a punto para que Enrique arranque cucumber y los ponga a automatizar los criterios de aceptación de las historias de usuario de aquel proyectito que hicimos unas cuantas semanas antes.

Pero claro, estando en Kschool y siendo un máster de desarrollo web, está claro que había que hablar de UX; y tendremos el lujo de que nos explique mucho de lo que sabe sobre cómo hacer aplicaciones web realmente usables y cómo encajar eso en nuestro proceso de desarrollo. Lógicamente nadie saldrá, después de un fin de semana con Ricardo, sabiendo todo lo que él sabe, pero sí al menos sabiendo dónde hay que complementar nuestras carencias como desarrolladores individuales y dentro de un equipo.

Y al final llegaremos a la parte que más me gusta de este máster. Durante cuatro semanas los equipos que se formen tendrán que desarrollar un proyecto como si estuvieramos en “el mundo real”. Eso sí, usando Scrum. Haremos iteraciones, tendremos un product backlog, nuestras demos, retrospectivas… en fin, todo lo que se necesita para llevar el proyecto a un buen puerto e ir corrigiendo de manera ágil.

Y si todo esto que os he contado ya no os resulta suficientemente interesante, además tendremos  la visita de Xavi Gost, que facilitará un coderetreat, y de David Bonilla, que nos hablará del ecosistema de herramientas de Atlassian. Y como final de fiesta… un hackathon y, si el tiempo acompaña, una barbacoa en la terraza de Kschool. :-)

¿Objetivo de este máster? Nosotros lo sabemos, lógicamente, pero quisiera hacer un experimento… ¿cuál creéis vosotros qué es el objetivo de este máster? ¿Qué tipo de salida profesional tendrán los alumnos que salgan de un máster como el que os presento? ¿Qué preguntas debe saber responder un profesional que haya aprovechado este máster?

Las claves de un buen programador

Me preguntan mis compañeros de KSchool, con los que estamos presentando estos días el Máster en Programación Web, que cuáles son las claves de todo buen programador. Y me piden que sea escueto… así que escribo este post y luego sintetizaré para ellos. :)

Para empezar aclaremos la pregunta. ¿Las claves de todo buen programador? ¿Quieres decir las claves para identificar a un buen programador? ¿O las claves para convertirse en un buen programador? Bueno, en realidad están tan relacionadas que viene a dar lo mismo.

Fijémonos en el perfil en LinkedIn de uno de los programadores en activo más reconocidos por todos: Kent Beck, nacido en 1961 y que usa el nada adornado título de Programador en Facebook para explicar a qué se dedica actualmente.

My goal is to program well on teams and to encourage improvements in my profession. I am actively working on becoming more transparent and accountable in my work and improving my skills designing incrementally and interacting with people.

Un buen programador, como Kent Beck, además de saber leer, escribir y hablar en inglés —cosa que para los españoles resulta ya un reto a veces insalvable— y de tener maestría sobre los lenguajes y herramientas más adecuados para cada tarea, como cualquier otro artesano, debe tener una actitud de autoexigencia. En mi opinión, un buen programador llega a ser buen programador porque se lo propone y trabaja mucho para conseguirlo. Aquello que decía Edison sobre el sudor aplica en este punto.

Pero si nos quedaramos ahí no estaríamos atendiendo a otra de las claves que incluye Beck en su perfil: Transparencia y Responsabilidad. Sólo siendo responsables de nuestros actos profesionales llegamos a ser en general buenos profesionales y en particular buenos programadores.