My career timeline

A brief look at the clients I have worked for and some of the projects that I have been involved in. For more information, check out my LinkedIn profile.

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

The Project:

The Settlement Administration Agent (SAA) is one of a suite of seven services that support the operation of the Balancing and Settlement Code (BSC). The SAA calculates the credit and debit payments resulting both from trades made in the Balancing Mechanism (BM) and from imbalances between contracted and actual generation or consumption of electricity in Great Britain.

My Role:

As Technical Architect

- Writing technical stories in collaboration with BAs and other TAs

- Part of cross-team discussions (architecture, deployments, testing, documentation, technical debt)

- Bridge between BAs and dev team making sure implementation is aligned with business requirements

- Managing a team of 7 senior developers and QAs

As Senior Cloud Developer

- Implementation of calculations

- Data integration

- Implementation of business validations and business flows

- Integration and 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

The project:

GSCC is a SaaS traceability system that tracks all unit packets of tobacco products from the factory they are produced in to final retail stores. The goal is to fight against fraud and illegal trade of tobacco.

My role:

As a senior cloud developer I was in charge of implementing critical business flows in microservice architecture, designing and executing systems integration (moving data from Kafka to Cassandra or to Elasticsearch).

Architectures:

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

Playing the role of Solution Architect/Lead Developer for the development of Detego's revolutionary 'Smart Display' solution to be delivered to hundred of stores worldwide from importart clients such as Adidas.

Main activities involve taking critical design decisions, providing advanced technical solutions & patterns, architecturing the solution, working out on ways to facilitate external API integration, as well as the duties of a Full-Stack Developer which include writting the Back-end code, writting the Front-end code, writing automatic Unit, Integration and E2E tests, building a CI/CD pipeline for fast delivery of high quality code, writing deployment scripts for a fully automated release pipelines, etc.

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

I initially got onboard the UNO project. UNO is a cloud platform build on top of Azure which provides unified IT services such as Device Discovery, Security, Help Desk, Automated Software Delivery, etc.

My job was to develop an Azure Service Fabric microservice application. It consisted of a RESTful Web API which was responsible for managing Users within Tenants. On the client side, we extended the UNO Angular webclient by developing a Users module which took advantage of the mentioned API to visualize all the information related to Users (Permissions, Roles and more general CRUD).

Moving forward to the next project I was involved, in this case as a Full Stack Developer and Tech Lead, our team took ownership of License Optimizer. To anticipate an inminent increment of onboarding clients, our mission was to enhance License Optimizer so we could quickly scale out in response to high demands.

Since most of the workload was in the database, we undertook a major database refactoring, reducing tight coupling between DBs. This enabled us to replicate our globally shared databases and to locate our Tenant databases in different servers using a Sharding mechanisim. Next, we moved from having a single datacenter to mutiple ones, by adding a second layer of Replication.

Finally, our team had an important role to play in putting all the pieces together to achieve trunk-based development (short-lived feature branches, automated CI-style builds, 100% automated and frequent deployments). As part of this effort we provided our organization with the tools to watch and monitor the status of our deployments (Health Checks).

FlightCATcher

Barcelona
Barcelona

2016-17

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

JavaScript developer building an entire mobile app written in Facebook's most recent framework for mobile development: React Native.

FlightCATcher is an online flight search utility which allows users to find the cheapest matching destination for two origins on a given date/time. It provides a search form, results listing and a details page with information about itineraries and the possibility to easily visualize all the information, change itinerary or even book tickets.

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

Over the course of these three years, some of my main tasks have been:

Participating in Refinement Planning meetings. Giving estimates, clarifying doubts, understanding the needs of the business, and proposing better approaches if a feature exceeded costs.

Architectural tasks Anticipating issues and producing more accurate estimates by running technical analysis prior-to and after planning meetings. Carrying out Spike User Stories or any kind of Proof of Concept which could help develop high performant solutions.

Development tasks Full Stack development. I was involved in pretty much every step of our software development life-cycle. Designing mock-ups, UI/HTML Prototyping; coding in client side with JavaScript and the DOJO Framework. As a JavaScript developer, I was used to develop in an object-oriented fashion, re-using as much as code as possible and following event-oriented patterns, so our components were loosely coupled. We provided a fast-interactive experience with SignalR.

None of this would be possible without a back-end infrastructure in place. SPM is part of an ecosystem of several Services (each one of them being normally a WebAPI and Windows Service). Each service has its own domain and responsibility. To ensure high-scale and high-availability these services are connected by a Service Bus. As a back-end developer, I was in charge of creating new services or extending the existing ones as well as bug-fixing. Most of the time I was coding Application/Domain Services, Data Storing/Retrieval from Oracle, Mongo or Web Services. Due to the distributed nature of SPM, most of our code was asynchronous. We were encouraged to use the SOLID principles of SW design and we adopted most common SW patterns for clean/elegant code. I was working in an Agile/Scrum environment.

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

During my time in Altran, I had the chance to work for several key clients.

It is noteworthy GroupM's international ForecastTool project in which I worked as Front-end developer in a team of senior developers and architects. I was responsible for the UI look and behavior and giving support for back-end tasks when needed. The tool was an online RIA to make financial forecasts on how much money clients were expecting to invest on the different medias (TV, radio, Internet, etc). The application looked like pretty much like Excel, with editable cells, formulas and real-time calculations performed client-side.

Another project worth mentioning is Sunweb's complete look & feel renewal which successfully delivered a more beautiful, delightful and intuitive user experience. Being a member of a highly skilled and long experienced team of senior .NET consultants, I collaborated by migrating Sunweb's main site and other of their satellite vacation sale websites to a mobile-friendly and more responsive version. We implemented most of their pages from scratch and we were able to provide more customized results for the user.

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

Build new software.

Correct bugs in the existing software.

Support on the production software.

Analysis and design in close collaboration with business people.