Mi carrera en una línea del tiempo

Un breve vistazo a los clientes para los que he trabajado y los proyectos en los que he participado. Para más información, consulta mi perfil de LinkedIn.

Cognizant Microsoft Business Group

Remote
Remote

2021-current date

RolesTechnical Architect, Senior Cloud Developer
Duration9 months
Azure
AKS
Docker
Azure DevOps
C#
specflow
.NET
Azure Cosmos DB
Azure Service Bus
Azure Event Grid
Azure Data Lake
Application Insights
Azure Managed Identities
RoleTechnical Architect
RoleSenior Cloud Developer
Duration9 months
Azure
AKS
Docker
Azure DevOps
C#
specflow
.NET
Azure Cosmos DB
Azure Service Bus
Azure Event Grid
Azure Data Lake
Application Insights
Azure Managed Identities

Acerca del proyecto:

El Settlement Administration Agent (SAA) es una suite de siete servicios que dan soporte al Balancing and Settlement Code (BSC). El SAA calcula los pagos de crédito y débito resultantes de los intercambios que tienen lugar en el Balancing Mechanism (BM) y de los desequilibrios entre la energía eléctrica contratada y la que realmente se consume en el mercado eléctrico de Gran Bretaña.

Mi rol en el proyecto:

Como Technical Architect

- Escribir User Stories en colaboración con BAs y otros TAs

- Formar parte de la toma de decisiones en las reuniones entre TAs, Solution Architect y Project Manager (arquitectura, despliegues, testing, documentación, deuda técnica)

- Puente entre los BAs y el equipo de desarrollo para asegurar que los requisitos de negocio están alineados en todo momento con la implementación

- Gestión de un equipo de 7 desarrolladores seniors y QAs

Como Senior Cloud Developer

- Implementación de cálculos

- Integración de datos

- Implementación de validaciones de negocio y flujos de negocio

- Integration tests y e2e tests

Dentsu Tracking (Contract)

Remote
Remote

2021-21

RoleSenior Cloud Developer
Duration3 months
C#
.NET Core 3.1
Cassandra
Kafka
PostgreSQL
Docker
Kubernetes
Redis
Elasticsearch
Keycloak
MinIO
AWS Container Registry
RoleSenior Cloud Developer
Duration3 months
C#
.NET Core 3.1
Cassandra
Kafka
PostgreSQL
Docker
Kubernetes
Redis
Elasticsearch
Keycloak
MinIO
AWS Container Registry

Sobre el proyecto: GSCC es una plataforma SaaS que realiza el seguimiento de todos los paquetes de tabaco desde la fábrica en la que son producidos hasta los establecimientos de venta o máquinas expendedoras. El objetivo final es luchar en contra del fraude y tráfico ilegal de productos de tabaco.

Mi rol: Como desarrollador senior de la nube, asumí la responsabilidad de implementar flujos de negocios críticos así como también diseñar y llevar a cabo la integración de sistemas (por ejemplo, mover datos de Kafka a Cassandra o Elasticsearch).

Arquitecturas: Event-Driven Microservices Backend for Frontend

Detego

London, Graz, Moscow
London, Graz, Moscow

2019-20

RolesSenior Full-Stack Developer, Team Lead
Duration1 year, 10 months
.NET Core 3.1
Angular
ML.NET
RFID
Motion Sensor
RabbitMQ
MassTransit
Azure
RoleSenior Full-Stack Developer
RoleTeam Lead
Duration1 year, 10 months
.NET Core 3.1
Angular
ML.NET
RFID
Motion Sensor
RabbitMQ
MassTransit
Azure

Ocupando el rol de Solution Architect/Lead Developer en el desarrollo de la solución innovadora "Smart Display" de Detego que ya ha sido desplegada en decenas de tiendas Adidas por todo el mundo.

Dentro de las tareas principales destacar la toma de decisiones críticas, proveer soluciones técnicas avanzadas, dar forma a la arquitectura de la solución, diseñar la integración con APIs de terceros. También cabe resaltar las tareas propias de desarrollo: Desarrollo Full-Stack, escribir el código de back-end, escribir el código de front-end, escribir pruebas automatizadas, pruebas de integración y "end-to-end", implementar las pipelines de compilación, validación del código, automatizar el despliegue de la solución.

Ivanti

Warsaw
Warsaw

2017-19

RoleFull-Stack Developer
Duration1 year, 4 months
Service-oriented architecture
Event-driven arquitecture
DDD
CQRS
Azure Service Fabric
WebAPI
Angular
SQL Replication
Elastic Database Tools
Azure
RoleFull-Stack Developer
Duration1 year, 4 months
Service-oriented architecture
Event-driven arquitecture
DDD
CQRS
Azure Service Fabric
WebAPI
Angular
SQL Replication
Elastic Database Tools
Azure

Inicialmente comencé a trabajar en el proyecto UNO el cual es una plataforma en la nube de Azure que provee servicios para empresas de IT. Entre estos servicios se encuentran: Device Discovery, Security, Help Desk, Automated Software Delivery, etc.

Yo fui responsable de desarrollar el microservicio encargado de gestionar los usuarios de cada cliente. El microservicio de usuarios es una API REST y así como el resto de servicios se desplegaban en un cluster de Service Fabric. En el front-end, implementamos un modulo de usuarios en Angular que integramos con la aplicación Angular principal. La aplicación Angular hace uso de la API mencionada anteriormente para visualizar toda la información relativa a usuarios (permisos, roles, etc).

En el siguiente proyecto en el que formé parte, esta vez como desarrollador Full Stack y Tech Lead, comenzamos a trabajar en el producto "License Optimizer". Ante el inminente incremento de clientes, nuestro objetivo era el de mejorar el producto para ser capaces de escalar en respuesta a la alta demanda. Dado que la mayor parte de la carga de trabajo estaba en el servidor de base de datos, llevamos a cabo una gran refactorización reduciendo el acoplamiento entre las diferentes bases de datos. Esto nos permitió replicar la base de datos común y localizar las bases de datos de específicas de clientes en diferentes servidores utilizando un mecanismo de "Sharding". Por último, pasamos de tener un único data center a múltiples data centers descentralizados añadiendo replicación entre los mismos para mantener consistencia de datos.

Finalmente, nuestro equipo jugó un papel importante en la adopción de nuevas y mejores prácticas como "trunk-based development" (ramas de corta duración, builds automatizadas al 100%, despliegues frecuentes). Para conseguir esto, nuestro equipo implementó herramientas para vigilar y monitorear el estado de los despliegues (Health Checks) y a aportar información sobre los mismos (versionado).

FlightCATcher

Barcelona
Barcelona

2016-17

RoleJavaScript Developer
Duration8 months
React Native
JavaScript
RoleJavaScript Developer
Duration8 months
React Native
JavaScript

Desarrollo de una aplicación móvil desde cero utilizando el último framework de desarrollo para aplicaciones móviles nativas de Facebook: React Native.

¿Tienes a alguien que te gustaría ver pero vivís en ciudades diferentes y no hay vuelos entre sí? FlightCATcher es una herramienta de búsqueda en línea que permite a los usuarios encontrar el destino común más barato desde dos localizaciones diferentes para una fecha concreta. La app dispone de un formulario de búsqueda, un listado de resultados, una página de detalles con información sobre itinerarios y la posibilidad de fácilmente visualizar toda la información, cambiar de itinerario y realizar reservas.

Tokiota

Barcelona
Barcelona

2014-17

RoleFull-Stack Developer
Duration2 years, 11 months
C#
.NET Framework
WebAPI
ASP.NET MVC
JavaScript
DDD
TDD
BDD
CI/CD
Grunt
Babel
Unity
NHibernate
mongoDB
Dapper.Net
RabbitMQ
NServiceBus
SignalR
RhinoMocks
RoleFull-Stack Developer
Duration2 years, 11 months
C#
.NET Framework
WebAPI
ASP.NET MVC
JavaScript
DDD
TDD
BDD
CI/CD
Grunt
Babel
Unity
NHibernate
mongoDB
Dapper.Net
RabbitMQ
NServiceBus
SignalR
RhinoMocks

A lo largo de mi colaboración en Tokiota alguna de mis responsabilidades han sido:

Participación durante las fases de planificación y refinamiento de User Stories. Estimación, clarificación de dudas, entendimiento de los requisitos de negocio y proposición de las soluciones técnicas más adecuadas.

Tareas de arquitectura: Análisis técnico antes y después de planificar el trabajo con el objetivo de anticipar inconvenientes. Llevar a cabo pruebas de concepto o historias de usuario técnicas que permitan encontrar soluciones de alto rendimiento.

Tareas de desarrollo: Desarrollo full-stack. Estuve involucrado en cada paso del ciclo de desarrollo. Diseño de mock-ups, prototipado de UIs, maquetado HTML, implementación del código cliente en JavaScript con el framework DOJO. Como desarrollador de JavaScript, seguí una programación orientada a objetos con encapsulación de código, diseño de componentes basado en clases para permitir la reutilización de los mismos, comunicación de componentes mediante eventos para conseguir desacoplamiento. Integración con el servidor mediante SignalR.

En el lado del back-end, ayudé a evolucionar la arquitectura existente a un modelo donde cada API era un microservicio independiente con su propio dominio y responsabilidades. Para asegurar que nuestros servicios son capaces de escalar y procesar la carga de trabajo, elegimos una arquitectura basada en eventos, cada servicio emite y se subscribe a los eventos de dominio que pueden interesarle. Como desarrollador de backend, fui responsable de nuevos servicios o de extender los existentes así como también solucionar fallos. La mayor parte del tiempo estuve desarrollando servicios de Aplicación o Servicios de Dominio, acceso/guardado de datos en bases de datos Oracle o mongoDB y de la integración con otros servicios. Debido a la naturaleza distribuida de nuestra aplicación, la mayoría del código era asíncrono. En este proyecto nuestro cliente exigía un alto nivel de calidad del código, siguiendo los principios SOLID y patrones de código para escribir código elegante.

Altran

Madrid, Barcelona
Madrid, Barcelona

2012-14

Role.NET Developer
Duration2 years, 1 month
.NET Framework
ASP.NET MVC
Entity Framework
JavaScript
KnockoutJS
Message Bus (MSQM)
DDD
JQuery
WebForms
Role.NET Developer
Duration2 years, 1 month
.NET Framework
ASP.NET MVC
Entity Framework
JavaScript
KnockoutJS
Message Bus (MSQM)
DDD
JQuery
WebForms

Durante el tiempo que estuve trabajando en Altran tuve la oportunidad de trabajar para varios importantes clientes. En concreto destaco dos proyectos:

El primero tiene que ver con la herramienta "ForecastTool" para el cliente GroupM. En este proyecto trabajé como desarrollador front-end en un equipo integrado por desarrolladores seniors y arquitectos. Fui responsable del diseño de la UI y la implementación de sus funcionalidades al igual que dar soporte en tareas de back-end. La herramienta era una aplicación RIA para hacer estimaciones financieras basadas en el presupuesto a invertir en los diferentes formatos publicitarios (TV, radio, Internet, etc).

Otro proyecto que vale la pena resaltar se trata del rediseño de la web de Sunweb el cual exitosamente se llevó a cabo y se tradujo en una experiencia de usuario más gratificante. Una vez más, siendo parte de un equipo de consultores .NET con gran talento y experiencia, colaboré reemplazando el antiguo diseño por una versión moderna, compatible con dispositivos móviles. Se migró el portal principal de Sunweb así como también las webs satélite. La mayoría de páginas se implementaron desde cero y no sólo cambió el diseño sino que también se implementó un sistema de búsqueda personalizado para devolver resultados ajustados a los gustos del usuario.

Aureka

Valencia
Valencia

2011-12

RoleWeb Developer
Duration1 year, 6 months
PHP
Drupal
JavaScript
JQuery
RoleWeb Developer
Duration1 year, 6 months
PHP
Drupal
JavaScript
JQuery

Desarrollo de nuevas funcionalidades.

Solución de bugs en el software existente.

Soporte al software de producción.

Análisis y diseño en colaboración cercana con los responsables de negocio.