Una nueva época para el desarrollo

Hace unos meses, Tarek Ziadé ha escrito un ensayo muy interesante en su blog: A new development era. El resumen es: las tecnologías web (HTML5/JS) están ganando espacio e importancia a la hora de construir aplicaciones complejas en cliente (escritorio, navegador, teléfono, tablet) mientras que el servidor se está convirtiendo en un proxy a servicios ligeros con los que el cliente interactúa.

2000_2012 2015_

La lectura de este post me cogió en un estado mental propicio para empatizar, ya que llevaba varios meses construyendo una aplicación Javascript con Backbone que tiraba contra servicios JSON hechos en python/pyramid. Pasada la emoción inicial por verme reflejado en el post, me he dado cuenta de que la idea está más extendida de lo que yo creía: no son sólo los early adopters ya, sino también los big players de la industria de escritorio los que permiten hacer aplicaciones javascript (WindowsGNOME) e ¡incluso la vieja guardia dedicada a construir aplicaciones java en servidor! Quizás sea una nueva vuelta del péndulo. Quizás, que la promesa de aplicaciones multiplataforma que funcionan en múltiples entornos es atractiva. Lo que es seguro, es que la siguiente hornada de aplicaciones se harán de esa manera.

A new development era

Tarek Ziadé has posted a few months ago an interesting essay on his blog: A new development era. Summing up: web technologies (HTML5, JS) are gaining importance to build complex apps in the client (whatever it is: desktop, browser, phone, tablet) and the server side is becoming a proxy of lightweight services to interact with.

2000_2012 2015_

The post resonated with me due to the fact that my work during last months was to build a rich client app in Javascript with lightweight JSON services built in python. But, as far as I’ve seen it, this tendency is more spread than I thought: it’s not only happening within early adopters, but also within big players in the desktop realm (Windows, GNOME) and the old-school java server applications. Maybe is a new swing of the pendulum, or just that the promise of cross-platform apps that just work in multiple environments is appealing. What is certain, is that the next million apps seems to go towards that tendency.

Beck and Cunningham

Con Alan Kay inicié una serie de entradas sobre pioneros de la informática. Referentes de los que uno lee o descubre algo. Hoy continúo con Kent Beck y Ward Cunningham.

Kent y Ward crecieron con el SmallTalk de Ingalls y Kay. Me aventuro a pensar que su temprano contacto con este lenguaje pionero influyó en cómo se aproximaron después a la programación. De algún modo son sus discípulos y representan la segunda generación de ingenieros informáticos de la historia. Ambos han tenido un papel relevante en los principales temas de los 90 en el desarrollo de software: los patrones de diseño, la orientación a objetos y la emergencia de las metodologías agile en la gestión de proyectos.

Por todo ello, a pesar del pesimismo de Kay, yo creo que esta generación sí tomó su relevo:

«I think one of the things we liked the most about Smalltalk was not what it could do, but the fact that it was such a good vehicle for bootstrapping the next set of ideas we had about how to do systems building.»

— Alan Kay

La génesis de los patrones de diseño

La referencia al término patrones de diseño en programación más antigua se le atribuye a Ward y Kent, que la presentaron en OOPSLA 87: Using pattern languages for Object-Oriented programs. El concepto de patrón lo toman prestado del mundo de la arquitectura:

«Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.»

— ChristopherAlexander

Una vez planteado el problema en la OOPSLA, los siguientes años son frenéticos. Mucha gente trabaja en los patrones. Las siguientes conferencias tienen multitud de referencias a ellos. La idea flota en el ambiente. Uno tras otro van acumulando conocimiento, a hombros de gigantes. Su extensión fue meteórica, apenas 7 años después de que Beck y Cunnigham lanzasen el guante, la GoF (Gang of Four) tenía publicado su libro canónico. Estábamos en el peak del movimiento:

En paralelo a todo ello, Ward y Beck se convierten en una referencia en el mundo Smalltalk que inaugura la moderna orientación a objetos. Para aquellos que deseéis apenas catar lo que fueron esos años, ese maravilloso caldo de cultivo de las ideas, os recomiendo que leáis este artículo: History of patterns.

Maverick, de Ricardo Semler

maverickMaverick es un repaso por las vicisitudes que Semco ha pasado desde que Ricardo Semler tomó las riendas de la empresa en 1980 hasta 1995, momento de publicación de libro y cuando ya era uno de los mayores ejemplos internacionales de democracia empresarial.

Probablemente en Managing without managers [PDF], artículo publicado en 1989 en la HBR, se destilen los principios básicos de la gestión en SEMCO. Y en Leading by omission, vemos un Semler cómodo en la platea. Si te han gustado ambos pero te has quedado con ganas de más, deberías leer este libro. Cada capítulo es una historia que, de algún modo, representa el nacimiento de la nueva SEMCO. No faltan momentos tensos: huelgas, despidos, corrupción, etc a los que toda empresa se enfrenta. Y esa narrativa de cuento, de historia, que destila todo el libro es lo que le da valor por encima de cualquier paper.

Managers not MBAs

«If people want to be managers, there’s a better route to it: get into an industry, know it, prove yourself, get promoted into a managerial position and then, go to a program that uses managerial experience explicitly not other people’s cases, but your own experience.»

— Henry Mintzberg, on MBA education. In a debate with Ricardo Semler.