Miguel Flores

Full-stack Software Engineer

About me

Miguel Flores Ruiz de Eguino

San Francisco Bay Area

I’m currently a software engineer at Google. My main interests are Machine Learning, Software Engineering, Programming Languages and Distributed Systems. My favorite languages are Python, Go and Haskell. I love music and I play the drums. I really like scuba diving, even though I haven’t done it for quite some time. I also love to travel and photography. Food is something I really enjoy, therefore I had to learn how to cook some stuff.

As I said before, I love traveling! I have visited the countries marked with light orange and lived in the ones marked with dark orange. Hopefully this map will be completely orange one day!

Experience

Google / Fuchsia
Google / Fuchsia

Working on exciting projects for Fuchsia!

San Francisco, CA January 2018 - now
Google / YouTube
Google / YouTube

Worked on the API layer and desktop/mobile web side of YouTube Red on projects like youtube.com/new and family plans for YouTube Red, among others.

San Bruno, CA May 2016 - December 2017
Wizeline
Wizeline

Began as an intern, continued as full time. Worked mainly in the backend and devops with Python, Flask, Docker and Kubernetes. Also touched other parts of the stack with JavaScript, AngularJS, ReactJS, and Django. Developed the Request API which allows to integrate a small funcionality of Wizeline in third party applications and led the beginning of the devops team.

Guadalajara, México August 2015 - April 2016
Oracle
Oracle

Conacyt-Oracle-ITESO research project "Databases for real time applications and business intelligence". Most of the time I worked on that project, I was part of the QA development team in Timesten. I worked with some Perl scripts and ODBC tests for the Timesten team. The rest of the time, I worked on the research project with RDMA using the Verbs API.

Guadalajara, México August 2013 - June 2014
ITESO
ITESO

Worked with Dr. Hugo Iván Piza on parallel genetic algorithms to optimize neural networks training.

Guadalajara, México January 2013 - June 2013

Education

In place education

Mälardalen University
Mälardalen University

I studied in Sweden for one year. The courses I took were: Graph Theory, Quantum Computing and Information, Software Validation and Verification, Artificial Intelligence, Mathematics behind the Internet, Computer Graphics, Model-driven Engineering and of course, Swedish.

August 2014 - June 2015 Västerås, Sweden
ITESO
ITESO

GPA 9.81/10

August 2011 - April 2016 Guadalajara, México

Online courses

2017 - today

Completed

  • Convolutional Neural Networks for Visual Recognition Spring 2017

2012 - today

Completed

  • Introduction to Mathematical Thinking Stanford, September 2012
  • Calculus: Single Variable Penn, January 2013
  • Algorithms Pt. I Princeton, February 2013
  • Algorithms Pt. II Princeton, March 2013
  • Machine Learning Stanford, April 2013
  • History of Rock Pt. I Rochester, May 2013
  • Discrete Optimization Melbourne, June 2013
  • History of Rock Pt. II Rochester, July 2013
  • Functional Programming Principles in Scala EPFL, September 2013
  • Introduction to Music Production Berklee, October 2013
  • Automata Stanford, Novemeber 2013
  • Compilers Stanford, March 2014
  • Web Applications Architectures UNM, March 2014
  • Algorithms: Design and Analysis Pt. I Stanford, April 2014
  • The Hardware Software Interface U. of Washington, June 2014
  • Programming Languages U. of Washington, October 2014

2014 - today

Completed

  • Jazz Appreciation The University of Texas, January 2014
  • CS169.1X Engineering Software as a Service Berkeley, April 2014
  • CS169.2X Software as a Service Berkeley, June 2014

2012 - today

Completed

  • Introduction to Computer Science February - April 2012
  • Design of Computer Programas April - June 2012
  • Web Development April - June 2012
  • Introduction to Statistics June - August 2012
  • Software Testing June - August 2012
  • Introduction to Artificial Intelligence Winter 2012, Summer 2013
  • Introduction to Hadoop and MapReduce November 2013
  • Software Debugging January 2014
  • Mobile Web Development January 2014

2014 - today

Completed

  • Introduction to Databases January 2014

Skills

Languages

  • Python
  • JavaScript
  • Go
  • C
  • Java
  • SQL
  • CSS 3
  • Haskell
  • Ruby
  • Shell Scripting
  • C++
Others things I've used at some point: Perl, LaTeX, Prolog, StandardML, MATLAB, Scala, Mathematica

Frameworks, platforms and tools

  • Git
  • Flask
  • UNIX (OSX, Linux)
  • Docker
  • Kubernetes
  • ReactJS
  • Redux
  • JQuery
  • Google Cloud
  • Gulp
  • Polymer
  • Webpack
  • AngularJS
  • Sinatra
  • Ionic
  • Vim
  • Django
Others things I've used at some point: MongoDB, Heroku, Ruby on Rails, Bootstrap

AFK Languages

  • Spanish (native)
  • English
  • Swedish
  • French
  • German

Projects

Personal projects

Chromecaster

Chromecaster

Fall 2015

Application that allows to view local videos and photos on the TV using Google Chromecast. Developed with Electron, React and Redux. Work in progress.

Room Control

Room Control

Summer 2015 - present

Application to control the lights of a room, play music, set up alarms and other things. The app was built with ionic and it connects to a Raspberry Pi running a microservices application built with nameko. Work in progress.

Friendacity

Friendacity

Summer 2012

I made this website with the goal of providing an easy way for Udacity MOOC students to know each other. In Friendacity, Udacity students can arrange meetups, find students who are similar (age, courses, country, etc.) to them and establish contact with them. Developed using Python, JavaScript + jQuery and deployed to Google App Engine. I have stopped working on this project.

University projects

Handwritten Digit Recognition

Handwritten Digit Recognition

Spring 2013

A Neural Network for recognizing digits. Simple implementation, trained using a small dataset generated using the training application that you can see on Github. Developed for the course Data Structures and Algorithms II.

Orkoraptor

Orkoraptor

Fall 2012

Application to draw Flowcharts, run them and generate the code in Ruby, Java, Python and JavaScript. It allows to save the flowchart in .orko files and load those fiels via drag and drop. Written in Java. Developed with Mario Leal for the university course Object Oriented Programming.

Image Segmentation

Image Segmentation

Fall 2014

Implementation of two image segmentation algorithms using Minimum Spanning Forests. The application allows to try different parameters to see their effects on the algorithms and compare them. Developed for the course Graph Theory, Networks and Applications during my exchange period at MDH.

Gamie

Gamie

Fall 2013

Application that allows teacher to setup great online courses and engages students who take them, thanks to gamification concepts like levels, achievements, lifes, etc. Built using Django. Developed with Fernando Padilla, Jorge Barba and Iván Alejandro Rojas for the course Software Design.

Rush Hour Solver

Rush Hour Solver

Spring 2013

Application developed to compare three search algorithms (DFS, BFS and A*) for solving the puzzle RushHour (Unblock-Me). The heuristic used for A* is the number of blocks in front of the main block plus one. Written in Java. Developed with Jorge Barba for the course Data Structures and Algorithms II.

Other projects (personal and university)

Community Detection

Spring 2015

Description and implementation of three community detection algorithms: Girvan-Newman, Markov Clustering and Community Detection via Simulated Annealing. Done with Gina Ardavičiūtė as final project for the course Mathematics Behind Internet during my exchange period at MDH.

Genetics

Spring 2015

Implementation of a general genetic algorithm with examples for optimizing the travelling salesman problem and for training a feedforward multilayer perceptron neural network. Done as part of some assignments and project for the course Artificial Intelligence during my exchange period at MDH.

PyQuantum

Fall 2014

Quantum computing library and Grover algorithm simulation. Developed for the course Quantum Computing and Information during my exchange period at MDH.

Sodascript

Spring 2014

Simple compiler for a simple language that compiles to JavaScript. Developed in Ruby with Juanjo De Anda and Fernando Padilla for the course Compilers.

OpenAutomata

Fall 2013

Small automata theory library part of a project for the course Automata Theory. The library includes regular expressions, deterministic and non deterministic finite automata and context-free grammars. Developed with Jorge Barba.

MicroTweetPi

Fall 2013

System to tweet from a 8052 microcontroller (we used an AT89C52) via a Raspberry Pi. The code running on the 8052 was written in Assembly and the code running on the Raspberry Pi was written in Python. Developed with Jorge Barba and Mario Leal as a final project for the course Microprocessor Foundations.

Contact