Ruben Garcia Lopez, Developer in Oviedo, Spain
Ruben is available for hire
Hire Ruben

Ruben Garcia Lopez

Verified Expert  in Engineering

Software Developer

Location
Oviedo, Spain
Toptal Member Since
May 25, 2015

Ruben is a software engineer with more than 16 years of experience developing successful websites for multinational companies. He specializes in OO design and functional programming. With first-class analytical, design, and problem-solving skills, Ruben always delivers projects on time while maintaining the highest quality standards.

Portfolio

Resleeve
React, TypeScript, OpenAI, GraphQL, WebSockets, Realm...
Aspire
React, Apollo, TypeScript, Node.js, GraphQL, REST APIs, PostgreSQL, Next.js...
Unir
React Native, iOS, Android, Team Leadership, User Interface (UI)

Experience

Availability

Part-time

Preferred Environment

Git, Linux, MacOS, Visual Studio, GraphQL

The most amazing...

...project I've coded is a real-time platform to handle large amounts of data efficiently, saving the company's time and significantly lowering operational costs.

Work Experience

Lead Software Engineer

2023 - 2023
Resleeve
  • Oversaw the development of the MVP of the product from scratch.
  • Developed a user interface facilitating prompt-driven image generation for personalized clothing.
  • Integrated generative AI models through APIs for image creation based on user prompts.
  • Collaborated with designers to ensure seamless integration of user interface and design elements.
  • Integrated the product with a platform for payments.
Technologies: React, TypeScript, OpenAI, GraphQL, WebSockets, Realm, Google Cloud Platform (GCP), Vertex, Tailwind CSS, Apollo, Team Leadership, User Interface (UI)

Lead Software Engineer

2021 - 2023
Aspire
  • Led the architectural design and technical decisions related to React projects. Defined the overall project structure, component hierarchy, and data flow.
  • Involved in technical problem solving; helped the team tackle complex technical challenges, troubleshoot issues, and provide guidance on best approaches to problem-solving.
  • Provided technical leadership and guidance to a team of software engineers working on React projects. Mentored junior developers and fostered a collaborative and innovative environment.
  • Communicated technical decisions, project status, and updates to technical and non-technical stakeholders. Bridged the gap between technical and business teams.
  • Collaborated cross-functionally and closely with product managers, designers, and back-end engineers to ensure seamless integration of front-end components with the overall application.
  • Contributed to task planning; broke down project requirements into manageable tasks, prioritized them, and assigned them to team members based on skills and capacity.
  • Provided accurate time and effort estimates for tasks and projects and tracked progress to ensure timely delivery.
  • Involved in process enhancement; identified opportunities to improve development processes, tools, and workflows. Introduced best practices and automation to streamline development.
  • Contributed to learning and development; encouraged team members to enhance their skills and knowledge in React and related technologies. Provided resources and learning opportunities.
Technologies: React, Apollo, TypeScript, Node.js, GraphQL, REST APIs, PostgreSQL, Next.js, CI/CD Pipelines, Team Leadership, User Interface (UI), PostgREST

Lead Software Engineer

2021 - 2022
Unir
  • Developed a mobile application aimed at people with disabilities to favor their socio-labor integration and reduce the digital divide.
  • Provided technical leadership to the development team. This includes mentoring junior developers, conducting code reviews, and guiding the team in making technical decisions.
  • Played a key role in designing the architecture of the React Native application. This involves making decisions about how the app will be structured, which libraries and frameworks to use, and how data will be managed.
  • Enforced coding standards, best practices, and code quality within the development team. This includes conducting code reviews, setting coding guidelines, and ensuring the codebase's maintainability.
  • Collaborated with other teams, such as product managers, designers, and QA engineers, to ensure the successful development and delivery of the application.
Technologies: React Native, iOS, Android, Team Leadership, User Interface (UI)

Software Engineer

2016 - 2021
iQualify
  • Created responsive and visually appealing user interfaces using HTML, CSS, and JavaScript frameworks (Angular).
  • Collaborated with designers to bring user interface designs to life, implementing user interactions and dynamic content to enhance the user experience.
  • Designed and developed server-side logic using JavaScript-based technologies like Node.js or back-end frameworks like Express.js.
  • Built APIs to facilitate communication between the front-end and back-end components.
  • Designed database schemas and models to store and manage application data efficiently.
  • Optimized database performance through indexing, caching, and query optimization techniques.
  • Integrated front-end and back-end components to ensure seamless communication.
  • Wrote unit and integration tests to identify and fix bugs early in the development process.
  • Collaborated with other developers, designers, and stakeholders to deliver timely features and projects.
  • Performed automated testing and continuous integration to maintain code quality.
Technologies: AngularJS, Angular, Node.js, Express.js, MongoDB, React, CI/CD Pipelines

Software Engineer

2013 - 2016
Thomas Cook
  • Migrated a desktop web application to a fully responsive platform compatible with all modern devices, increasing web traffic.
  • Developed and centralized the site to become compatible across multiple regions and languages.
  • Built a REST API to collect data from partner companies.
  • Created a mapper to standardize incoming data, ensuring data integrity and easing data management.
Technologies: MongoDB, Angular, Node.js, Backbone.js, CI/CD Pipelines

Software Engineer

2012 - 2013
MegaNexus
  • Used Lucene to create a full-text search library that increased the search functionality of our application by 40%.
  • Created a new, token authentication-based security mechanism to manage user authorization and permissions.
  • Designed and implemented web services for use across different types of devices.
  • Created reusable front-end templates for use across a website.
  • Designed and implemented the data model being used in a security-critical website.
Technologies: Apache Maven, MySQL, Hibernate, Spring AOP, Spring Roo, Spring MVC, Java

Web Developer and Technical Lead

2007 - 2011
Software AG
  • Created the website for Madrid City Tours, built from scratch using Liferay Content Management.
  • Migrated the website of our client ALSA to a new platform built with Vignette. The increased functionality and user friendliness increased online sales by 15%.
  • Created a checkout process integrating several payment methods, such as PayPal and Visa.
  • Handled the development and maintenance of the quality of coding across the team.
Technologies: CSS, HTML

Web Developer

2006 - 2007
Izertis
  • Created a platform for tracking and managing registrations to courses for a nationwide training and development company.
  • Managed the configuration of application servers like WebSphere.
  • Implemented business tests for integration of services and processes prior to the system going live.
  • Developed an HR system for requesting and tracking employees' annual leave and sickness.
  • Used Acegi to ensure the data integrity and security of the above-mentioned system.
Technologies: JavaScript, CSS, HTML

Web Developer

2006 - 2006
Seresco
  • Developed and maintained web applications within accounts, payroll, and purchasing, to name a few.
  • Deployed web applications in several environments.
  • Created JUnit tests for the different functionalities of the website.
Technologies: CSS, HTML

Calories Tracker

https://github.com/rugarcialopez/node-angular-app
An application for tracking the input of calories.

REQUIREMENTS
• The user must be able to create an account and log in.
• When logged in, the user should see a list of his meals and calories (calories are entered manually; no auto calculations) and be able to edit and delete them.
• Each entry should have a date, time, text, and number of calories.
• The user should be able to filter by date from-to and time from-to (e.g., the number of calories for lunch each day in the last month if lunch is between 12 and 15 hours).
• It should feature a user setting–expected number of calories per day.
• When displayed, it turns green if the total for that day is less than the expected number of calories per day. Otherwise, it turns red.

Attendance App

https://github.com/rugarcialopez/attendance
A React-based application for monitoring attendance using Redux as state management. Users must be able to create an account and log in.

It includes at least three user roles with different permission levels:
• A student should be able to log in, see a list of classes that have occurred to date, and say that they attended.
• A teacher should be able to log in, create new classes, edit old classes, see who has claimed they have attended a particular class, and then approve or reject claims.
• An admin should be able to do everything.

Next.js Attendance App

https://github.com/rugarcialopez/attendance-nextjs
A React-based application for monitoring attendance using Next.js. Users must be able to create an account and log in. It includes at least three user roles with different permission levels:
• A student should be able to log in, see a list of classes that have occurred to date, and say that they attended.
• A teacher should be able to log in, create new classes, edit old classes, see who has claimed they have attended a particular class, and then approve or reject claims.
• An admin should be able to do everything.

Repair Shop

https://github.com/rugarcialopez/auto-repair-shop
An application that helps run a small auto repair shop.

• The application is React-based.
• The application performs all user actions via the REST API, including authentication (https://github.com/rugarcialopez/repair-api).
• Users must be able to create an account and log in.
• It includes at least two user roles: manager and user.

Managers can:
• Create, read, edit, and delete repairs.
• Create, read, edit, and delete users and managers.
• Filter repairs by date, time, user, complete, or incomplete.
• Update repairs as complete or incomplete.
• Assign users to repairs.
• Comment on any repair at any time.
• Approve repairs marked as complete by users.

Users can:
• Mark repairs as complete. Users cannot undo this action.
• See a list of repairs assigned to them and filter by date, time, and complete/incomplete.
• Comment on any repairs at any time.

Repairs:
• Each repair has a date and a time.
• A repair always lasts for one hour.
• Repairs cannot overlap. The same facility is being used for all repairs.
• Repairs can be marked complete or incomplete by a manager.
• Repairs can be marked as complete by a user. Users cannot undo this action.
• All repairs can be commented on.

Bike Rentals

https://github.com/rugarcialopez/bike-rentals
An application to manage bike rentals and has at least two user roles: manager and user.

Each bike will have the following information in the profile: model, photo, color, weight, location, and a checkbox indicating if the bike is available for rental or not.
1998 - 2005

Bachelor of Engineering Degree in Computer Science

Oviedo University - Oviedo, Spain

Libraries/APIs

React, React Redux, Node.js, REST APIs, Backbone.js, PostgREST

Tools

Mongoose, Redux Toolkit

Frameworks

Angular, AngularJS, Next.js, Redux, React Native, Express.js, Jest, Tailwind CSS

Languages

TypeScript, JavaScript, CSS, HTML, SQL, Less, GraphQL

Platforms

iOS, Android, Google Cloud Platform (GCP)

Paradigms

REST

Storage

MongoDB, PostgreSQL, Realm

Other

Hooks, APIs, Team Leadership, User Interface (UI), Chakra UI, Apollo, Computer Science, CI/CD Pipelines, OpenAI, WebSockets, Vertex

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