Mi paso por Frontiers, retrospectiva

Después de casi 10 meses de trabajo y con la vista puesta en un nuevo reto profesional, me despedí de la familia Frontiers como SCRUM recomienda, en una sesión de retrospectiva el pasado 7 de mayo. En este artículo me gustaría comentarte, a modo de resumen, mi experiencia como miembro de este equipo.

¿Qué es Frontiers?

Cuando ví la oferta empecé a investigar, y pude ver que era una empresa suiza, con sede en Laussane, que llevaba desde 2007 y que se dedicaba a la publicación de artículos científicos. La idea de trabajar «para la ciencia» me llamó la atención y decidí intentarlo.

Luego descubriría que la idea no era solamente publicar artículos, sino crear una red social alrededor de los mismos para poner en contacto a investigadores y científicos, en lo que se llamó Loop, y que fue el proyecto en el que estuve involucrado desde que pisé las oficinas.

¿En qué se desarrolla?

Para la red social nos apoyamos en tecnologías Microsoft, contando con un stack que iba desde SQL Server para la base de datos hasta ASP.net MVC y Web API para el frontal, utilizando C# como lenguaje de desarrollo.

Teníamos además cosas chulas como Rabbit MQ para comunicar diferentes sistemas y de lado del navegador, Knockout como framework JavaScript, y QUnit para pruebas unitarias.

Todo esto se coordinaba con diferentes sistemas de integración contínua en los que automatizabamos el despliegue en diferentes entornos de integración y las pruebas. Todo esto, a su tiempo, se iba integrando hasta llegar al ansiado entorno de producción. Esta parte, he de reconocer, que me resultaba particularmente interesante :)

¿Cómo funciona?

Utilizábamos SCRUM como metodología de desarrollo, y sus diferentes «ceremonias», una reunión de planificación antes de cada iteración, demo para mostrar los avances realizados, retrospectivas, y la sesión diaria donde veíamos los avances, y qué nos impedía seguir adelante.

Los equipos estaban formados, además de por los desarrolladores, por una persona de negocio, un QA y un SCRUM master que velaba porque todo estubiera bajo control.

Sin embargo en Frontiers había algo que no contemplaba SCRUM, y eran las comunidades. Una comunidad era un grupo formado por miembros de cada equipo, en los que se tomaban decisiones técnicas que afectaran a todos, para lograr también una sincronización a nivel técnico.

¿Cómo es el día a día?

A excepción de los días en los que teníamos planificación o demo, en los que una buena parte del día se nos iba en reuniones, nos dedicábamos diariamente a escribir código para arreglar bugs o crear características nuevas, mover postits (tareas) a diferentes estados en un panel que teníamos en la oficina o diseñar arquitecturas escribiendo en las paredes, ya que estaban recubiertas por una pintura especial que lo hacía posible.

Todo esto en jornadas que transcurrían entre las 8 de la mañana y las 5 de la tarde, donde la energía la proporcionaba el café proveniente de una máquina Nespresso que nos daba el oscuro brebaje sin coste.

Tras de la jornada laboral, los había que se quedaban para jugar al fútbol en unos campos que había cerca de la zona, otros coordinaban el huerto que teníamos, otros participábamos en carreras populares, los había que esquiaban, en general se promovía un estilo de vida bastante saludable, cervezas mediante una vez al mes :)

Agradecimientos

Mi experiencia en Frontiers no habría sido la misma sin mis compañeros del equipo MadOne, Ángel, nuestro Scrum Master, Iván, Carlos, María, Quique, Axel, que nos dejó para ver mundo, Cristina, nuestra QA, Charlie, Ramón, nuestro Product Owner y Adrián, nuestro Lead Designer, con los que, codo con codo, nos enfrentábamos a bugs, tareas nuevas y adversidades varias.

Además, Paola y Giovanni de Recursos Humanos, siempre estuvieron pendientes del equipo durante mi estancia y de que estuviera cómodo desde la fase de entrevistas hasta el momento de mi salida de la empresa.

Otra mención a los runners, en especial a Felipe, por algunos tips & tricks para poder lograr correr mi primera 10k (por cortesía de la empresa, por cierto!).

Finalmente un agradecimiento a Victor Mendez y Tobías Abarbanel, los responsables técnicos de la compañía y de los cuales he aprendido muchísimo estos meses. Gracias por la oportunidad de haber formado parte de esta familia, me lo pasé en grande.

Por cierto, Frontiers sigue buscando gente.

Vídeo: ASP.NET vNext en 10 minutos

En este vídeo resumo tres de las características de las que hemos hablado en Hangouts y en eventos como los de MSCoders, que son el Core CLR, la inyección de dependencias y la configuración a través de ficheros JSON.

Para más artículos relacionados, puedes encontrar información con la etiqueta vnext de este blog.

Vídeo: Lo que viene con C# 6

En este evento tuvimos la ocasión de juntarnos varios entusiastas de tecnologías Microsoft para comentar lo que viene con la nueva versión de C# y Visual Studio 14, así como las novedades a nivel de compilador con Roslyn. Además tuvimos la posibilidad de contar con Syncfusion como patrocinador estrella, que ofreció una licencia de su producto Essential Studio Enterprise Edition a un asistente.

Tras una introducción a cómo poner a punto un Visual Studio 14 para empezar a jugar por parte de Juan Quijano (@jc_quijano) usando las máquinas virtuales de Azure, el ilustre Eduard Tomás (@eiximenis) y un servidor nos metíamos en harina para repasar algunas de las características que trae esta nueva versión del lenguaje.

Entre las novedades destacan la propagación de nulos, los constructores principales, o la inicialización de variables dentro de bloques, y por otro lado, de manera un tanto negativa también para los asistentes, de la importación de métodos de clases estáticas.

En el segundo bloque, de mano de Juan Manuel Servera (@jmservera) vimos cómo podemos extender las capacidades de Visual Studio a través de Roslyn, para agregar más capas o reglas a nuestro propio código, ofreciendo además la posibilidad de dar sugerencias a los desarrolladores, y todo esto en un paquete nuget que puede formar parte de nuestro código fuente.

Se avecinan tiempos muy interesantes en el desarrollo de IDEs.

Antes de terminar, no quería dejar de compartir algunas estadísticas del evento:

  • 10 +1s en la página del evento
  • 24 asistentes de máxima
  • 32 personas han visto el evento, de acuerdo con su estatus en la página de Google Plus.
  • 85 tweets (incluyendo retweets) con el hashtag #vienecsharp6, «oficial» del evento, de acuerdo con las estadísticas de Topsy
  • 108 visitas a la página del evento, de acuerdo con las estadísticas de Karmacracy.
  • 124 visualizaciones del vídeo en Youtube en este momento.

Finalmente, en el vídeo comentamos algunos enlaces que se muestran a continuación:

Muchas gracias a los ponentes por hacer el evento posible, a nuestro patrocinador por el apoyo y finalmente a todos los asistentes.

En el Gusenet 2014: Back to my Roots

El pasado fin de semana, los días 25-27 de abril, tuve la oportunidad de asistir por segunda vez, y como ponente, al que posiblemente sea el mayor evento de comunidad .net del año, organizado por el grupo de usuarios del sur y este de España de .net (g.u.s.e.net).

El lugar escogido era Torrevieja (400+ km desde Alcobendas) y estaba dividido en dos tracks. El primero, en el Palacio de la Musica de Torrevieja, y el segundo, en el bar El Palco, donde se expusieron las sesiones que podían generar (y generaron) debate.

Durante unas 60 horas aproximadamente, entre sesiones técnicas con ponentes de altísimo nivel y debates, acompañados de cerveza, agua, coca-cola, café, zumos, y copas varias, pudimos ver temas como:

  • iOS desde el punto de vista de .NET, por Eduard Tomás (@eiximenis)
  • Las novedades para aplicaciones universales con Windows 8.1 Update 1 y Windows Phone 8.1, por Josué Yeray (@JosueYeray) y Javier Suarez (@jsuarezruiz)
  • Wearables (Pebble, Kinect 2, Lego Mindstorms…), por El Bruno (@elbruno)
  • Google Glass (más wearables), por Pedro J Molina (@pmolinam)
  • Desarrollo para Firefox OS, por un servidor (@rlbisbe) ;)
  • Primer contacto con F#, por Alex Casquete (@acasquete)
  • Gestión de dependencias en apps web con Bower, por Alfredo Fernandez (@alfredodev)
  • Generando una API Rest con .net y en node.js mediante RadarC, por Pedro J Molina (@pmolinam)
  • Tablas en memoria con SQL Server 2014, por Enrique Catalá (@enriquecatala)
  • Los otros principios de Clean Code (además de SOLID), por Luis Ruiz Pavón (@luisruizpavon)

Y estas son solamente las sesiones a las que pude asistir, ya que había dos tracks en paralelo! Para algunas de las charlas me aventuré a hacer un resumen en formato «sketchnote», prometo ir mejorando con el tiempo.

APIs REST con @RadarC por @pmolinam
APIs REST con @RadarC por @pmolinam
Google Glass por @pmolinam
Google Glass por @pmolinam
F# por @acasquete
F# por @acasquete

Las sesiones de debate fueron acaloradas, y vimos temas como TDD-sí o TDD-no (que está ahora en alza por este post de dhh), buenas prácticas, lo difícil que es montar eventos en las universidades, lo curioso (y mareante) que resultan las famosas Google Glass, recordando el proyecto internacional de traducción de la documentación de Visual FoxPro 8 en el que pude participar con la comunidad PortalFox, hace ya muuchos años, e incluso, cosas como el estado de la liga de fútbol mediante el análisis de los puntos (si es que somos frikis hasta para eso). Todos tenían algo interesante que contar, algo de experiencia que aportar.

2014-04-25 20.29.57

BmJVkkZIUAA0svd

Respecto a la organización, es admirable la auténtica paliza que se han pegado Pedro Hurtado, Oscar Montesinos y Eladio Rincón para conseguir que el evento fuera un éxito. Desde ir y volver constantemente al aeropuerto y la estación de tren de Alicante, pasando por recordarle al hotel que nos despertara a las 9 (las sesiones de debate se alargaban hasta altas horas de la madrugada), y terminando por estar muy pendientes del tiempo que tenían los ponentes, en las sesiones del auditorio.

Personalmente me supuso un reto muy interesante volver a exponer, con una limitación de tiempo de 30 minutos, y llevar un tema nuevo, y completamente ajeno a la comunidad .net aunque muy relacionado con el progreso de la web como es Firefox OS.

BmJMbpPIYAEs5HO

Además, resultó más especial que nunca ya que pude estar acompañado de la persona gracias a la cual formo parte de esta comunidad, la que me llevaba a los eventos de grupos de usuario cuando apenas tenía 15 años, Ana María Bisbé York, mi madre, de que me pudiera ver en mi presentación y que pudiera compartir experiencias con el resto de asistentes.

2014-04-25 23.45.25

Una experiencia intensa e interesante, nos vemos en el siguiente!

Otras experiencias de asistentes (si faltan, avísame y la agrego)

Controlar el tiempo que lleva una aplicación activa con Powershell

Powershell es una herramienta muy versátil para desarrolladores y administradores de sistema, ya que, al igual que la shell de unix, permite automatizar tareas repetitivas con facilidad. Una de estas tareas puede ser controlar un proceso, aplicación o programa, cuanto tiempo lleva activo, y el uso de recursos que está haciendo.

En este artículo se verá cómo obtener el tiempo de un proceso en Powershell, el uso de CPU y RAM, así como enviar un e-mail con esa información de manera periódica.

Continuar leyendo «Controlar el tiempo que lleva una aplicación activa con Powershell»