El fin de semana del 28 y 29 de septiembre se celebró en Barcelona el encuentro scbcn13, dedicado a temas relacionados con el movimiento de craftmanship en el desarrollo de software. El evento fue bastante constructivo, con ponencias muy instructivas y suficiente tiempo para llevar a cabo eso que nos gusta tanto: "networking" alrededor de comida...
La intención de este post no es tanto comentar mis sensaciones del evento, sino tener un sitio donde almacenar el resultado de una sesión que propuse en el Open Space de ese domingo por la tarde (y de paso cumplir la promesa hecha en el grupo de aprendices). Si no recuerdo mal, es la primera propuesta que hago en alguna convención de este estilo, y los nervios me bloquearon un poquito, como siempre (tímido que es uno). La titulé "hablemos de ... libros" y la presenté con un críptico "...mmm..., craftsmanship...conocimientos...hablemos de libros". Menos mal que el resto de asistentes son más listos que yo y entendieron perfectamente de lo que hablaba :-). Y muy sabiamente, Jaume Jornet hizo un comentario acerca de incluir otras fuentes de información, y así las incluí en la sesión.
El resultado fue este, lo que sigue a continuación es un listado de elementos con algunos de sus enlaces:
Libros
- Growing Object-Oriented Software Guided by Tests
- Structure and Interpretation of Computer Programs
- Software Craftsmanship: The New Imperative
- Diseño Ágil con TDD
- Object-Oriented Software Construction
- The Coding Dojo Handbook
- Test Driven
- Effective Unit Testing
- XP...
- Principios de diseño de APIs REST
- Test Driven Development (By Example)
- Rework
- The Passionate Programmer: Creating a Remarkable Career in Software Development
- Refactoring
- User Stories Applied
- Working Effectively with Legacy Code
- Clean Code: A Handbook of Agile Software Craftsmanship
- Clean Coder: A Code of Conduct for Professional Programmers
- Implementation Patterns
- Specification by Example
- Head First Design Patterns
- The Art of Computer Programming
- Succeeding with Agile: Software Development Using Scrum
- Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman
- The Pragmatic Programmer: From Journeyman to Master
- Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
- Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
Páginas web (blogs, foros, ...)
Autores
- Mateo Vaccari (web)
- Steve Freeman (web, twitter)
- Nat Price (web, twitter)
- Carlos Blé (web, twitter)
- Jason Gorman (web, twitter)
- J.B. Reinsberger (web, twitter)
- Robert C. Martin (web, twitter)
- James Coplien (web, twitter)
- B. Marick (web, twitter)
- A. Cockburn (web, twitter)
- M. Fowler (web, twitter)
- K. Beck (web, twitter)
- Mike Cohn (web, twitter)
Cursos
- Functional Programming Principles in Scala
- Algorithms, Part I
- Algorithms, Part II
- Software as a Service, I
- Software as a Service, II
Listas de correos
Mis sensaciones fueron bastante buenas, para ser la primera vez que facilito "algo" en un encuentro de este tipo. Evitamos hablar de tecnologías o lenguajes de programación concretos, y propusimos libros más genéricos y más orientados al tema del craftmanship e ideas que deberíamos conocer. Me gusto sobre todo que las aportaciones fueron bastante generosas, civilizadas y hubo tiempo para todo aquel que quiso aportar algo.
Alguna gente ha hecho comentarios acerca de elementos que faltan, como grupos de usuarios o podcasts, y esto enlaza con como me plantearía la próxima iteración de esta sesión.
La verdad es que creo que esta idea de compartir entre todos fuentes de información encajaría bastante bien en un radiador de información en cualquier evento de este tipo. Un tablero, bien para escribir con un par de rotuladores, bien para pegar postit encima, y que los asistentes vayan escribiendo durante los posibles momentos sueltos, y con un responsable de publicar los resultados.
Si lo hiciera en una sesión más formal, de 45-60 minutos, comenzaría definiendo bien el tema o temas en qué centrar la sesión, para evitar mucha dispersión. Otra regla sería que, como en un fishbowl, sólo puede hablar el que está presentando un elemento, y los demás deben esperar su turno para presentar su propuesta, y así evitar perdidas de información.
Posiblemente utilizaría un ordenador con su proyector, para, entre otras cosas, facilitar la futura difusión de las conclusiones de la sesión.
Imagino que irán surgiendo más ideas, espero poder ponerlas en practicas en un próximo Open Space.