Rubén Martínez, Developer in Benicàssim, Spain
Rubén is available for hire
Hire Rubén

Rubén Martínez

Verified Expert  in Engineering

Scripting Developer

Location
Benicàssim, Spain
Toptal Member Since
June 3, 2020

Rubén is a highly motivated senior software engineer continuously updated on state-of-the-art technologies and enjoys programming. He offers five years of experience as a software architect and more than 15 years of experience in the full software development cycle.

Portfolio

Banco Santander
Jenkins, Ansible, Groovy, Java, JUnit, Spock Framework, Docker, Kubernetes...
Essence Group
Java 14, Java, RabbitMQ, Git, Jira, MongoDB, Spring Data MongoDB, Apache Maven...
Docomo Digital
MongoDB, MySQL, RabbitMQ, JavaScript, Google Cloud Platform (GCP), Kubernetes...

Experience

Availability

Part-time

Preferred Environment

Git, MongoDB, MySQL, Python, Google Cloud Platform (GCP), Kubernetes, Docker, Spring Boot, JUnit, Java

The most amazing...

...thing I do is programming: at the age of 16, I built a bot to play a big contest of "Trivia Pursuit," smashing other (human) competitors.

Work Experience

DevOps Engineer

2020 - 2022
Banco Santander
  • Hired as a DevOps engineer in the team Cloud Competence Center, which manages the software lifecycle of all the Bank's software (source management, source repositories, packaging, quality assurance, vulnerability scan, versioning, tracking, and deployment).
  • Selected after just five months to be part of a newly created team to design and implement a new deployment tool used by all technical teams in the bank.
  • Built and tested CI/CD pipelines with multiple technologies.
Technologies: Jenkins, Ansible, Groovy, Java, JUnit, Spock Framework, Docker, Kubernetes, OpenShift, SonarQube, Kibana, Google Cloud Platform (GCP), DevOps

Senior Software Engineer and Architect

2019 - 2020
Essence Group
  • Collaborated to improve their telecare application aimed to improve the lives of elderly adults and any persons that might need quick assistance and report emergencies.
  • Owned the back end side when the previous back end engineer had to leave the company.
  • Re-architected several features of their existing application to cope with new core features.
Technologies: Java 14, Java, RabbitMQ, Git, Jira, MongoDB, Spring Data MongoDB, Apache Maven, REST, Spring, Spring Boot

Senior Software Engineer/Architect

2013 - 2020
Docomo Digital
  • Led the transformation of several independent components managing local subscriptions onto a unique globalized subscription management platform composed of Spring Boot microservices.
  • Maintained and evolved the component that manages all subscriptions and recurring payments in the company—around 10 million calls per day.
  • Evolved the components into a microservices architecture and developed a proof of concept (POC) migration of Dockerized microservices to Kubernetes/OpenShift.
  • Led an IT team of four people across a variety of projects and mentored junior developers.
  • Introduced Scrum as the teamwork methodology with outstanding results.
  • Drove the implementation of integration testing—on top of existing JUnit testing—in the subscription management component.
  • Created Jenkins pipelines in Groovy to automate the deployment process for continuous integration.
  • Implemented an alarm system for unexpected variations in revenues using traditional technologies while at the same time experimenting with machine learning technologies.
  • Designed the REST API of several interconnected microservices and documented it with Swagger. Managed also the API integrations and explored gRPC.
  • Collaborated with front-end engineers to create external APIs to be consumed by web and mobile applications, using JSON Web Token (JWT) for authentication and authorization.
Technologies: MongoDB, MySQL, RabbitMQ, JavaScript, Google Cloud Platform (GCP), Kubernetes, Docker, REST, JUnit, Spring Boot, Spring, Java, Back-end, Regex, SQL, Git, Java 8, Java 11, Microservices, OpenShift, Spring Data MongoDB, Selenium, Spring Data JPA, Elasticsearch, GitLab, Spring Security, Artificial Intelligence (AI), Spring MVC, Web Development, AWK, HTML5, JBehave, Spring Data, Source Code Review, Task Analysis, Apache Kafka

Senior Analyst and Developer

2005 - 2020
Buongiorno
  • Traveled across Europe to install and provide on-site support of the flagship company product directly at the clients' office.
  • Proposed and pushed to adopt new standard technologies, like the new-at-that-time Maven tool to manage dependencies for the company's existing huge projects.
  • Designed and implemented dozens of software solutions in Java with high test coverage in JUnit, while ensuring deadlines were met.
Technologies: Jenkins, JUnit, iBATIS, Apache Maven, MySQL, Apache Tomcat, Liferay, JavaScript, Linux, Ruby, Java, Back-end, Regex, SQL, Java 8, AWK, Task Analysis

Software Engineer

2001 - 2005
MyAlert
  • Owned the existing composer module in charge of rendering web and WAP pages from XML data.
  • Increased the performance of the composing system drastically by proposing a complex SAX Parser instead of the original XML DOM Parser, along with several other optimizations.
  • Used Java and C++ to build tested code under the supervision of the company architect.
  • Developed Bash and Python scripts to automate company processes for an early stage CI, way before CI/CD, Jenkins, and Ansible existed.
Technologies: JUnit, CVS, XSL, XML, JavaScript, CSS, HTML, C++, Java, Back-end, Regex, SQL, AWK

Trading Bot Experimentation

I started to create a trading bot. At the moment, it has an abstraction layer for trading environments that does not offer a REST API. Then it uses pushover to send alarms to a mobile device.

The idea is to build a reinforcement learning agent that would be the real engine of the bot so it learns from its mistakes in a simulated environment. I am currently building a more "realistic simulator" that does not just assume the order was always filled automatically. There is also a "price catcher" for the crypto that tries to get the advantage of lower fees of book orders vs. market orders.

Home Automation and IoT

In my free time, I am experimenting with robotics and home automation devices, going from simple Wi-Fi presence detection, so the radio is automatically switched on/off and also lights depending on the time of day, to using LoRa sensors and TheThingsNetwork.
1996 - 2001

Bachelor of Engineering Degree in Computer Science

Universidad Autónoma de Madrid - Madrid, Spain

NOVEMBER 2017 - PRESENT

Machine Learning With Big Data

Coursera - Y843CKFH48AT

OCTOBER 2016 - PRESENT

Certified Agile Leadership I

Scrum Alliance - 000579026

JANUARY 2016 - PRESENT

MongoDB Certified Developer Associate Exam

MongoDB - 423125700

Libraries/APIs

Vue 2, Jira REST API, Node.js, Vue, REST APIs, Keras

Tools

Apache Maven, Git, RabbitMQ, GitLab, Jira, Jenkins, GitLab CI/CD, Kibana, Amazon Elastic Container Service (Amazon ECS), Google Kubernetes Engine (GKE), Amazon Elastic Container Registry (ECR), Apache Tomcat, CVS, Ansible, SonarQube

Frameworks

Spring, Spring Boot, JUnit, JPA, JBehave, Selenium, Spring Security, Spring MVC, Spring Core, iBATIS, Spock Framework

Paradigms

REST, RESTful Development, Microservices, Continuous Integration (CI), DevOps

Languages

Java, Java 11, Java 8, Regex, SQL, Bash Script, Python 3, HTML, CSS, Python, Groovy, JavaScript, AWK, Sed, Java 14, HTML5, Ruby, C++, XML, XSL

Storage

Spring Data MongoDB, Elasticsearch, MySQL, MongoDB, Spring Data, Spring Data JPA

Platforms

Docker, Kubernetes, Linux, Google Cloud Platform (GCP), Apache Kafka, OpenShift

Other

Back-end, APIs, API Integration, Scripting, Cloud, Groovy Scripting, Source Code Review, Task Analysis, Artificial Intelligence (AI), Machine Learning, Web Development, Liferay

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring