Gordon Chan's Resume

gchan@fastmail.fm
https://github.com/gordonc


Profile

I enjoy building software systems. I am currently most familiar with Java, C/C++ and Python, but I have experience and interest in working with many different technologies.

Java, C/C++, Python, Ruby, Javascript, Linux

Work Experience

Aug 2014 - Current: Software Development Engineer, Fulfillment Systems
Amazon.com, Toronto, Canada

Jan 2012 - Aug 2014: Lead Software Developer, Product Development
UXP, Toronto, Canada

  • I am a primary contributor to the team creating a personalized, multi-device IPTV solution. I designed and implemented the IPTV solution, including support for Live TV, Video on demand, Pay Per View, Catchup and Timeshift TV. Java, Spring Framework, Hibernate, MVC, REST
  • I added personalized search and social network integration to the IPTV solution. Solr, OAuth
  • I lead an agile software development team of 5 other talented developers.
  • I initiated and lead several projects for managed environments, automated deployments and service monitoring with open source technologies. Puppet, Vagrant, Capistrano, Hubot
  • I initiated and operate the technical internship program.

2008 - Feb 2011: Software Engineer, Trading Systems
OANDA.com, Toronto, Canada

  • I designed and created a service to provide a foreign exchange option product. I implemented backend functionality within the oflux event-based framework. I implemented algorithms and formulae from research documents to continuously price and hedge open options. C/C++
  • I designed and created a proxy to connect the company's trading platform with the MetaTrader platform. The MetaTrader proxy contributes to 25% of total customer trading volume. Python, gevent
  • I updated several service components in a larger team effort to provide web API access for the company's trading platform. After its release, I created several demos and slides for a public HackTO event. C/C++, Javascript
  • Though it was not part of my job, I created an internal search engine solution using open source technologies. Python, Solr, Heritrix

2005 - 2008: Software Development Engineer, Supply Chain
Amazon.com, Seattle, USA

  • I designed and implemented a service to serve product availability messages to customers. The service is a large scale deployment with critical availability requirements. After the initial launch, I initiated and implemented a caching scheme to reduce load by 20x. C/C++
  • I contributed to a team responsibility to update and maintain the company's Global Perpetual Inventory system. As message traffic and business demands grew, we had to intervene to support an outdated system. I participated in investigating the problem, and then in redesigning the system using more robust storage technology and horizontal scaling schemes. C/C++
  • I designed and created an efficient test suite to validate over 100 million product listings for full product catalog migration. Perl
  • I mentored a software engineering student intern.

Summer 2005: Analyst, Drawbridge Special Opportunities
Fortress Investment Group, Toronto, Canada

  • I analyzed the financial models from Excel spreadsheets and then implemented them in a service platform. I implemented shared libraries as appropriate for mathematical functions. C/C++

Fall 2004: Technical Analyst, Cross Markets Arbitrage
Deutsche Bank, Toronto, Canada

  • I implemented and analyzed several algorithms from research documents to compress market tick data. The compression scheme allows compatible models to perform less calculations within some error margin. C/C++
  • I worked on a trading floor while performing various analytical and trading functions.

Fall 2001, Summer 2002, Winter 2003: Software Engineering, Financial Fusion
Sybase, Waterloo, Canada

  • I implemented the Corporate Banking component of the company's enterprise financial platform. Java, J2EE

Education

2000 - 2005: Bachelor of Mathematics in Honours Computer Science Co-operative Program
University of Waterloo, Waterloo, Canada

  • I exceeded senior year computer science course credit requirements. Computer Graphics, Artificial Intelligence, Computer Networks, Numerical Solutions, Computer Algebra, Databases
  • I tutored other students at the Mathematics Tutorial Centre.
  • I graduated with Distinction.

Extra