tom@tomflanagan.ca // 650.924.2456 // LinkedIn Tom Flanagan |
|
Technology |
Algorithms & data structures, systems programming, performance measurement, analysis, and optimization |
ExperienceZoox, Inc
Foster City, CA
|
Staff Software Engineer
// Jun 2016 - Current
Systems Engineering and Integration team
|
Google, Inc
Mountain View, CA
|
Software Engineer III
// Jan 2015 - June 2016
Worked on Google Maps for Android app, improving performance and stability
|
SimplyHired.com
Sunnyvale, CA
|
Senior Software Engineer
// July 2013 - Jan 2015
Worked on the Partner Platform team on a full stack launch of SimplyHired's new hosted job board solution.
|
Pagebites, Inc.
imo.im
Palo Alto, CA
|
Software Engineer
// June 2010 - Sept 2012
imo.im is an instant messenger aggregation service that allows you to sign in to many different chat networks. It includes clients for web and mobile devices.
|
Software Engineering Intern
// Summer 2009
Developed a multi-user, realtime collaborative whiteboard for imo.im as an intern project, using Python, JavaScript, AJAX, and new HTML5 features. |
|
University of Calgary
Artificial Intelligence Lab
Professor Jörg Denzinger
|
Research Assistant
// Summer 2007, Summer 2008
|
Education |
University of Calgary
// Calgary, Alberta, Canada
B.Sc. First Class Honours in Computer Science, Minor in Pure Mathematics // Class of 2010 4.0 Computer Science GPA / 3.85 Overall GPA
Honours Thesis:
Realtime Photon Mapping in the GPU
|
Personal Projects
github.com/knio
|
CarHack
Automotive data-logging and analysis application. Interfaces with a car's ECUs and other sensors. Reverse engineered controller outputs for the Nissan 370Z. Records and displays in real-time extremely high precision telemetry for racing analysis. SSHSecA web service that tests the security of SSH servers, alerting about common vulnerabilities and configuration problems. DominatePython library for creating and manipulating HTML documents using an elegant, concise DOM API. pynmea2Python library for parsing and generating NMEA 0183 messages, the communication protocol used by GPS and marine navigation devices. dominate.jsJavaScript library for creating an manipulating DOM/HTML objects. everdbA python embedded database engine with efficient on-disk data structures. plokJavaScript library for interactive and real-time graphs of time-series data. SoylentSoftWebsite to help students easily find and schedule their classes at the University of Calgary. eRacerC++ & Python multiplayer 3D racing game based on F-Zero. UltiGPXJava desktop application for viewing and editing GPX log files, with integration of Google Maps and Google Earth. |
Competitions |
Competed in many programming competitions, individually and on teams. These competitions involve being given a set of algorithm problems with limited time (1 to 5 hours) to solve as many as possible. |
2007 |
|
2007 |
|
2007, 2008 |
|
2008, 2009 |
|
Scholarships |
University of Calgary |
2007 |
|
2007, 2008, 2009 |
|
2007, 2008 |
|
2009 |
|
2009 |
|
2009 |
|
Publications |
C. Thornton, T. Flanagan, J. Denzinger, and J.E. Boyd. Evaluating Goal Ordering Structures for Testing Harbour Security Policies. IEEE CISDA 2011, April 11-15, pp. 1-8, Paris, France T. Flanagan, C. Thornton, and J. Denzinger. Testing harbour patrol and interception policies using particle-swarm-based learning of cooperative behavior. IEEE CISDA 2009, July 8-10, pp. 1-8, Ottawa, Canada |
Volunteering |
2008, 2009 VP Academic of the Computer Science Undergraduate Society (CSUS)
|
Interests |
Rock climbing, Photography, Motorsports |