César Trigo Esteban:
Director de Desarrollo de los equipos de Backend y HTML5 en Gigigo Group, MongoDB Master, fundador de MongoDBSpain (www.mongodbspain.com) y coorganizador del MUG Madrid.

Imagen: LinkedIN

-Como responsable del BackEnd en Gigigo, cuáles son las principales funciones que desempeñas?

En Gigigo me encargo principalmente de la coordinación y dirección del equipo de BackEnd. Somos una compañía especializada en el desarrollo y marketing móvil que sustenta sus soluciones sobre grandes sistemas de BackEnd, que aportan gran agilidad y flexibilidad a los proyectos móviles.

Dados los tiempos que corren en el panorama móvil y los miles de millones de datos que hoy en día generan las Apps, el Big Data está muy presente en nuestro negocio. Por suerte contamos con un equipo de Backend con gran experiencia y altamente especializado en tecnologías NoSQL, principalmente en MongoDB, lo cual nos permite acompañar a nuestros clientes a largo plazo, integrando las aplicaciones nativas con sus estrategias y aportando un valor extra a su negocio.

Por otro lado, dirijo el departamento de HTML5 o, mejor llamado End-to-End, en el que apostamos por MEAN Stack para los desarrollos y que cada vez toma más peso gracias al crecimiento y adopción del HTML5 y la agilidad proporcionada por tecnologías como Node.JS y MongoDB del lado de servidor.

Por último, participo en las planificaciones, propuestas y preventa de los proyectos en colaboración con los responsables de las otras áreas así como en la dirección de algunos proyectos I+D en particular.

-Tú que estarás metido en algoritmos y código casi todo el día…¿crees que cada vez habrá más espacio para analistas no técnicos con más peso en el negocio, o sigue siendo imprescindible saber programar y tener nociones de estadística avanzadas para trabajar en la ciencia de datos?

Al contrario. Cada vez hay más hueco para perfiles con un alto nivel técnico pero que han evolucionado a roles con más peso en el negocio. Son perfiles con una gran experiencia y trayectoria en multitud de tecnologías que por su evolución natural han alcanzado puestos de responsabilidad y conocen el negocio y a los clientes, pudiendo combinar ambas cosas para detectar y a la vez materializar las necesidades con precisión desde el punto de vista técnico.

Concretamente en lo que a Big Data se refiere, lo más importante es saber diferenciar qué datos son realmente importantes para el cliente y cuáles no, pero también conocer las necesidades técnicas. En resumen, perfiles mixtos son los más indicados a mi parecer.

-Sabemos que estuviste involucrado en el proyecto de la red social de Coca-Cola. ¿en qué consistió esa experiencia?

Coca-Cola SmileWorld ha sido uno de los grandes retos de los últimos años y también un gran éxito. Centrándonos en el punto de vista técnico y teniendo en cuenta que CocaCola SmileWorld es la red social móvil de una de las mayores marcas del mundo, la agilidad y la disponibilidad de la información es algo tremendamente importante. Además, existe un gran componente promocional en el que la inmediatez y la segmentación son clave. Para dar solución a todas estas necesidades y tras realizar un profundo análisis de mercado, decidimos apostar por MongoDB, siendo uno de los primero proyectos NoSQL al que nos enfrentábamos.

La construcción e inmersión en el modelo fueron apasionantes pero quizá lo más interesante ha tenido lugar durante los aproximadamente 2 años de vida que ya tiene la Red, en los que hemos experimentado multitud de situaciones de extrema complejidad que hemos podido abordar con éxito gracias al uso de unas tecnologías y metodologías ágiles. Por poner un ejemplo, uno de los mayores retos ha sido afrontar la avalancha de usuarios producida por la combinación de un anuncio de televisión en Prime Time y el envío de una notificación push masiva, produciendo en un intervalo de pocos segundos, cientos de miles de
interacciones en las aplicaciones nativas iOS y Android que atacan directamente al API y, en consecuencia, a las bases de datos. La elección de un stack tecnológico adecuado y la previsión para definir una buena estrategia son clave para este tipo de situaciones.

SmileWorld, la red social de Coca-Cola

-Por lo que he leído en Gigigo apostáis por la tecnología móvil, ¿es muy diferente trabajar la inteligencia de negocio y social en mobile respecto al entorno desktop más tradicional?

En efecto, es absolutamente diferente ya que hoy en día prácticamente todos tenemos un smartphone con conexión a internet y por tanto, esperamos disponer de todo un mundo de información en lo que tardamos en sacarlo del bolsillo, sin importar el momento del día ni el lugar. Esto es algo que no ocurre en los entornos desktop más tradicionales. Además, el comportamiento de los usuarios en una App es totalmente distinto al que pueda tener un una página Web convencional y generalmente las velocidades de transferencia de datos son más lentas que en entorno Desktop.

Todo esto hace que haya que tener un planteamiento mucho más particular, centrándose principalmente en la optimización de las comunicaciones, no solo desde el punto de vista técnico, sino desde etapas mucho más tempranas, incluso en las fases de UI & UX en las que se debe tener en cuenta las comunicaciones contra el servidor en cada pantalla que se pinta.

Por último, una buena estrategia que combine contenido online y offline marca la diferencia, permitiendo a los usuarios disponer de un mínimo de información cacheada en los momentos de baja conectividad.

-¿Por dónde crees que va a ir el big data en los próximos dos años? ¿Se van a democratizar los grandes datos y serán accesibles para todos? Crees que la desconfianza de los usuarios por la supuesta pérdida de privacidad puede frenar algunas de las posibilidades de esta tecnología?

Aunque hoy en día existe un gran descontrol en lo referente a la privacidad, no creo que vaya a afectar al crecimiento de estas tecnologías ya que es una necesidad para las empresas el conocer a sus clientes.

Cuando hablamos de Big Data lo primero que nos viene a la cabeza son las principales redes sociales y no son las únicas que quieren conocer a sus usuarios. Sin ir mas lejos, la personalización del contenido y de los servicios por perfiles sociodemográficos, gustos, costumbres e incluso relaciones, es algo por lo que numerosas empresas están apostando, con especial hincapié en el campo del ecommerce. Para hacerlo posible es necesario conocer el comportamiento de sus usuarios/clientes. Todo esto supone un inmenso beneficio para los usuarios finales y seguramente sin estas tecnologías no sería posible, por lo que creo que la evolución seguirá al alza.

-Estás muy involucrado en el proyecto de NoSQL Open Source que más suena últimamente: MongoDB. Cuéntanos qué es para tí el NoSQL y MongoDB en particular

Aunque el NoSQL es algo que lleva entre nosotros mucho tiempo, su popularización viene dada por la heterogeneidad de los datos que hoy en día manejan las empresas. Es una necesidad que tarde o temprano debía manifestarse para el manejo de cantidades ingentes de información no relacionada y cada vez son más los que apuestan por esta filosofía.

Quizá la popularidad de MongoDB se ve especialmente potenciada debido a su sencilla curva de entrada y la inmensa cantidad de recursos existentes para los nuevos desarrolladores que, tras muchos años construyendo sistemas relacionales deben cambiar radicalmente su forma de pensar. Quizá la principal ventaja que aporta sea la flexibilidad de almacenamiento de los datos, permitiendo trabajar con ellos de forma aislada o conjunta, a gusto del consumidor y dependiendo de cada escenario, contando además con un gran ecosistema de herramientas y productos de que facilitan las tareas de análisis.

-Si yo ahora quiero aprender MongoDB, ¿qué me recomiendas, César?

Quizá una de los mayores aciertos de MongoDB desde su aparición ha sido la creación del site MongoDB University (https://university.mongodb.com/), un completo sitio de elearning en el que se ofrecen numerosos cursos de formación totalmente gratuitos orientados a diferentes perfiles y niveles. Existen cursos para DBAs, Administradores de sistemas y desarrolladores sobre diferentes tecnologías. Los cursos consisten en una sucesión de lecciones en vídeo, prácticas, ejercicios y una prueba final con la que demostrar los conocimientos adquiridos.

Para aquellos que ya han trabajado con MongoDB y lo que buscan es profundizar más en determinadas materias o evaluar casos de uso reales, existen otras alternativas como las numerosas presentaciones y Webinars que se organizan y que quedan recogidas en su web oficial (Eventos: http://www.mongodb.com/events, Webinars: http://www.mongodb.com/webinars, Presentaciones: http://www.mongodb.com/presentations)

Pero si algo diferencia a MongoDB del resto es la comunidad. Además de las numerosas webs que tratan temas relacionados con MongoDB, como es el caso de www.mongodbspain.com, en la mayoría de las grandes ciudades del mundo existen los llamados MUG (MongoDB User Groups http://www.mongodb.org/usergroups) en los que de forma periódica se organizan charlas en las que estar al día de las últimas novedades, profundizar, descubrir casos de uso de otras compañías y, sobre todo, compartir experiencias con otros usuarios de MongoDB. En España contamos con grupos en Madrid, Barcelona, Sevilla, Mallorca y Malaga.

-¿Qué son los MongoDB Masters?

Se trata de un selecto grupo de profesionales que de una forma u otra han colaborado de forma activa en el crecimiento y evangelización de la comunidad MongoDB en todo el mundo. Desde hace unos meses pasé a formar parte de este grupo que cuenta con numerosas ventajas para sus integrantes, siendo quizá una de las más interesante la posibilidad de compartir foro con los mejores expertos de MongoDB en el mundo, teniendo además acceso a las últimas novedades y previews de las versiones de MongoDB y pudiendo disponer siempre de un lugar de consulta y aprendizaje de la mano de grandes profesionales que se han “pegado” con esta tecnología en situaciones del mundo real. Lo que se espera de nosotros es la evangelización y soporte a la comunidad en cada una de nuestras zonas locales.

César Trigo es fundador de la comunidad MongoDB Spain

-¿Tenéis algo en agenda para después del verano en la comunidad MongoDB Spain? Eventos, informes, tutoriales…

Por supuesto, concretamente el próximo día 18 de Septiembre tendrán lugar dos eventos en Madrid, ambos en el CIFF (Centro Internacional de Formación Financiera). El primero de ellos “Conoce MongoDB: Madrid” (http://www.conocemongodb.com/) tendrá lugar por la mañana y pretende ser lugar de encuentro de gerentes de negocios y directivos que quieran conocer cómo las tecnologías NoSQL pueden transformar sus empresas y se contará con la presencia de grandes expertos. En segundo lugar estamos preparando la “Vuelta de vacaciones” del Madrid MUG (http://www.meetup.com/MadridMongoDBUserGroup/events/202271922/) en el que queremos acercar a todo el mundo un par de ejemplos de proyectos reales basados en MongoDB y alguna sorpresa más.

Más allá de eso, tenemos planificadas numerosos artículos en el Blog y cubriremos grandes hitos como el esperado lanzamiento de la versión 2.8 de MongoDB.

-Me gustaría que nos dijeras en síntesis, cuándo es mejor hacer uso de NoSQL-MongoDB que de un sistema relacional? Está sólamente indicado para grandes datos o tiene ventajas la organización NoSQL orientada a documentos para organizar pequeños datasets?

Es algo que depende absolutamente del tipo de proyecto pero a la vez también es importante evaluar en qué se convertirá ese proyectos a medio / largo plazo.

Podríamos decir que NoSQL está especialmente pensado para todos aquellos casos en los que manejamos cantidades de información muy grande que no necesariamente debe estar relacionada entre si y por tanto su organización mediante los sistemas de base de datos más tradicionales es compleja. Además de esto suele enfocarse para aquellos casos en los que el tiempo es oro y por tanto se requieren un rendimiento y capacidad de análisis extremos. En estos aspectos, MongoDB nos ayuda cuando tenemos necesidades de crecimiento muy grandes e inesperadas, permitiendo no solo crecer a la vez que nuestro producto si no también adaptarse fácilmente a los cambios que puedan surgir a lo largo de su ciclo de vida. Además cuenta de base con determinadas herramientas de análisis sin necesidad de acudir a terceros productos.

No obstante, es totalmente recomendable como soporte de almacenamiento para pequeños proyectos en los que simplemente queremos almacenar algunos datos. En este sentido al no requerir que sus datos sigan un esquema concreto, MongoDB permite empezar mucho antes las fases de desarrollo e ir adaptando el esquema de datos sobre la marcha según las necesidades del proyecto.

El mayor error suele ser trasladar sistemas claramente relacionales a bases de datos NoSQL lo que supone principalmente el desaprovechamiento de las ventajas de rendimiento que un sistema NoSQL tiene sobre algunos relacionales.

-¿Cuáles son las cosas que mejorarías en MongoDB? ¿Qué retos ves aún por llegar?

Desde el punto de vista técnico, una de las grandes mejoras que todos estábamos esperando fue anunciada en el MongoDB World que tuvo lugar este verano en NY y creo que supondrá un antes y un después en el uso de MongoDB. Se trata del bloqueo a nivel de documento (document-level locking), que verá la luz con la versión 2.8 de MongoDB antes del final de 2014 y que se centra en las operaciones de escritura de base de datos incrementando la capacidad de concurrencia de dichas operaciones de forma exponencial y por tanto mejorando en la misma medida el rendimiento de las aplicaciones que implementan MongoDB.

Por otro lado, se deberá afrontar el gran reto de consolidarse como uno de los proyectos Open Source más grandes del mundo y todo lo que ello supone, principalmente desde el punto de vista del modelo de negocio. En este sentido ya se han dado grandes pasos como el recién anunciado soporte a entornos de producción para aquellos que use la versión Community, privilegio que de momento estaba reservado para las versiones Enterprise.