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.

#debate10: Una oportunidad para una nueva cultura

En apenas unas horas estaré en un evento al que me han invitado a partir de mi aportación al debate que surgió del artículo de Enrique Dans sobre “el programador perdido”. No tengo muy claro qué ocurrirá esta tarde pero tengo la esperanza de encontrarme con gente que será capaz de escuchar y colaborar para generar ideas que nos permitan mejorar el dichoso modelo productivo español. No estarán todos los que son, pero espero que sean todos los que estemos. Por eso quiero dejar una declaración de intenciones y pediros que si estáis por twitter esta tarde, echéis un vistazo a y participéis en el backchannel o incluso que os acerquéis a participar en persona. Gracias.

Tengo 43 años y pertenezco a una generación que ha ido al cole público, instituto público y luego a la universidad pública y, como se esperaba de mi, luego he ido a un trabajo por cuenta ajena. Mis padres, sin embargo, pertenecen a una generación muy diferente. Apenas fueron al cole y pasaron hambre. Todo lo que tienen lo han conseguido a base de esfuerzo. Mi padre incluso emigró, como ahora hacen otros muchos, a Alemania para mejorar. Volvió sin conseguir el prometido Eldorado y trabajó siempre por cuenta ajena. Mi madre, sin embargo, se quedó y siguió ayudando a sus padres vendiendo leche de sus vacas y verduras que ellos mismos cultivaban. Con el tiempo, mi padre y mi madre se casaron e incluso tuvieron hijos (entre ellos yo, claro). Lo que nos salvó el culo de las varias crisis económicas que hemos vivido ha sido siempre el carácter emprendedor de mi madre. Nunca, repito, nunca nos salvó la presunta seguridad del trabajo fijo de mi padre. Pero curiosamente, mi madre, ayer mismo, me decía: “hijo, parece mentira que un informático como tú no tenga un trabajo”. :)

Lo que quiero decir es que “el sistema” ha ejercido una gran presión cultural sobre el emprendedor. Por alguna razón, el emprendedor no ha sido nunca visto como alguien importante en nuestra sociedad. Hemos, como sociedad, admirado a los grandes especuladores capaces de tener sonoros éxitos. Les hemos llamado empresarios, para distinguirlos de los que sacaban adelante su negocio. No hemos valorado, incluso hemos despreciado a estos últimos.

Yo vengo desde hace unos años trabajando para acabar con esa cultura de la mediocridad y la especulación que sólo beneficia a unos pocos, que nos aliena y nos hace creer que sólo es posible crecer como persona y como profesional dentro de grandes granjas llamadas factorías. Por suerte, con iniciativas como agilismo.es hemos podido despertar algunas conciencias y muchos ya se pusieron en marcha. Esos son los que hoy organizan iniciativas que superan con creces lo que se nos podría haber ocurrido a Xavi Gost y a mi. Katayunos, merendojos, 12meses12katas, Solveet… programadores que se reunen alrededor de una idea muy simple: compartir para mejorar. Lejos de ese egoísmo del “no vaya a ser que otro aprenda lo que yo y destaque por encima de mi”, los programadores que están abrazando esta nueva cultura sacan tiempo de su tiempo libre para regalar lo que saben a otros, porque estamos convencidos de que es la mejor manera de crecer y curar este sector que está tan enfermo. Hay muchos que, en plena crisis, abandonan su puesto seguro y bien pagado porque buscan ser felices… libres… Igual no son “el programador perdido” que busca Enrique Dans, pero seguro que son el eslabón necesario.

Estamos ante un choque cultural, necesario, deseado, pero podemos quedarnos parados a ver qué pasa o podemos avivar el fuego y facilitar que ocurra cuanto antes. Yo estoy en esta segunda opción. Yo estoy en participar de la revolución, porque aunque no obtenga ningún beneficio directo por ello, estoy convencido de que lo obtendré indirectamente porque pronto estaré en un sector mucho más sano, donde los clientes valorarán mi trabajo y participarán de la creación de productos realmente valiosos. Yo quiero estar ahí y por ello trabajo cada día.