Ph.D Ricardo Moya

I am Ricardo Moya, Ph.D in Science and Technology of Computing for Smart Cities, MSc in Science and Technology of Computing and Technical Engineering in Computer Systems by UPM university. My job experience is focused on R & D, especially in Recommender Systems, Machine Learning and Big Data research, that are my biggest interest and vocation. I have worked in innovation departments related to Smart Cities, IoT and M2M, and i also worked in designing and development a social networks content recommender system and backend developer for mobile apps. I am the Co-Founder of which is a Web page of technical articles and tutorial related to software engineering. Frequently I write articles, i do tutorials and video-tutorials of the following topics: Software Engineering, Artificial Intelligence, Languages Programing (especially Java and Python), Mobile Applications, Web Technologies, Operative Systems and Networks.


Ph.D in Science and Technology of Computing for Smart Cities

Universidad Politécnica de Madrid (UPM)
Feb 2015

The PhD thesis was focused on the areas of Machine Learning and Recommender systems and has been passed with outstanding. The aim of PhD thesis was the designing of a visual and simple inference model that allow users infer by themselves the recommendations from their tastes.

Watch Doctoral Thesis

MSc in Science and Technology of Computing

Universidad Politécnica de Madrid (UPM)
Oct 2012 to Jun 2013

Master in Research and Innovation mainly oriented in Software Engineering and Artificial Intelligence areas. The average note was 9.43, obtaining two enrollment of honor in the subject "Neural Networks and Applications" and in the "Final Project Master".

Watch Final Project      Watch Marks

Degree in Software Engineering

Universidad Politécnica de Madrid (UPM)
Oct 2011 to Jun 2012

Adaptation grade course for technical engineers, completed during 2011/2012. The subjects of the course were passed and the Final Project was done. So far, i do not get the title of graduate because i did not obtain B2 level in english.

Technical Engineering in Computer Systems

Universidad Politécnica de Madrid (UPM)
Oct 2006 to Jun 2011

Degree obtained with an average note of 7.65 and two enrollment of honor in the subjects of Robotics and Mechatronics.

Watch Final Project      Watch Marks


Google Scholar

Hierarchical graph maps for visualization of collaborative recommender systems

A Hernando, R Moya, F Ortega, J Bobadilla
(2013) Journal of Information Science 40 (1), 97-106.

Abstract: In this paper we provide a method that allows the visualization of similarity relationships present between items of collaborative filtering recommender systems, as well as the relative importance of each of these. The objective is to offer visual representations of the recommender system’s set of items and of their relationships; these graphs show us where the most representative information can be found and which items are rated in a more similar way by the recommender system’s community of users. The visual representations achieved take the shape of phylogenetic trees, displaying the numerical similarity and the reliability between each pair of items considered to be similar. As a case study we provide the results obtained using the public database Movielens 1M, which contains 3900 movies.


Big Data Engineer

Logtrust (ABR 2015 - Now)

Development and support for LogTrust Big Data tool.

Technologies: Python, Java, Javascript, MongoDB, MySQL, Linux, Git

Research Scientist in Machine Learning, Recommender Systems & Big Data

The App Date (Nov 2014 to Feb 2015)

Job, orientated to processing and managing large amounts of data (Big Data), obtained with "scraping techniques" through the Internet and "Tor network".

Technologies: Python, Java, Django, MongoDB, PostgreSQL, Elasticsearch, Linux, Git

Recommendation Systems and IA expert

Gigigo Group (Sep 2013 to Sep 2014)

Desing and development of Recommender System of TwentyOne App and development the backend of Whatsred App. TwentyOne recommended content of social networks: Facebook, Twitter and Instagram, based on the tastes that are obtained from the user's behavior in the app.

Technologies: Java, PHP, MongoDB, Spring, Silex, Rest Services, Linux, Vagrant, Git

Research Assistant in Machine Learning and Recommender Systems

Universidad Politécnica de Madrid (Nov 2012 to Jul 2013)

Researcher assistant in "Intelligent Systems for Social and Virtual Environments" UPM university research group. I worked to improve the Recommender Systems based in collaborative filtering, using matrix factorization techniques and other techniques like Machine Learning, Fuzzy Logic and Natural Computing.

Technologies: Java, Python, Matlab, MySql

Research Engineer

Ericsson España (Nov 2011 to Jul 2012)

Job developed in Ericsson Spain innovation department, oriented to finding M2M and IoT (Internet of Things) solutions in the context of Smart Cities. My task was to proposing and developing different prototypes for M2M solutions.

Technologies: Java, C, MySql, Android, Arduino

Personal initiative

Since 2012

Co-Founder of with Ramón Invarato (University collegue). Web page of technical articles and tutorial related to software engineering. Frequently I write articles and do tutorials and video-tutorials on the following topics: Software Engineering, Artificial Intelligence, Languages Programing (especially Java and Python), Mobile Applications, Web Technologies, Operative Systems and Networks.

Expert system of prediction football pools (1X2)

This expert system for predicting football pools (1X2) was created as a project for "Neural Networks and Applications" application subject in the MSc, obtaining by this expert system an enrollment of honor. This expert system was developed using different techniques of "Machine Learning" and doing Scraping (33069 results) to obtain a historic soccer results for the 1st and 2nd Spanish division.

Course Teacher: "Curso iOS desde cero"

AUG 2012

12-houred free course imparted at the Cathedral of Innovation in Madrid, for the aim of introducing people to developing applications for Apple mobile devices (iPhone). This course consist on introducing and management Apple's IDE (Xcode), teaching Objective-C programming language and the principal items of iOS applications (UIPickerView, UITableView, UICollectionView, etc).


Artificial Intelligence

Recommeder Systems

knowledge of the following techniques:

  • Collaborative Filtering
    • Knn
    • Matrix factorization techiniques: SVD & PMF
  • Content Based Filtering
    • LSI/A
    • PLSI/A
    • LDA

Machine Learning

knowledge of the following techniques:

  • Linear regresion
  • Multiple Linear regresion
  • Ridge Regression
  • Regularization
  • Knn (k-nearest neighbors)
  • PCA (Principal Component Analysis)
  • Logistic Regresion
  • Neural Networks
  • SVM (Support Vector Machine)
  • Clustering
  • K-means (Expectation-maximization algorithm)
  • LDA (Linear Discriminant Analysis)

Other Areas

knowledge of the following areas:

  • Fuzzy Logic
  • Natural Computing
  • Scraping

Technologies and Frameworks used in IA

  • Java
  • Python
  • Matlab
  • Gensim
  • Lucene
  • Elasticsearch
  • MongoDB

Software Engineering

Agile Methodologies

I am accredited by "Scrum manager", that certifies that i have the knowledge and competencies to carry out a professional (Product Owner or Scrum Manager) performance in projects working with Scrum Framework and Agile Methodologies.

knowledge of the following tools:

  • Jira
  • Redmine

Software Development Process

knowledge of the following processes, tools and Frameworks:

  • Phases: Requirements, Analysis, Design, Implementation, Verification and Maintenance
  • UML Language
  • Visual Paradigm Uml Tool
  • 4+1 Architectural View Model

Programming Languages, Frameworks and Technologies

Programming Languages

Java (Expert)

Python (Expert)






Version Control System






Mobile Technologies

iOS (Objective-C)



Machine Learning

Machine Learning

Coursera (Jun to Sep 2014)

Course imparted by Ph.D Andrew NG from Standford University. In this course were explained the most used techniques of Machine Learning (Linear and Logistic Regression, Neural Networks, SVM, PCA, Recommender Systems, Anomaly Detection, Clustering, etc)

Watch Course Certificate


MongoDB for DBAs

MongoDB University (Oct to Nov 2013)

This course was orientated to the management of MongoDB in production environments (CRUD, Performance, Replication, Scalability, Backups)

Watch Course Certificate

MongoDB for Python Developers

MongoDB University (Jan to Feb 2015)

In this course was orientated to develop applications with Python, using "bottle framewok" (CRUD, Schema Design, Aggregation Framework, ...)

Watch Course Certificate

Agile Methodologies

Scrum Manager

Scrum Manager (Oct 2014)

The exam of this accreditation, certifies the knowledge to carry out a professional and solvent performance in projects working with Scrum Framework and Agile Methodologies.

Watch Accreditation

Aguile & Lean

MiriadaX (Nov 2013)

Course taught by Ph.D Javier Garzas of Rey Juan Carlos University. In this course are explained the Scrum framework to management agile software project.

Watch Course Certificate

Web Technologies

Development of cloud services with HTML5, Javascript and Node.js

Miriada X (May to Aug 2015)

Course oriented to develop web applications with Node and Express (javascript).

Watch Course Certificate

Training Course Ericsson R & D

Ericsson (Sep to Oct 2011)

Course of pre-selection staff to access to Ericsson Spain Innovation department. In this course were taught different subjects: Advanced OOP (Java, C ++), advanced communications networks, Data Stream Mining, Data Stream Processing, Linux, Technologies for Development Web systems, IPv6, etc.

About me

I am a sport resistance fan: Athletics, Cycling, Swimming and Triathlon especially; sport that I practiced in a "Semi-Profesional" way. During this period, I won two individual Spanish Championships (GR20-24 in 2006 and U23 Long Distance Spanish Championships in 2008) as well as many championships in Spain (both individual category and team): Club League Championships, Madrid Championships and many podiums in triathlons and popular races like "San Silvestre Vallecana" and "Canillejas" in Promise category. I also ran Madrid's Marathon in 2010 and an IronMan in Barcelona (3.8km swim, 180km bike and 42,2Km running) considered one of the hardest races in the world, in 2009.      

On the other hand, I am "Ciclo Indoor" monitor (by the FEDA) with more than three years of experience teaching.