
José María López
Verified Expert in Engineering
Team Leadership Developer
Málaga, Spain
Toptal member since February 21, 2018
José is a passionate and proactive person who continuously searches for cutting-edge technologies when solving complex problems. He's extremely familiar with using Angular and Ruby on Rails as a powerful web pair, complementing them with other modules such as D3.js. José also has extensive experience leading and motivating teams, managing projects, communicating with clients, and being part of strategic discussions. He joined Toptal to find mind-blowing projects and work with talented people.
Portfolio
Experience
- Ruby - 11 years
- Ruby on Rails (RoR) - 11 years
- Angular - 8 years
- Team Leadership - 7 years
- Elasticsearch - 6 years
- Engineering Management - 5 years
- CTO - 5 years
- TypeScript - 4 years
Availability
Preferred Environment
Git, Visual Studio Code (VS Code), Linux, MacOS, Docker
The most amazing...
...project I've built was an educational award-winning intelligent platform where I applied Big Data, Machine Learning, RoR, Angular, and other tools like D3.
Work Experience
Senior Ruby on Rails Developer
Beyond Financ (via Toptal)
- Migrated the existing company endpoints to a new Ruby on Rails application, redesigning them to increase consistency and applying the framework's best practices.
- Conducted research about underperforming areas of functionality, identifying the logic bottlenecks, designing and proposing interventions, and leading the implementation changes to optimize the overall system performance.
- Instructed and educated the developer teams on the Ruby on Rails particularities through training, technical talks, code revisions, pair programming sessions, and more.
- Participated in strategic conversations with the company's lead engineers and architects to define the company's technical vision and its products and the direction to solve or mitigate the main technical challenges.
- Organized, led, and supervised general interventions in order to promote proper design patterns, apply best practices, increase test coverage, and improve the overall code quality of the existing systems.
Lead Ruby Developer
Qai
- Implemented a promotional React Native application to increase the company's visibility, identify potential users, and introduce them to the main application and its functionalities.
- Participated in strategic conversations with the company's lead engineers and architects to define the company's technical vision and its products and the direction to solve or mitigate the main technical challenges.
- Implemented code solutions, conducted performance analysis, and applied functionality optimizations to improve the general code quality and increase the system efficiency.
Manager of Developer Infrastructure | Senior Software Engineer
Sensor Tower
- Developed new functionalities on the data acquisition tools such as markets, apps, and users, applying significant improvements on the monitoring, graphing, and analysis tool.
- Performed a deep analysis of the company departments, structures, and teams, generating some company-wise recommendations to improve the general performance, inter collaboration, and long-run professional satisfaction.
- Presented, discussed, and defended previously mentioned recommendations to the stakeholders and investors to get the full agreement and commitment.
- Proposed, helped, and collaborated in some general initiatives that ended up with more committed employees, transparency, trust, and the full automation of most of the processes that weren't generating direct value for the product or the company.
Engineer Manager | Core Member
Toptal
- Assisted and supported my team members, making their work better, more satisfying, and easing the balance between work and personal lives.
- Raised the eNPS from an average of six points to over nine points consistently in one of the biggest teams and one of the most complex, demanding, and pressuring projects.
- Improved project communication and transparency, significantly increasing the satisfaction and collaboration with other teams and professionals.
- Represented my team in front of other groups, departments, and stakeholders.
- Performed deep analysis to identify possible issues, improvement areas, or performance bottlenecks that ended up in clear, specific, and well-estimated interventions that raised the general team performance.
CTO | Senior Software Engineer
Planet Dataset
- Drove the business technological transformation at the strategic, procedural, and technical levels. Also acted as the team coordinator and software engineer reference.
- Directed the technical team's strategy, construction, structuring, and growth, considering the project requirements and the startup situation.
- Conducted the hiring processes of all the technology-required company roles while setting the processes and procedures for the other departments and future hires.
- Started implementing an application using Express.js and Angular to assist professionals and eCommerce with price management. The application followed the microservice approach and was organized around a monorepo pattern.
- Produced and standardized the processes so all the infrastructure-related tasks like staging and production deployment, checking the availability, and creating docker service images were fully automated using GitHub Actions and AWS Fargate.
- Created and defined an optimal development environment to install all the necessary tools and dependencies; and launched the project with all the services required with just one command in less than five minutes.
- Assisted and contributed to all the strategical decisions from an early-stage startup looking for the first investment round to a more consolidated company with solid customers.
- Represented the company from a technical point of view in investment meetings, open talks, and professional events.
- Installed high-desired standards into the design and development processes, team coordination, Scrum methodology, testing, continuous integration, and continuous deployment.
- Established a great satisfaction index on the technical employees reducing the rotation at the same time that the commitment, proactivity, and leadership were significantly increased.
Team Lead | Core Member
Toptal
- Followed, assisted, and supported my team members, trying to make their work better, more satisfying, and ease the balance between work and personal lives.
- Raised the eNPS from an average of six points to over nine points consistently in one of the biggest teams and one of the most complex, demanding, and pressuring projects.
- Improved the transparency and communication of the project, which significantly increased the satisfaction of stakeholders and the collaboration with other teams and professionals.
- Represented my team in front of other teams, departments, and stakeholders.
- Performed deep analysis to identify possible issues, improvement areas, or performance bottlenecks that ended up in clear, specific, and well-estimated interventions that raised the general team performance.
Senior Software Engineer | Core member
Toptal
- Contributed to a general security initiative to assign fine-grained abilities to individuals and teams. My team and I implemented the code changes related to one specific department.
- Coordinated and managed the security initiative for a large department commented above; communication with a general initiative in charge, estimation of tasks, active part of initiative discussions, and onboarding members.
- Designed and implemented an externalization of a complex service from the original titanic monolithic application into a multi-service approach.
- Participated actively in design, implementation, and architecture discussions to define the optimal transition process from the monolith application to the multi-service approach.
Senior Software Engineer | Freelancer
Toptal Client
- Designed, built, and maintained efficient, reusable, and reliable code solutions.
- Analyzed, reported, and assisted in the decision between different strategies and technologies to solve existing problems.
- Developed an autonomous system to fully operate and manage a production-grade MongoDB cluster.
- Documented entire processes and systems, including decisions, strategies, and estimations through adequate articles and diagrams for classes, grant, sequence, use cases, and integration.
Associate Teacher
University of Valladolid
- Taught a course called Parallel Computing and Emerging Models for students pursuing their master's degrees in big data.
- Lectured about the Hadoop Stack: its origin, why it was designed, and how it is used nowadays.
- Gave informative explanations concerning the Hadoop File System (HDFS): its characteristics, useful commands, and practical exercises.
- Passed on my expertise and knowledge about Apache YARN and the Apache MapReduce paradigm about applying the theory to practical exercises and seeing the benefits of this computing model.
- Created practical exercises about Hive on HBase and Apache Pig to teach about the rest of the stack elements.
- Lectured on an advanced aspect about Spark; specifically, the types of problems it tries to solve, its advantages, and many practical exercises using PySpark.
CTO | Senior Software Engineer
Just Optimal
- Consulted for different companies that wanted big data and machine learning solutions to solve their complex problems; explained different options, and guided clients in choosing the one that better matched their needs.
- Implemented a big data service to capture, store, and manipulate vast quantities of data from social networks using the Hadoop stack in a commodity cluster.
- Created an Elasticsearch cluster with advanced rules for distributing, replicating, and accessing the data.
- Migrated a web system to an AWS EC2 auto-scalable solution.
- Designed and implemented a machine learning supervised process to auto-classify social networks data using PySpark with Scikit-learn, SciPy, and MLlib.
- Installed a web service to generate and interpret learning metrics in an educational system. Technologies used were Ruby on Rails, Polymer, PySpark with Sci-kit and MLLib, PostgreSQL, Redis, AWS EC2, and Docker.
CTO | Senior Software Engineer
Bufete de Marketing
- Drove the business technological transformation at the strategic, procedural, and technical levels. Also acted as the team coordinator and software engineer reference.
- Developed a big data and machine learning application to capture our clients' social media information flows.
- Interpreted and classified the social media information and initialized protocols to act accordingly in an autonomous way.
- Created a web application to store and manage all of the company data; this was the main working tool for the analytical department.
- Migrated and evolved the business processing architecture to an AWS-based one.
- Installed high desired standards into the design and development processes for team coordination, Scrum methodology, TDD with RSpec and Jasmine, BDD using Cucumber, and continuous integration processes using Jenkins.
Senior Software Engineer | Team Leader
iTopTraining
- Developed a visual tool for semantical analysis and the correlation of educational content to assist and speed up the process of learning.
- Created an Angular application and advanced D3.js modules to reinvent the student navigation of the content intuitively and graphically.
- Built a Rails API-based application to coordinate all the different technologies involved in the platform.
- Designed and implemented the big data architecture and processes to adequately capture, manipulate, and store vast amounts of data from the students; used an AWS EC2 auto-scalable cluster.
- Created and executed the machine learning algorithms to correctly interpret and correlate the previously acquired data to generate a recommended learning process; used PySpark, Scikit-learn, and MLLib.
- Developed real-time communication modules in Node.js.
- Worked with different case-specific databases, including Neo4J (graph data), Redis (cached data), MongoDB (general-purpose data), Cassandra (fast-access data), and Elasticsearch (semantical data).
Software Engineer
Concurrent Thinking
- Collaborated in the development of a complete data-center management solution.
- Migrated the legacy code from Rails 2 to Rails 4, applying TDD with RSpec and BDD using Cucumber in the process.
- Encapsulated all the back models and processes in an independent Rails API-based application.
- Developed an entirely new AngularJS application to connect with the previously isolated API and divide the once monolithic application.
- Implemented WebGL-based modules into the Angular application to generate a tridimensional user interface to manage the data center.
Business Intelligence Consultant
Indra
- Diagnosed and planned the migration process, researched the legacy code and requirements definition.
- Migrated and upgraded an informational banking system using business intelligence-related tools such as PowerCenter and Teradata.
- Used and managed a Unix environment and the creation of complex commands.
- Handled and utilized a Teradata data warehouse for the main banking processes.
Researcher and Software Engineer
University of Valladolid
- Defined system needs and requirements, the project structure, and the development planning in collaboration with the didactic department.
- Solidified and executed phonetic and linguistic metrics to evaluate the students' pronunciation.
- Built RIA, using Java Applets to interact with the students and present different exercises.
- Developed a JavaEE API to serve as the central core of the application, created all the models and the algorithms to evaluate the phonetic quality and all the required resources.
Experience
Planet Dataset | Intelligent software for price management
https://planetdataset.com/Buzz | Social Network ML Analyzer
This project involves the following technologies:
• Angular for the front-end.
• Ruby on Rails for the core part of the back-end.
• Elasticsearch for the semantically analyzed data.
• Python scripting to load information from social networks APIs.
• PySpark with Scikit-learn and SciPy libraries to interpret and auto-categorize the data.
• AWS EC2 and AWS lambda to build the project infrastructure and define the autoscaling rules.
• PostgreSQL as a general purpose database.
• Redis and Sidekiq as the caching system.
• RabbitMQ to manage the asynchronous tasks.
• Docker to containerize the application.
IAdLearning
The project is divided into the following areas:
• The front-end is completely developed using Angular as a framework in combination with an intensive use of D3.js to generate the interactive graphs for presenting the learning contents to the users.
• The main core of the back-end is developed in Ruby on Rails in combination with a module in Node.js for real-time communication.
• Different database systems are applied for different purposes: Neo4J (content graph data), MongoDB (general purpose), Redis (cached information), Cassandra (extremely high-speed access data) and Elasticsearch (semantically related contents).
• PySpark processes with a high use of Scikit-learn and SciPy libraries to apply machine learning.
Bit | Marketing Tool
It automatically detects, imports, and correlates thousands of marketing metrics, stores historical data, presents auto-generated reports, and assists in all the analyst operations.
The project is developed using the following technologies:
• Angular for the front-end part.
• Ruby on Rails for the main core of the back-end part.
• Redis and Memcached as the caching system.
• PostgreSQL as the general purpose database.
• RabbitMQ as the queue management system for asynchronous tasks.
• AWS EC2 and AWS lambda to deploy the system architecture and defining the autoscaling rules.
• Docker to containerize the application.
Concurrent Command
It was designed with scalability in mind, For that, the system manages hundreds of thousands of metrics every 15 seconds. This provides invaluable support to the business as the client increases the number of sites, devices, racks, servers, and virtual machines that they manage.
The platform was developed as a combination of a Ruby on Rails API and an Angular application on the front-side. Because the performance and connectivity were also one of the most important aspects, a lot of other protocols and technologies were also applied in the back-end part as C, Crystal, PostgreSQL, Python scripts and more. Furthermore, a prototype module was developed in WebGL to create a tridimensional user interface that was more intuitive for the user while interacting with the data center.
Banking Database Migration
Technologies: Informatica PowerCenter, Teradata, MicroStrategy, OracleDB
Castilianify | Research Project
The whole process was raised from the implementation of an RIA (rich internet application) with Applet technology that provides the Java programming language. I also implemented a web server that housed the core application, all the media resources, and all the content that the didactic departments deemed necessary as lessons, levels, and similar.
4D Puzzle
An iOS game consisting of a four-dimensional (three variable dimensions) puzzle.
Game Details
The board is formed by the union of a cube group in a three-dimensional space. The user can handle a ball that is sliding on the surface of the cubes and the goal is to go through all the cubes that make up the stage without repeating. The different aspect is when the ball slides to a position where there is no cube then the whole scenario turns in the same direction and prevents the ball from falling and increases the complexity of the puzzle.
This app was developed as the final project for my web engineering master's degree. I received a mark of 10/10 (with honors). It wasn't published in the App Store due to the restrictive Spanish copyright policy for university content.
This project consists of the following parts:
• Objective-C app for interacting with the users.
• Cocos3D as the graphics library.
• Ruby on Rails API as the main core of the application.
• PostgreSQL as the general purpose database.
Mediterranean Diet | Android Application
This app was developed as the final project for my computer engineering bachelor's degree. I received a mark of 9.5/10. It wasn't published in the Play Store due to the restrictive Spanish copyright policy for university content.
This project consists of the following parts:
• Android application for interacting with the users.
• JavaEE API as the main core of the application.
• MySQL as the general purpose database.
Education
Certificate in Machine Learning
University of Washington | Coursera - Online
Certificate in Big Data
University of California, San Diego | Coursera - Online
Certificate in Big Data Analysis with Apache Spark
UC BerkeleyX | edX - Online
Master of Business Administration (MBA) Degree in Business Administration
EUDE Business School - Madrid, Spain
Master's Degree in Web Engineering
Polytechnic University of Madrid - Madrid, Spain
Certificate in Software as a Service
UC BerkeleyX | edX - Online
Bachelor's Degree in Computer Engineering
University of Valladolid - Valladolid, Spain
Certifications
Machine Learning Specialization
University of Washington via Coursera
Big Data Specialization
University of California San Diego via Coursera
Big Data Analysis with Apache Spark
The University of California, Berkeley | edX
Introduction to Apache Spark
The University of California, Berkeley | edX
Design, Organization, and Evaluation of Video Games
Universidad Europea de Madrid
Advanced Software as a Service
The University of California, Berkeley via edX
Fundamentals of Neuroscience
Harvard University | edX
IELTS, International English Language Testing System
University of Cambridge
Software as a Service
The University of California, Berkeley | edX
Skills
Libraries/APIs
PySpark, Ruby on Rails API, MLlib, OpenGL, Sidekiq, Facebook API, X (formerly Twitter) API, SciPy, Scikit-learn, Node.js, Spark ML, WebGL, D3.js, Polymer, TensorFlow, jQuery, Bottle.py
Tools
Git, Amazon Elastic Container Registry (ECR), GitHub, Docker Compose, Crystal Reports, RSpec, Cucumber, Angular CLI, NGINX, Amazon Elastic MapReduce (EMR), RabbitMQ, Capistrano, Atom, Sublime Text, Informatica PowerCenter, Splunk, IBM Watson, AWS Fargate, Google Kubernetes Engine (GKE), Google Sheets, Jira, AWS IAM, CircleCI, Jenkins, Figma
Languages
JavaScript, Ruby, TypeScript, Java, CSS, Sass, Haml, SQL, Python, SCSS, HTML5, HTML, Unicorn, Crystal, C, Swift, Objective-C, Scala, GraphQL, Bash Script
Frameworks
Ruby on Rails 5, Ruby on Rails 3, Ruby on Rails 4, Angular, Ruby on Rails (RoR), .NET, Cocos3d, AngularJS, Jasmine, Bootstrap, Spark, Yarn, Flask, Django, Hadoop, Express.js, Knockout (Knockout.js), React Native
Paradigms
Object-oriented Design (OOD), Test-driven Development (TDD), Microservices, Business Intelligence (BI), MapReduce, Scrum, Behavior-driven Development (BDD), Agile
Platforms
MacOS, Linux, Amazon Web Services (AWS), Docker, Oracle, Phusion Passenger, Heroku, Amazon EC2, Apache Kafka, Java EE, Apache2, Apache Pig, Unix, AWS Lambda, Kubernetes, Visual Studio Code (VS Code), New Relic, Google Cloud Platform (GCP)
Storage
PostgreSQL, Elasticsearch, MySQL, Teradata, NoSQL, Neo4j, HDFS, Redis, JSON, Memcached, Amazon S3 (AWS S3), MongoDB, Aerospike, Apache Hive, HBase, SQLite, Cassandra, Google Cloud
Other
Team Leadership, Project Leadership, Agile Leadership, Remote Team Leadership, Product Management, Localization, Legacy Code, Machine Learning, Web Scraping, Organic SEO, Puma, Big Data, Web UX, Web MVC, CTO, IT Strategy, Engineering Management, Monorepos, GitHub Actions, Applets, Virtual Reality (VR), Leadership, Communication, Estimations, Reports, Planning, Strategy, Reporting, Analysis
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring