05/28/2026 updated

TG
100 % available

Senior Software Engineer - Payments Systems

Braga, Portugal
Only remote
Bachelor degree in Computer Science
Braga, Portugal
Only remote
Bachelor degree in Computer Science

Profile attachments

tiago.guimaraes.cv.pdf

About me

Experienced software developer. 4 years at Revolut designing and building bank payment rails, mostly SEPA related.

Java (Programming Language)Payment SystemsPostgreSQLBackendKotlinEvent Driven ArchitectureKubernetesDomain Driven DesignMicroservices
Java & Kotlin Backend Development
Extensive back-end development experience using Java and Kotlin in microservices environments, hosted on Kubernetes or Docker Swarm, with frameworks such as Spring Boot and internal CQRS and Event frameworks.

Bank Payments & SEPA Systems
Deep expertise in designing, building and maintaining SEPA payment systems including SEPA Credit Transfer, SEPA Direct Debit, and SCT Inst services, with integrations to clearing and settlement houses such as EBA STEP2, EBA RT1, SICOI, and SENT CPM.

Cloud Services & Infrastructure
Hands-on experience using and configuring various AWS, GCP and Azure services, as well as working with PostgreSQL, Kafka, and CI/CD pipelines including data ingestion from AWS S3.

Domain Driven Design, CQRS & Event Sourcing
Solid experience applying Domain Driven Design principles, CQRS patterns and Event Sourcing in the design and implementation of high-reliability distributed systems.

Ruby on Rails
Experience developing and maintaining Ruby on Rails monolith applications.

PostgreSQL & Kafka
Practical experience with PostgreSQL as a relational database and Kafka as a messaging and event streaming platform in production microservices environments.

DevOps Practices & Automation
Focus on automation, maintainability and reliability, including internal initiatives to develop and promote DevOps practices within engineering teams.

RESTful API Development
Experience building RESTful web applications and APIs

Experience

Professional experience10+ years
Freelancer since2026

Languages

EnglishFluentPortugueseNative speaker

Project history

Software Engineer

Revolut
Part of the Core/Bank payments team, responsible for designing, scoping and building SEPA systems and integrations with clearing and settlement systems. Built SEPA Credit Transfer and SEPA Direct Debit Service, worked on SCT Inst service, and built integrations with EBA STEP2, EBA RT1, SICOI, and SENT CPM. Also worked on APMs like Multibanco and Bizum, and on UK BACS. Technology stack: Java, Kotlin, PostgreSQL, internal CQRS and Event framework, Rest APIs.

Software Engineer

Rows
Worked on both the computation engine team and the functions/integrations team for a spreadsheet product startup. Fixed performance and resilience issues across the codebase, scaled development of new integrations on Apache Camel framework, and worked on usage reporting pipeline. Main technology: Kotlin with Spring Boot.

Project Engineer

Critical Software
Worked for a fintech client on multiple services including a reconciliations microservice integrating with a Ruby on Rails monolith, handling CI/CD pipeline, data ingestion from AWS S3, and data exporting. Later moved to a savings product team, developing a second version of the product as a Kotlin Spring Boot microservice. From 2020, worked on an internal initiative to develop and promote DevOps practices.

IT Consultant

Bold by Devoteam
Spent most of the time outsourced to Critical Software. Also developed RESTful web apps using Apache Jersey deployed on Apache Tomcat for another client, dealing with billing and content delivery.

Junior Developer

University of Minho Documentation Services
Developed extensions in Java for DSpace for institutional repositories maintained by the RCAAP project. Developed features for the RCAAP portal and validator. Contributed to DSpace development by submitting bug fixes and testing pull requests.

Researcher for project FATBIT - Foundations, Applications and Tools for Bidirectional Transformation

HASLAB
Part of the team that developed Echo, an Eclipse plug-in for model repair and bidirectional transformation based on the Alloy model finder, implemented in Java using the Eclipse Model Framework. Implemented an extension of Kodkod to enable MAX-SAT solvers, and extended the Alloy Analyzer to provide better scenario exploration features.

Contact form

Log in to get in touch

You need to be logged in to use the contact form.

Sign upLog in