Overview

I am an Electrical Engineer turned Software Engineer, with experience in:

  • Sensing, Signal Processing: Computer vision, sensor signal processing (inertial, PIR, acoustic, etc.), sensor-based behavior recognition, and more.
  • Data Analysis: Processing large datasets from internal logs, from 3rd party sources, from distributed hardware sensors, etc.
  • Systems: Distributed, low-power, and resource-constrained embedded systems.
  • Visualizations: Skilled at conveying high-level information with interactive visualizations.
  • Web development: Full stack engineer, developed numerous web apps, management consoles and dashboards.
  • Android development: Research-oriented and prototype apps on mobile phones.

Experience

Google Apps
July 2014 – present
Software Engineer
Undisclosed project within Google Apps

Project summary

I will let you know more info when I can :)

Responsibilities

Founding member of the probject, and tech lead for the web team.

Google[x] / Google Research
April 2013 – June 2015
Software Engineer
Yet another undisclosed project

Project summary

All I can say is we were working on something AI–adjacent, involving something crowd-sourcing–like.

Responsibilities

Tech lead for the project. Worked with the team on system architecture, web frontend engineering, backend engineering, product definition, and even some web / Android UX design. We were a small team of 15 or so people, and everyone wore lots of hats.

Google Inc.
November 2011 – April 2013
Software Engineer
Infrastructure Quantitative (IQ) group

Project summary

Optimization of datacenter capacity placement around the world, with the goal of minimizing quantities such as latency, cost, and power consumption, and maximizing revenue. This included analysis of large-scale datasets such as web traffic from different countries/languages/devices as well as worldwide socio-economic trends, to build models of how such quantities vary over space and time. Using these models, we produced recommendations for datacenter capacity placement around the world for the next few years. I also created tools to allow other engineers to quickly use our models, visualize the many inputs, and interact with our results. We worked towards automating the entire datacenter capacity optimization problem.

Responsibilities

Working in a tightly knit team, at times collaborating on our various sub-projects, and at other times taking a leading position in them; Coordinating with other groups in order to facilitate greater understanding of our results, as well as greater sharing of our algorithms and codebase; Producing written reports, arranging regular meetings, and making presentations to a wide audience of interested parties.

INRIA Paris-Rocquencourt
Oct. 2010 – Oct. 2011
Post-Doctoral Research Fellow

Project summary

Worked in the EU-funded CHOReOS project to build a system for service choreographies in the Internet of Things (IoT). Designed the high-level architecture for a data-fusion middleware that would allow non-experts to query the IoT and automatically produce physical inferences and actuations. Started development of this middleware, building, as a first step, a sensor-management service for Android- and Linux-based “things”, called ThingLib.

Responsibilities

Driving the design of our data-fusion middleware for the IoT; Collaborating with other universities and research institutes involved in CHOReOS; Co-supervising PhD and Masters students.

Yale University
Sept. 2005 – Sept. 2010
Graduate Research Assistant

Project summary

Devised a person-tracking and identification system that employs cameras and wearable sensors to identify in a video each each person carrying an inertial-measurement unit (such as a modern cellphone). Developed a lightweight tracking algorithm for real-time operation in resource-constrained embedded systems. Developed drivers, middleware, and a web-based console to operate and remotely manage a network of camera nodes. Investigated different methods and sensing modalities for person detection and activity recognition.

Responsibilities

Responsible for driving the person-tracking and indentification project, developing an end-to-end human-sensing solution; Building and maintaining remote deployments of sensor nodes in real homes for multiple months without physical access; Supervising undergraduate research projects and graduate-level class projects.

Education

Institution Degree Field Date
Yale University Ph.D. Electrical Engineering Dec. 2010
Yale University M.S., M.Phil. Electrical Engineering May 2007
Johns Hopkins University M.S.E. Electrical Engineering May 2005
Johns Hopkins University B.A. Mathematics May 2003
Johns Hopkins University B.S. Electrical Engineering May 2003

Selected Publications

Published over 20 peer-reviewed articles. An abridged list follows. The full list is available at thiagot.com/publications.html.

Journals

Conferences

Patents

Technical Skills

Graded on a most unscientific scale.

Programming and Hardware Design Languages

  • Fluent: C, JavaScript, Java, Matlab, Python
  • Advanced: R, SQL
  • Intermediate: C++, C#, VHDL

Markup and Style Languages

  • Fluent: CSS, HTML, LaTeX, XHTML

Tools, Libraries, Frameworks and Environments

  • Fluent: AngularJS, Closure, d3.js, Django, jQuery, Pylab
  • Advanced: OpenCV, Xilinx ISE
  • Intermediate: Cadence, HSPICE simulator

Natural Languages

  • Fluent: Portuguese (native), English
  • Intermediate: Spanish, French