CV

This is what I do.

For a pdf version of my CV, please click here.


Professional Experience



Working

Multiple technologies integration and software development for projects in the Railway Industry; i.e., CCTV systems or passenger information and entertainment systems.

  • Software design and implementation for a NVR (Network Video Recorder) used in aboveground and underground trains.
  • Design and development of on-board automatic diagnostics for different systems in the train. C++11
  • Design and development of graphical interfaces for the end-clients. Qt, OpenGL
  • Testing and validation of computer vision solutions for abandoned objects detection.
  • Technical support for different departments of the company (PC applications, sales, project managers…)
  • Scrum methodologies used for faster and leaner software development and production.
  • Development of hours tracking tools for internal use to monitor the project progress. Based on redmine and develop on redmine and developed using python, jupyter notebooks and pandas.

Skills: C++ (98/11), Object Oriented Programming, Multithreading, REST, CGIs, Fast-CGIS, Python, Bash, Linux, HTML, Javascript, PHP, Eclipse, Docker,
Projects: Civia for Alstom/RENFE, Mexico Metro for CAF, New York Metro North Railways, Toluca Metro, Guadalajara Metro, GreenLine Metro, Maryland Metro

I was the main developer of an open-source high-performance C++ implementation of the RTPS (Real-Time Publish Subscription) standard of the OMG (www.omg.org). This protocol was designed to manage communications in publish-subscribe frameworks. I also contributed to the writing of the proposal of European Projects. I received a Torres-Quevedo grant from the European Social Funds. I also generated different GUI-applications using the Fast RTPS product I developed.

Skills: C++, Boost, Asio, Eclipse, Bash, Bat, Windows, Linux, Microsoft Visual Studio.

MultiRobot Systems for security and surveillance in Critical Infrastructures

Skills: C++, Boost, ROS, OpenCV, PCL, Linux
Projects: ROTOS, NMRS

Dynamic object detection system from UAV based on optical flows differences, supervised by Dr. Bruce MacDonald

Skills: OpenCV, C++

GUI-based application to optimize the documentation process of simulation and testing reports.

Skills: Matlab

Scholarship and Grants

Study of the CANBUS devices, protocols and data in different automobiles.

Transportation and storage problem resolution using centralized control algorithms.



Education


Thesis info

  • Title: Detection and Tracking of Dynamic Objects. A MultiRobot Approach to Critical Infrastructures Surveillance.
  • Advisors: Advisors Jaime del Cerro and Antonio Barrientos.
  • Description: My thesis was focused in MultiRobot Systems for security and surveillance of Exterior Critical Infrastructures (CI). I have developed detection of dynamic objects algorithms for both aerial and ground robots. A Point Cloud based robot localization system has also been developed.

Skills: Mobile robotics, Simulation, Webots, ROS, PCL, OpenCV, C++.

Self Education

Using Scala to analyze data sets small to large; from parallel programming on multicore architectures, to distributed programming on a cluster using Apache Spark. Completed 2 of the 5 courses.

  • Functional Programming Principles in Scala.
  • Functional Program Design in Scala.
  • Parallel Programming (in progress).
  • Big Data Analysis with Scala and Spark (in progress).

Building 10 real-world applications. Python course covering web, databases, web scraping, data science, web visualizations, image processing.

Execute the most useful query and table aggregation statements for business analysts, and practice using them with real databases.


For a complete list of all the tools and technologies I have knowledge on, please click here.


Computer Skills


C++
Large experience in different projects with multiple libraries (Boost, OpenCV, STL, C++11). Experience with performance improvements techniques and profilers tools.

Python
Experience with different multi-purposes modules. Object oriented programming. Experience with data analytics libraries such as pandas, numpy, matplotlib, seaborn, bokeh, folium, ...

Other
Scala, C#, Java, SQL, bash, batch

Programming
Great experience in Object Oriented Programming, concurrency and multithreading issues. Experience in Functional Programming. UML design. Qt GUIs.

Development
Git, SVN, Docker, Jupyter notebooks, IntelliJ, Eclipse, CMake, Makefile, Microsoft Visual Studio, GDB debugger, Valgrind, ... SCRUM methodologies and Agile development. Test Driven Development.

Linux
Large development experience in Linux based systems using terminal-based utilities.

Virtualization
Virtual machines, chroot, Docker, docker-compose.


Engineering Processes


Production
Experience in the full product cycle from prototypes validation, to testing, to validation, to client technical support.

Hardware
Sensor and actuator control. I2C, 485, ethernet,... Experience with train related equipments: cabin monitors, cctv cpus, passenger monitors, TCMS, MVB,..

Simulation
Webots, Player-Gazebo, Simulink.

Matlab
Fast prototyping of algorithms. Graphical Interfaces.

Robotics
Mobile and aerial robotics (UGV y UAV), Robot Operating System (ROS).

Computer Vision
Expert development in OpenCV and PCL (Point Cloud Library).



Languages


Spanish
Native language

English
Full proffesional competence
High written and spoken level

German
Basic proffesional competence
Zentrale MittelstuffePrüfung of the Goethe Institut (C1).