Senior Software Engineer in Java / Kotlin. Based in Valencia (Spain)
Senior Software Engineer in Java / Kotlin with big experience in developing microservices and REST APIs with Spring Boot and technologies such as Kafka, AWS, Docker and Kubernetes. I have also worked as Tech Lead as well as doing management tasks in several projects.
In my day to day, I like to use a modern tech stack and learn new technologies. Also, I
care about code quality and I bet for the use of best practices and code analysis tools. I
consider important to apply hexagonal architecture and SOLID as well as a good testing
using ATDD or BDD.
Development
Kotlin | Java | Spring | Spring Boot | Spring Web | REST | Spring Data JPA | Spring Cloud | Spring Cloud OpenFeign | Spring Cloud Gateway | Spring Cloud Stream | Spring JMS | Spring Security | Kafka | Kafka Streams | Kafka Schema Registry | ActiveMQ | Postgres | Oracle | Liquibase | Flyway | OpenAPI | Stoplight | Lombok| MapStruct | ModelMapper | Gradle | Maven
Testing
JUnit | Mockito | Testcontainers | BDD | Performance testing | Gherkin | Cucumber | Serenity | REST Assured | Scala | Gatling
CI/CD & Cloud
Docker | Kubernetes | AWS | Localstack | Kong | Vault | Git | Github | GitLab | TeamCity
Code quality and practices
Sonar | SonarQube | CodeClimate | Veracode | Checkstyle | PMD | Findbugs | SonarLint | Spotless | DDD | Hexagonal architecture | SOLID | Scrum | SAFe
Senior Software Engineer @ ManoMano EspaΓ±a (Jan 2023 - Present)
Returns domain project to improve the user experience for the customers and sellers using the marketplace. As part of my job we have enabled several campaigns to offer free returns or extended return periods.
My main tasks have been:
- Migrating several flows from PHP to several Java 17 and Kotlin microservices.
- Building the foundations which allow the sellers manage the returns through the web (sending the instructions to pick up the product, communicating with the customer, refunding the item...).
- Improving the user experience for the customers allowing them to track their returns as well as cancel them.
- Defining the new data model.
- Showing demos of the achieved results to the rest of the company.
- Facilitating occasionally our team refinement meetings to define the tasks to perform, estimate them and align between the FE and BE developers.
Use of hexagonal architecture and technologies such as the AWS SDK or Kafka. Also SAFe ο»Ώas agile framework, based on Scrum, doing PIs of about 2 months duration.
Self-study period (Sep 2022 - Dec 2022)
Self-study period to keep growing professionally by taking courses in several platforms like Udemy or Codely.tv as well as reading development books and articles and putting that knowledge into practice in Github.
Among others, I did courses about Kafka, testing, Docker, Kubernetes and hexagonal architecture.
Engineer Lead @ Wefox (Jan 2022 - Jul 2022)
Mix of tech leadership and management.
My tasks consisted in:
- Participating in the Java Chapter (we followed the Spotify model) by sharing knowledge with the other teams in the company.
- Attending leadership meetings to support and manage any requirements across the company.
- Leading an initiative to integrate CodeClimate with Github in all the teams in the company.
- Defining the priorities and the roadmap in my team (along with product) and aligning with other teams for any dependencies.
- Performing 1:1 meetings with the members of my team to detect any issues and help them to grow up professionally within the company.
- Doing their performance reviews to measure their progress with OKRs.
Senior Java Developer @ Wefox (Jul 2021 - Dec 2021)
Claims domain project. Microservices event-driven architecture with Kafka. Cloud deployment using AWS, Docker and Kubernetes.
Part of my tasks were:
- Migrating the business logic, previously in Salesforce, and adapting the architecture and the data model to onboard in the Italian market.
- Migrating from Java 11 to Java 17, updating the code and our CI/CD pipelines.
- Taking part in the company's selection process, reviewing the candidate's challenge and making the technical interview.
Programmer analyst / Technical lead @ GFT (May 2019 - Jun 2021)
Financing project for Deutsche Bank. Microservices development and component and E2E testing. Technical Lead role, taking part in the decision making, elaborating the technical design of the tasks as well as providing support in the technical part of the development.
Related to the testing, use of ATDD / BDD, refining and defining the scenarios at functional level previously to the development and making use of tools such as Gherkin, Cucumber and Serenity.
Junior / Senior developer and Programmer analyst @ GFT (Mar 2014 - May 2019)
Investment banking project for Deutsche Bank. Java development of messaging and web services.
Official Master of Web Services and Applications Development @ University of Alicante (Aug 2012 - May 2013)
Grade: 8'1. Topics on web development in Java and .NET.
Computer Systems technical engineering @ Polytechnic University of Valencia (Aug 2007 - Jun 2011)
Grade: 7'9
'Hexagonal Architecture' course @ Codely.tv (Dec 2022 - Dec 2022)
'Master Microservices with Spring Boot and Spring Cloud' course @ Udemy (Dec 2022 - Dec 2022)
'Master Java Web Services and RESTful API with Spring Boot' course @ Udemy (Dec 2022 - Dec 2022)
'Kubernetes for developers' course @ Codely.tv (Oct 2022 - Oct 2022)
'Docker' course @ Codely.tv (Oct 2022 - Oct 2022)
'Kafka Streams for Data Processing' course @ Udemy (Oct 2022 - Oct 2022)
'Confluent Schema Registry & REST Proxy' course @ Udemy (Sep 2022 - Sep 2022)
'Learn Apache Kafka for Beginners v3' course @ Udemy (Sep 2022 - Sep 2022)
'SOLID principles' course @ Codely.tv (Sep 2022 - Sep 2022)
Engineering Manager workshop by FΓ©lix LΓ³pez (Apr 2021 - Apr 2021)
http://engineeringmanager.academy/
'Building Modern Python Applications on AWS' course @ Coursera (Mar 2021 - Jun 2021)
'Java Programmer and J2EE Applications Development' course @ LUZ TI (29 Dec 2013 - 18 Feb 2014)
Topics on applications development in Java, Spring and GWT (250h).
'MongoDB for Java Developers' course @ MongoDB (Sep 2013 - Oct 2013)
Spanish: Native
Valencian/Catalan: Native
English: C1
Type: Car / B
- Final master project about Development of a Massive Open Online Course (MOOC) web platform.
- Final degree project about Integration of computer vision techniques and social networks on Android.
Best first year students awards @ Polytechnic University of Valencia (Jan 2008)