Rafael Montero
Senior software engineer. .NET, cloud architecture on AWS and Azure, and applied AI. 20 years taking business-critical software from idea to production.
- 20 yearsof software engineering, since 2007
- 0.13%error predicting a flood peak on the Genil river
- AIcustomer support platform taken to production
- UCOComputer Engineering, University of Córdoba
Software that keeps real businesses running, since 2007.
For twenty years I've been building software that supports critical operations: banking, insurance, vehicle telemetry and, more recently, AI-powered products. My home ground is backend development in .NET and C#, distributed systems and cloud-native architecture on AWS and Azure.
I work across the whole lifecycle: understanding the business problem, designing the architecture, implementing, automating tests, setting up CI/CD and infrastructure, and running it in production. Since 2023 I've taken an AI customer support platform from concept to a live system, combining AI agents and human agents on an event-driven architecture.
What drives me most is the hard problem and modernising what already exists: taking a system that works but has fallen behind and turning it into something reliable and maintainable without stopping the business. I choose tools for the problem, not for the hype.
Computer Engineering (2007) and Technical Engineering in Computer Systems (2005) from the University of Córdoba, with top marks (10/10) on both final-year projects.
-
From zero to production
I deliver complete products, not just features: from the initial architecture to a system running with real users.
-
Modernise without breaking things
Legacy system migrations in banking, insurance and IoT while the business keeps running.
-
Architecture with judgement
DDD, CQRS, Event Sourcing, microservices and infrastructure as code, applied to real products.
Success stories
Six career milestones that show how I work: the problem, what I did and what was achieved.
-
An AI-powered customer support platform, from concept to production
I designed and delivered the platform from scratch, setting the architecture and engineering foundations so it could evolve over the long term.
- AI agents and human agents working together in the same support flow, with a workspace for the team and widgets for end customers.
- Cloud-native, event-driven architecture on AWS, with Event Sourcing, CQRS and DDD.
- Infrastructure as code with Pulumi and continuous delivery.
.NETVue 3AWSPulumiMongoDBPostgreSQL -
Evolving a large-scale insurance claims platform
New capabilities for business-critical workflows in a distributed microservices architecture on Azure.
- Scalable backend services and APIs, with Ocelot as API Gateway and messaging over RabbitMQ and Azure Service Bus.
- Azure Functions and Logic Apps for processes and integrations.
- Raising the quality bar: automated testing, BDD with SpecFlow, code reviews and CI/CD on Azure DevOps.
.NETAzureAngularRabbitMQSQL Server -
Modernising a Smart Car platform in production
Vehicle telemetry collected through OBD devices. I led the Córdoba engineering team while driving the technical modernisation.
- Migration of core services from .NET Framework 4.7.2 to .NET Core 3.1.
- Move towards microservices with RabbitMQ and containerised Docker deployments on Red Hat OpenShift.
- Dapper as micro-ORM and MariaDB/MySQL for storage.
.NET CoreRabbitMQDockerOpenShiftMariaDB -
Business-critical banking applications for Banco Santander
New features in backend services and web applications for the bank's critical operations, within cross-functional agile teams.
- Modernising the stack towards current web technologies and service-oriented architectures.
- Several technology generations side by side: Web Forms and AngularJS alongside Web API, .NET Core and Angular 8, with Oracle and AS/400 behind them.
C#.NET CoreAngularOracleAS/400 -
Migrating insurance policies and pension plans to BBK Bank CajaSur
When the insurer changed hands, every policy and every pension plan had to arrive intact. I was solely responsible for migrating the pension plans.
- Analysis, coordination and development of the Web Agent that CajaSur branches used to take out policies.
- ASP.NET intranet connected to the Web Agent through web services.
- Scheduled data exchanges with BBK Bank CajaSur and Biharko, and management of the AS/400 system with DB2/400.
ASP.NETVB.NETSQL ServerAS/400DB2 -
Real-time flood forecasting for the Guadalquivir basin
I designed and implemented the hydrological forecasting algorithms for the Guadalquivir River Basin Authority, within the THMDT decision support system, as well as weather algorithms for Spain's Directorate-General for Traffic.
- Weather radar, rain gauge and SCADA data combined with hydrological models and displayed on Google Earth.
- Migration of the Ministry of the Environment's river basin application from VB 6.0 to VB.NET.
0.13% error predicting the peak flow of the Genil river during the December 2009 rainfall event, compared with actual SAIH data.
C#VB.NETC / C++SCADAGoogle Earth
Also: Computación Tecnología e Innovación (2012 – 2019, custom applications from concept to production), A3M Auto Id (2008 – 2010, project management and team coordination) and Insa, IBM Group (2009, analysis for CajaSur).
The tools with the most production hours behind them
I choose for the problem, not for the hype. These are the technologies I've used to build and maintain real systems.
- .NET
- Java
- Python
- JS / TS
- Angular
- Vue 3
- Azure
- AWS
Companies
- Tugi Tark
- Innovation Group
- Net4ThingsMobility Data
- atmira
- Banco Santandervia atmira
- Seguros CajaSur
- Telvent
- Abengoa
Let's talk
If you're looking for a senior engineer for your team or want a second opinion on a technical challenge, drop me a line. I reply personally.
Villa del Río, Córdoba (Spain)