Scroll To View More
José María López

José María López

Madrid, Spain
Member since November 23, 2017
José is a passionate and proactive person who continuously searches for the most cutting-edge technologies when solving complex problems. He's extremely familiar using Angular and Ruby on Rails as a powerful web pair, complemented with other modules such as D3.js. José also is very comfortable working with Elasticsearch, Hadoop, PySpark, and machine learning. He joined Toptal to find mind-blowing projects and work with talented people.
José is now available for hire
Portfolio
Experience
  • Ruby, 5 years
  • Ruby on Rails (RoR), 5 years
  • Python, 5 years
  • JavaScript, 5 years
  • Elasticsearch, 4 years
  • D3.js, 4 years
  • Angular, 4 years
  • PySpark, 3 years
Madrid, Spain
Availability
Part-time
Preferred Environment
macOS, Linux, Atom, Sublime, VS Code, Git
The most amazing...
...thing I've done was applying big data and machine learning with Angular and D3.js advanced UIs to build an intelligent educational platform.
Employment
  • Associate Teacher
    2017 - PRESENT
    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 model of computing.
    • Created practical exercises about Hive on HBase and Apache Pig in order to teach about the rest of the elements of the stack.
    • Lectured on an advanced aspect about Spark; specifically, the types of problems it tries to solve, its advantages, and a lot of practical exercises using PySpark.
    Technologies: Hadoop, HDFS, Yarn, MapReduce, Pig, Hive, HBase, PySpark, Spark, Python
  • CTO | Senior Software Engineer
    2017 - PRESENT
    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 huge 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 autoscalable 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.
    Technologies: Ruby on Rails, Angular, Polymer, Hadoop, Spark, Python, PySpark, Elasticsearch, AWS, Docker
  • CTO | Senior Software Engineer
    2015 - 2017
    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 based application to capture the social media information flows that were related to our clients.
    • Interpreted and classified social media information and initialized protocols to act accordingly in a totally 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 (coordination of the teams, Scrum methodology, TDD (RSpec, Jasmine) and BDD (Cucumber), and continuous integration processes (Jenkins)).
    Technologies: Ruby on Rails, Angular, PySpark, Spark, Python, Elasticsearch, AWS
  • Senior Software Engineer | Team Leader
    2014 - 2015
    iTopTraining
    • Developed a visual tool for semantical analysis and the correlation of educational content in order 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 in an intuitive and graphical way.
    • 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 properly capture, manipulate, and store huge amounts of data from the students; used an AWS EC2 auto-scalable cluster.
    • Devised and executed the machine learning algorithms to properly 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. Neo4J (graph data), Redis (cached data), MongoDB (general purpose data), Cassandra (fast-access data), and Elasticsearch (semantical data).
    Technologies: Ruby on Rails, Angular, D3.js, Spark, Python, Elasticsearch
  • Software Engineer
    2013 - 2014
    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 (RSpec) and BDD (Cucumber) in the process.
    • Encapsulated of all the back models and processes in an independent Rails API based application.
    • Developed a completely new AngularJS application to connect with the previously isolated API and divide the previously monolithic application.
    • Implemented WebGL-based modules into the Angular application to generate a tridimensional user interface to manage the data center.
    Technologies: Ruby on Rails, Angular, Crystal, WebGL, HTML5, SCSS, TDD, BDD, Python
  • Business Intelligence Consultant
    2011 - 2013
    Indra
    • Diagnosed and planned the migration process, research about 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.
    Technologies: PowerCenter, Teradata, Oracle, Unix, Python
  • Researcher and Software Engineer
    2011 - 2011
    University of Valladolid
    • Defined (in collaboration with the didactic department), the needs and the requirements of the system, the structure of the project, and the development planning.
    • Solidified and executed phonetic linguistic metrics to evaluate the students' pronunciation.
    • Built an RIA, using Java Applets, to interact with the students and present different kinds of exercises.
    • Developed a JavaEE API to serve as the main core of the application; I created all the models and the algorithms to evaluate the phonetic quality and all the required resources.
    Technologies: Java Applets, JavaEE
Experience
  • Buzz | Social Network ML Analyzer (Development)

    Buzz is an internal project developed for the capture, treatment, interpretation, and auto-categorization of information coming from different social networks and the correct intervention according to a series of intelligent algorithms in a completely autonomous way.

    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 (Development)
    https://www.iadlearning.com/

    IADLearning is software that extends the capabilities of the learning management system (LMS) to offer students a personalized learning experience. IADLearning is based on the latest developments in educational tech where students have a leading role in their own growth process. It generates customized content recommendations depending on how the student interacts with the content of the course and also presents predictive learning metrics to the teachers in order to optimize the learning process.

    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 (Development)

    Bit is an internal application developed by "Bufete de Marketing" whose main objective is to serve as the main repository of marketing data and the central tool for the analytical department's daily work.

    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 (Development)

    This is the data center infrastructure management (DCIM) product suite, Concurrent Command, It's an easy-to-use, modular, vendor-neutral, and truly customisable DCIM solution that allows the user to manage all his/her data center facility and IT assets within a single framework—enabling the user to save money by reducing risk, delivering significant operational efficiencies, and cutting energy costs.

    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 (Development)

    This project consisted of a migration and upgrade of an informational banking system for one of the most important banking groups in Spain.

    Technologies: Informatica PowerCenter, Teradata, MicroStrategy, OracleDB

  • Castilianify | Research Project (Development)

    This research project focused on the implementation of a software system that supported learning Castilian (Spanish) for foreigners via the recording and subsequent phonetic quality assessment.

    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 (Development)

    An Android application to help the patients in following a Mediterranean diet and many associated services for buying reminders, fridge management, motivational messages, shopping lists, etc.

    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 (Development)

    An Android application to assist the patients in following a Mediterranean diet along with a number of associated services such as buying reminders, fridge management, motivational messages, shopping list, etc.

    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.

Skills
  • Languages
    Ruby, JavaScript, Python, SCSS, Java, HTML5, CSS, Sass, Haml, SQL, C, Swift, Objective-C, Scala
  • Frameworks
    Angular, Ruby on Rails (RoR), Ruby on Rails 4, Ruby on Rails 5, Ruby on Rails 3, AWS EMR, AngularJS, Jasmine, Bootstrap 4, Machine Learning, Cocos3d, Flask, Bottle, Django, Hadoop
  • Libraries/APIs
    Ruby on Rails API, PySpark, MLlib, OpenGL, Sidekiq, Facebook API, Twitter API, SciPy, Scikit-learn, Node.js, WebGL, Spark ML, D3.js, Polymer, TensorFlow, jQuery
  • Paradigms
    Test-driven Development (TDD), Object-oriented Design (OOD), Behavior-driven Development (BDD), Scrum, MapReduce, Agile
  • Storage
    PostgreSQL, Elasticsearch, Teradata, MongoDB, AWS S3, NoSQL, Neo4j, HDFS, Redis, JSON, Memcached, HBase, Apache Hive, Aerospike, MySQL, Cassandra, SQLite
  • Tools
    Crystal Reports, Docker Compose, RabbitMQ, RSpec, Cucumber, Angular CLI, Nginx, Splunk, IBM Watson
  • Platforms
    Docker, AWS EC2, Oracle, Phusion Passenger, Heroku, AWS Lambda, Unix, Apache Pig, Apache2
  • Other
    Business Intelligence (BI), Organic SEO, Web MVC, Web Scraping, Puma, Big Data, Web UX, Virtual Reality (VR)
Education
  • Certificate in Machine Learning
    2017 - 2018
    University of Washington | Coursera - Online
  • Certificate in Big Data
    2017 - 2017
    University of California, San Diego | Coursera - Online
  • Certificate in Big Data Analysis with Apache Spark
    2016 - 2016
    UC BerkeleyX | edX - Online
  • Master of Business Administration (MBA) degree in Business Administration
    2014 - 2015
    EUDE Business School - Madrid, Spain
  • Master's degree in Web Engineering
    2012 - 2014
    Polytechnic University of Madrid - Madrid, Spain
  • Certificate in Software as a Service
    2013 - 2013
    UC BerkeleyX | edX - Online
  • Bachelor's degree in Computer Engineering
    2007 - 2011
    University of Valladolid - Valladolid, Spain
I really like this profile
Share it with others