Open Space. Código como Expresión.

Este fin de semana estuve en Valencia en el open space convocado por agilismo.es, que llevaba por nombre Código como Expresión. La verdad que hacía tiempo que me apetecía asistir a un open space exclusivo sobre código, además de volver a visitar Valencia, conocer un poco la escena de desarrolladores y ver las oficinas de beCode (aún tengo pendiente pasar unos días con ellos).

Finalmente fui desde Zaragoza con Miguel Ángel Baztan y Fernando Pérez, 2 de los habituales del grupo Agile Aragón. En el evento también había gente llegada desde Castellón, Madrid, Segovia... incluso Pepe que se pegó una auténtica paliza de viajes desde Santiago de Compostela. Entre unos y otros, estuvimos algo más de 30 personas.

A niveles generales, me gustó bastante el evento, salvo un par de detalles/sensaciones que tuve durante algunos debates. He intentado hacer un pequeño resumen de cada sesión, pero por el formato del evento y mi torpeza, no he sido capaz.

Tablón. Open Space Código como Expresión

¿De qué se habló?, en las conversaciones y debates que estuve yo:

  • De la (poca) expresividad de las APIs REST, aunque para exponer e integrar sistemas diferentes, hasta el momento, es habitualmente la mejor alternativa.
  • Del spaghetti code relacionado con el uso de javascript asíncrono y algunas buenas prácticas para mejorar ese código.
  • De lenguajes y paradigmas de programación (orientado a objetos, funcional, procedimental); y como conocer varias opciones nos hacen enfocar soluciones desde más puntos de vista.
  • De la nomenclatura y expresividad en los tests. De frameworks de testing tipo BDD para diferentes lenguajes.
  • De identación y comentarios en el código.
  • De herramientas: IDEs, editores, tableros tipo kanban, software para hacer pair programming...

Os dejo las fotos que ha publicado Emma del evento.

#Developars: Miriam Muros

-Preséntate en unas líneas: ¿Quién eres? ¿De dónde eres? ¿Dónde trabajas?…

Soy Miriam Muros (@miriammuros) y soy de Madrid. Siempre he vivido en Madrid aunque estoy deseando vivir en otros lugares. Ahora mismo dedico mi tiempo a diferentes proyectos propios. Soy freelance, desarrollando algunos proyectos propios que espero que vean pronto la luz, intento levantar un centro de coworking y en ocasiones hago de advisor para otros proyectos. Pero en mi curriculum están empresas como Tuenti y Grupo Prisa.

- ¿Desde cuando y cómo te picó el gusanillo de la informática?

Recuerdo tener un ordenador en casa desde siempre, y estar trasteando con el. Jugar a Prince of persia y siempre perder por lo que en los ratos que me aburría lo dedicaba a otras cosas. Pero a programar y a saber que realmente este era mi campo, a los 12 años, cuando realicé mi primera web! Y desde entonces ya sabía a que me iba a dedicar en el futuro.

- ¿Cual o cuáles son tus lenguajes de programación favoritos? ¿Razones?

Aunque mucha gente me critique por decir esto: php. Todo el mundo se mete con el porque no es un lenguaje estructurado, y blabla, pero se olvidan de que todas las grandes empresas de internet que han triunfado prácticamente todas tenían base en php y de echo, es de lo que más se pide trabajo… por algo será! y.. aparte de php, javascript ;) Soy una programadora web en toda regla!

- ¿Y tus herramientas habituales? (frameworks, librerías, IDE/editor, sistema de control de versiones…)

Netbeans, git, jquery, firebug, vi creo que no podría vivir sin estos cinco...

- Recomienda alguna lectura técnica que no nos deberíamos perder.

He de decir que no soy una gran lectora sobre todo de lecturas técnicas, me parece que no tiene mucho sentido leer un libro técnico de principio a fin, ya que realmente son manuales, y los manuales sirven para instruirte en los puntos que tu necesitas ;) pero… ya que me lo preguntáis… The pragmatic programmer

- Añade lo que quieras.

Invito a todas las chicas developars, a que entren en BetaBeers, es una reunión de programadores para hablar de programación y de proyectos que se realiza cada mes y están por casi toda España! Es muy interesante, e incluso ahora han empezado a hacer concursos de programación, y... me gustaría no ser siempre la única chica! :D

#Developars: Lucía Manescau

- Preséntate en unas líneas: ¿Quién eres? ¿De dónde eres? ¿Dónde trabajas?...

Soy Lucía Manescau García, tinerfeña de 31 años (aunque nací en Las Palmas de Gran Canaria, pero vivo en Tenerife desde los 3 añitos) e Ingeniera Superior Informática por la Universidad de La Laguna. Actualmente trabajo en GMR Canarias, una empresa pública de la Consejería de Agricultura, Ganadería, Pesca y Aguas, como analista desarrolladora en Java y jefa de proyectos.

- ¿Desde cuando y cómo te picó el gusanillo de la informática?

La verdad es que siempre me llamó la informática. Tengo incluso una curiosa foto a los 5 añitos frente a un ordenador, un MSX, que lo demuestra :), y recuerdo también, pocos años después, incluso hacer mis pinitos con el DOS. Pero la decisión final de estudiar informática llegó algo tarde. Curiosamente, hasta COU (sí, soy del viejo sistema, e incluso lo digo con orgullo jeje), estaba decidida a estudiar Bellas Artes, una carrera bastante diferente, lo admito. Pero cuando en COU nos llevaron a visitar las facultades, quedé prendada por informática, y en ese último año cambié de opinión y me matriculé en informática. Aunque los primeros años fueron algo decepcionantes (me faltaba verle la parte práctica), cuando empecé a hacer la Ingeniería Superior empecé a ilusionarme más y ,una vez trabajando, me di realmente cuenta de que la decisión había sido la correcta, hasta convertirme en una apasionada de mi trabajo.

- ¿Cual o cuáles son tus lenguajes de programación favoritos? ¿Razones?

Sin duda alguna, Java. Realmente me encanta trabajar con ese lenguaje. Me resulta muy práctica las posibilidades que da para la estructuración de los programas, para su modularización, me resulta muy sencillo en ese lenguaje entender la abstracción (lo cual en si puede parecer una frase algo rara, pero, no se por qué, en Java lo veo más claro que en otros lenguajes),... en definitiva, me siento cómoda y más imaginativa trabajando en Java. Además, otra gran ventaja que pienso que tiene, son la cantidad de frameworks y librerías que hay en ese lenguaje, la cantidad de colaboración que permite entre desarrolladores, lo cual, en los tiempos que corren, creo que es indispensable, pues ha quedado más que claro que el sistema completamente cerrado de "yo programo mis cosas y que nadie sepa como las he hecho ni pueda trabajar sobre ellas" ya no sirve (si hasta Apple, que siempre abogó por sistemas cerrados, tuvo que dejar abierta la posibilidad de que programas de desarrolladores externos se pudieran ejecutar en sus sistemas como el IPad, sería ilógico que otras empresas o desarrolladores siguieran pensando que los sistemas cerrados tienen futuro).

- ¿Y tus herramientas habituales? (frameworks, librerías, IDE/editor, sistema de control de versiones...)

Como IDE soy completamente fan de Eclipse, y especificando más, de MyEclipse (que vale que tiene la desventaja de ser de pago, pero siendo sincera entre uno y otro no hay color). En cuanto a frameworks me gusta mucho Spring, porque cubre una gran cantidad de necesidades del desarrollo y lo facilita muchísimo (el uso de anotaciones con Spring, desde que empecé a utilizarlo, me pareció una verdadera gozada :) ), además de permitir una muy cómoda integración con otras herramientas como JUnit a la hora de hacer los tests unitarios (aunque en este aspecto he de confesar que hace poco, gracias a una charla de Yeray Darias, conocí los Specs de Scala, y me han dado muchas ganas de ahondar más en ellos, pues me ha parecido que tienen muy buena pinta ). No me gustaría terminar este apartado sin nombrar por una parte Maven, que me parece una herramienta realmente genial y completa tanto para el tratamiento de librerías, como para empaquetar, deployar o publicar librerías propias; por otra parte Git como control de versiones pues, aunque el paso de SVN a Git cuesta un poco por tener que "cambiar el chip", la gran utilidad de poder controlar tus propios versionados, tus propias ramas, me encanta; y por último las herramientas de Atlassian (Jira, GreenHopper, Fisheye, Crucible), que pienso que facilitan muchísimo la organización de proyectos.

- Recomienda alguna lectura técnica que no nos deberíamos perder.

Si tuviera que recomendar alguna lectura, me decantaría por "Java Puzzlers", quizá no tanto porque enseñe en sí, ni desde luego por ser novedoso, sino porque te hace pensar un poquito más allá de aquellas cosas con las que te enfrentas diariamente como desarrollador, y te hace plantearte si a veces no nos adentramos lo suficiente en qué está haciendo realmente nuestro código. De todas formas, lo que realmente recomendaría como lectura es Google, y con esto me refiero a búsquedas continuas, a estar pendiente de qué es lo nuevo que sale, de qué nuevas posibilidades tenemos,... Desde mi punto de vista, más importante que "una lectura obligatoria", es no dejar de leer nunca.

- Añade lo que quieras.

En este apartado, en primer lugar, me gustaría darte las gracias Daniel por esta iniciativa de "developars", porque creo que las mujeres desarrolladoras en parte somos como las meigas, "haberlas haylas", aunque muchas veces estemos algo más escondidas, seguramente porque siendo sincera seguimos siendo minoría. Pero la pasión por la informática no tiene sexo, o la sientes o no la sientes :). Yo personalmente me siento afortunada por sentirlo, por disfrutar por mi trabajo, por que me nazca gritar un "ole, ole" mientras aplaudo cuando resuelvo un problema complejo, tengo una "idea feliz", pruebo un nuevo framework que me sorprende gratamente o veo un gran trabajo de un compañero. Sobre todo porque hace poco tuve una temporada algo de "bajón" de la que resurgí con ganas renovadas y con más pasión que nunca. De aquí ha salido mi twitter @luciamanescau (con el que aún me estoy peleando un poco :) ) y mi blog Renacer de una informática, que aunque aún esté en pañales, pues lleva poquito tiempo, espero que poco a poco vaya creciendo y madurando.

#Developars: Fátima Casaú

- Preséntate en unas líneas: ¿Quién eres? ¿De dónde eres? ¿Dónde trabajas?...

Soy Fátima Casaú Pérez, extremeña, de un pueblo de Badajoz llamado Talarrubias (lo tenía que decir). Me vine a Madrid a estudiar Ingeniero Técnico en Informática y antes de terminar empecé a trabajar en Salenda, dónde continúo. En Salenda he aprendido todo lo que sé sobre desarrollo de aplicaciones web sobre la plataforma Java y sobre todo, en Groovy & Grails, además de seguir de cerca el mundo del "agilismo". Pues a eso me dedico, al desarrollo de aplicaciones web, gestiono algunos proyectos en Salenda y algo de formación.

- ¿Desde cuando y cómo te picó el gusanillo de la informática?

Pues... no sabría decir, desde siempre me ha llamado mucho la atención, quizá más atraída por los sistemas aunque, en la universidad, y sobre todo al empezar a trabajar me diese cuenta de que lo que realmente me gustaba era el desarrollo.

- ¿Cual o cuáles son tus lenguajes de programación favoritos? ¿Razones?

Pues, en un principio Java y ahora, claramente Groovy, ya que te da toda la robustez de Java pero con una sintaxis mucho más sencilla e intuitiva lo que le da una gran potencia al lenguaje.
Por otro lado, JavaScript me gusta bastante por todas las posibilidades que da del lado del cliente, más cuando nos ayudamos de algunas librerías como jQuery.

- ¿Y tus herramientas habituales? (frameworks, librerías, IDE/editor, sistema de control de versiones...)

Cuando llego al trabajo, lo primero que hago es abrir el Chrome con el correo (Gmail), Hootsuite y Google Reader, para intentar no perderme nada, HipChat para comunicarme con todos mis compañeros, JIRA y GreenHopper para la gestión de los proyectos, y Confluence para guardar y compartir cualquier información relevante que lea o que haya que tener en cuenta para cualquier proyecto.
A la hora de desarrollar utilizo el IDE Springsource Tool Suite ya que, a día de hoy, se podría decir que es el mejor, gratuito, para el desarrollo con Groovy & Grails. Los frameworks y librerías, ya los he dicho, Groovy & Grails con todo lo que hay por debajo, Hibernate, Spring, Java.... también con JavaScript, con librerías como jQuery, YUI,.... HTML, CSS. Como sistema de control de versiones, utilizo SVN y como servidor de CI, Bamboo. Ah! y FireBug, no podría vivir sin él.

- Recomienda alguna lectura técnica que no nos deberíamos perder.

Groovy in Action :D Realmente yo leo más en blogs y twitter que en los libros.

- Añade lo que quieras.

Últimamente estoy muy interesada en el desarrollo de aplicaciones móviles, en HTML5 y CSS3.
Suelo estar presente en todos los eventos sobre TIC que puedo. También intento asistir a algunas reuniones de grupos locales como Madrid GUG (Madrid Groovy User Group), AUG Spain (Atlassian User Group of Spain) y MadridJS. En internet, me gustaría estar más presente de lo que estoy ahora mismo, pero me podéis encontrar en twitter @fatimacasau.

Por último, decir que estoy orgullosa de ser una de las pocas chicas con un perfil técnico en el mundo de la informática, aunque ojalá y fuéramos más.

#Developars: Rosa María Orellana

- Preséntate en unas líneas: ¿Quién eres? ¿De dónde eres? ¿Dónde trabajas?

Hola soy Rosa María, más conocida en el mundo virtual como @assoritam, acabo de cumplir 32 años soy de Perú, co-fundadora de PyhtonPeru, linuxera, amante del software libre y organizadora de eventos relacionados a las TIC. Actualmente trabajo en El Comercio empresa más importante de medios de mi País, dentro del equipo de Plataforma Digital encargado de desarrollar todas las aplicaciones y portales de la Compañía, actualmente encargada de velar por la arquitectura de los componentes de las plataformas y crear nuevas soluciones. Estoy en mi último semestre de la carrera Ingeniería Informática en la Pontificia Universidad Católica del Perú, mi tema de tesis esta orientada a Usabilidad/UX de aplicaciones web y en mis tiempo libres aun desarrollo.

¿Desde cuando y cómo te picó el gusanillo de la informática?

Desde muy niña siempre me llamó la atención como funcionaban las cosas electrónicas era, de armar y desarmar cosas. Luego comencé con los juegos en mi pc 486, luego quise averiguar como se hacían estos juegos y no entendía nada de niña, hasta que terminé la escuela y decidí estudiar informática. Aprendía más matematicas y físicas que otra cosa hasta que dejé la universidad, por n razones me puse a trabjar en lo que es ventas de aplicaciones web por el 2004/2005. Desde entonces me interesó hacer mejores cosas con la web, entré como practicante a esta empresa luego tuve un par de salidas, una por irme a trabajar a mi Universidad y otra por que quise implantar mi propia empresa. Luego decidí regresar a la Universidad conociendo mucho de lo que es web. Ahora que llevo los curso y ya estoy a punto de culminar, pienso que la enseñanza es muy baja, que fuera de ella aprendí más con mi laptop, el software libre, y el mundo de la web, que cada día avanza siento que todavía va evolucionar más y quiero conocer mejores cosas. Ahora vengo investigando todo lo que es web semántica.

- ¿Cual o cuáles son tus lenguajes de programación favoritos? ¿Razones?

Python, me ayudó a resolver problemas sumamente rápidos y con unas cuantas lineas de código, pienso que se puede enseñar con este lenguaje, sin necesidad de traumar a los alumnos de universidad con c++ , c o java.
Ruby, ahora estoy metiéndome mucho a este lenguaje, es bastante implícito de las cosas solo que cuando hay que meterle mano a las gemas de un framework es la hitoria, pero es divertido.
Php, por que aún sigue siendo el lenguaje que la mayoría conoce en mi País, y bien o mal nos resulta para hacer grandes portales web en la empresa donde trabajo.

- ¿Y tus herramientas habituales? (frameworks, librerías, IDE/editor, sistema de control de versiones…)

Django de Python,
PHP Unit
IDE vim / NetBeans para Ruby y Java
SVN GIT
RSPEC me parece fabuloso para Testing.
Firebug siempre me salva y me ayuda a entenderme con los CSS, javascript y jquerys.

- ¿Recomienda alguna lectura técnica que no nos deberíamos perder?

Online Python Tutor para aprender python, también Python Argentina me parece un buen tutorial para aprender python y Rails Tutorial para Ruby.

- Añade lo que quieras.

Quiero enseñar a más niñas a querer este mundo, me gustaría vivir sólo enseñando todo lo que aprendido y seguiré aprendiendo pero sólo a chicas, por una especial razón, se que aún es difícil mostrar que podemos aportar también en este mundo del desarrollo de software.
Te dejo mi blog con el último post que escribí en febrero: ¡ Jugar con Software No es para Niñas !