Simple conversion to Word doc of
Michel Charlton
- Objective
- Summary
- Experience
- Education
- Technical Skills
- FAQ
- About Me
- Contact
Objective
I'm currently seeking a position of leadership in an Ottawa-based company that values investing in technical excellence.
Summary of Qualifications
- Experience building engineering teams
- Track record delivering scalable web services with high performance and stability requirements at both Microsoft and Google
- Broad technical experience coding in multiple languages, including Java, C# and TypeScript
- Financial experience working at RBC, Morgan Stanley and BlueCrest Capital
- Entrepreneurial, self-reliant, and works well as an individual contributor, team member or team leader
- Excels at communicating with non-technical audiences
Experience
Scripps Networks Interactive
Software Development Lead (Contract)
Media - Content Delivery & Technology
Remotely from Ottawa, Canada
10/2014 - Present
- Led an awesome remote full-stack development team. Collectively, we:
- Expanded the media ingest workflow to accept media from both tape-base specialized hardware and cloud-based file transfers
- Migrated a variety of legacy ingest services into a micro-service architecture
- Implemented a Task Dashboard service to gracefully transition from manual processes to automation
- Expanded the media asset management system to support social media and digital distribution
- Replaced the close-caption embedding workflow
- Implemented a revision service to track the change history of ingested media
- Were first adopters in the company's cloud migration effort.
- Were early adopters of the company's TypeScript/Angular 2+ effort.
- Java
- TypeScript
- Angular
- Jersey
- JMS
- Spring Boot
- Spring Data
- AWS
Royal Bank of Canada
Software Development Lead
IT Finance Core
Toronto, Canada
11/2013 - 10/2014
- Led the development of the Profit and Loss reporting system for RBC Capital Markets' worldwide operations
- Made significant contributions towards the greater Core team's platform-based strategy
- Mitigated risk by soliciting feedback from the business early and often using demos and prototypes
- Hired contractors. Worked with HR to improve contractor procurement process
- Angular
- Java
- SQL
- Oracle
Morgan Stanley
Software Consultant (via Sugar Maple Ltd)
OTC Exotic Derivatives
London, England
11/2012 - 10/2013
- Helped implement a service to accurately capture risk positions taken by the OTC Exotic Derivatives trading desk for deal-related payments. Deployed in London, New York and Hong Kong.
- Worked on multiple stabilization projects on the TX core engineering team
- Conducted a technical cost assessment of the TX technology stack, resulting in technical recommendations geared at cost reduction
- Java
- Scala
- SQL
- Spring
- JBehave
Ticket.com
Engineering Director, Co-Founder
London, England
1/2010 - 10/2012
- Responsible for all technology decisions in the firm
- Hired a mixed team of local full-time and remote contract developers
- Architected and implemented a scalable multi-tiered e-commerce website that processed secure payments and aggregated ticket inventory from multiple affiliate feeds
- Represented engineering in quarterly reviews with our investors
- Led Agile sprint process
- Contributed daily to the development process
- Java
- Scala
- SQL
- Memcached
- In-memory HSQLDB
- Amazon AWS
BlueCrest Capital Management LLP
Lead Engineer
Systematic Trading, Data Platform
London, England
11/2008 - 1/2010
- Stabilized the network of legacy data services that the existing systematic trading platform depended on to trade over $9.5B worth of assets
- Architected a replacement Data Inventory Management System (DimSum) to provide a reliable, maintainable alternative that could scale to meet the demands of their next generation trading systems
- Hired a mixed team of local full-time and remote contract developers
- Trained a data operations team to take over day-to-day support
- C#
- Vertica
Lead Engineer
The Engineering Underground
London, England
8/2007 - 10/2008
- Founded an internal developer community within Google
- Led an EMEA-wide cross-functional initiative of 100+ engineers and 100+ sales people over 25 offices
- Secured the support and managed budget from Sales and Engineering VPs
- Implemented project tracking infrastructure to capture requests, encourage collaboration and measure impact
- Launched an internal data pipeline service to enable rapid development of analysis and reporting projects
- Successfully lobbied for policy changes to empower and reward engineers
- Delivered a variety of projects that increased productivity and generated significant revenue
- Introduced C# coding style guidelines in to Google codebase with Jon Skeet
- Java
- C#
- Python
Software Engineer
Google Mobile Load & Performance Tech Lead
London, England
2006 - 2008
- Participated heavily in hiring and mentoring to build the London engineering team (Ranked 4th for most interviews given among Google engineers in Jan 2007)
- Implemented a performance monitoring service that ran a battery of simulated mobile client requests against all mobile-supporting Google services
- Developed a model-based testing service that tested mobile applications on Blackberries by remote control
- Hosted European Testapalooza internal engineering mini-conference
- Gave multiple technical lectures on performance tuning
- Java
- Java ME on Blackberry
- Bigtable
Macadamian Technologies
Software Engineer
Telephony Server Contract for Nortel Networks
Ottawa, Canada
2005 - 2006
- Implemented support for SIP protocol and Voice over IP features for Nortel's small business telephony switches.
- Java
Microsoft
Software Design Engineer
Redmond, WA, USA
2001 - 2005
MSN Ads Performance Testing
- Analyzed and made recommendations to improve the performance and stability of MSN's data storage and ad delivery servers
- Designed and ran realistic simulations of system components
- Wrote efficient tools to drive simulations, analyze and present results
- Mentored new employees and peers on performance testing methodologies
- Microsoft Training courses:
- Dale Carnegie Leadership Course (2005)
- SQL Performance Tuning and Optimization (2004)
- Advanced C#: (2005)
- Writing High Performance C# .Net Web Applications (2003)
- Windows Debugging (2002)
- C++
- C#
- SQL
- VB.Net
- JavaScript
- Perl
FlightScape
Software Developer
Flight Safety Systems
Ottawa, Canada
1998 - 2001
- Participated in all aspects of the development and maintenance of the FlightScape's Recovery Analysis and Presentation System (RAPS) used by Transportation Safety Board investigators for flight data recorder analysis
- ANSI C
- HP-UX
- Starbase
Education
Carleton University
Bachelor of Engineering, Computer Systems
Ottawa, Canada
1996 - 2001
- Senior thesis: Navigation Systems for Autonomous Robotics
- 2000, 1999 Canadian Millennium Scholarship
- 1996 Carleton University Alumni Fund Entrance Scholarship.
Technical Skills
Languages (Fluent)
- Java
- Javascript
- Typescript
- Scala
- C
- C++
- C#
Languages (Experienced)
- Python
- PHP
- Perl
- Bash
- HTML
- CSS
- VB
- T-SQL
Frameworks
- Angular
- React
- node.js
- npm
- Spring Boot
- Spring Data
- Jersey
- Hibernate
Databases
- MySQL
- Bigtable
- Microsoft SQL Server
- Vertica
Testing frameworks
- EasyMock
- JUnit
- NUnit
- Mockito
- Specs
- Cucumber
- Selenium
- WebDriver
- Protractor
- Jasmine
- JBehave
Version control systems
- git
- Perforce
- SVN
- CVS
Platforms
- Ubuntu
- .Net
- Windows
- HPUX
- Linux
- Blackberry
- Android
FAQ
What's the key to good software?
Simplicity. It's the common denominator of all the conventional best practices of readability, testability, modularity, reusability, separation of concerns, ease of refactoring, etc... Even performance, which is often used as a rationalisation for complexity, becomes a false economy as soon as a some underlying assumption is violated. The fastest systems I've ever worked on have all been the simplest.
How many people have you managed?
At Ticket, I managed a team of 11. A core team of 6 local developers, plus 2 full-time remote, plus 3 piece-work contractors.
What's your language of choice?
I'm honestly very language agnostic. I have coded professionally in ANSI C, C++, Java, Scala and scripted in TypeScript, Javascript, Python, Perl and Bash. Every language has it's strengths an weaknesses. Provided the language is appropriate for the task at hand, it's all the same to me.
That being said, I tend to default to Java for the robust and mature set of tools and libraries that are freely available. I'm quite impressed with TypeScript for UI work.
What's the most financially sensitive system you have worked on?
I had an occasion to work on Google's Ads database which is responsible for recording all of Google's ad revenue transaction as they come in. At $37B/year, this equated to a consistent flow of $4.2M an hour every hour. Any interruption was money that Google wasn't getting back.
What's the biggest system you have worked on?
My first code change at Google was to their global load-balancing system, through which all Google traffic flows.
All of it.
Why did you leave...
RBC
To move to Ottawa. Although it was also not a good culture fit.
Morgan Stanley
To move to Canada after my son was born.
Ticket.com
Although we had successfully built a service that user's liked and were selling at volumes that otherwise would have made us viable, we were locked out of access to ticket inventory at margins that could support our business.
BlueCrest
One of the main reasons I joined BluesCrest was to be at the centre of a business rather than in a remote office. Within a month of joining, they announced that they were moving their headquarters to Geneva. C'est la vie.
At the time, Google had issues in London with compensation, and visibility of achievements for remote employees. Since my departure, the compensation issue has been corrected, and I've been told that I would have received a Founder's Award for my efforts had I still been there to receive it. Sadly they don't give out posthumous awards.
Macadamian
To join Google. I enjoyed working at Macadamian, but Google was too good an opportunity to pass up.
Microsoft
My departure from Microsoft had more to do with leaving the U.S. due to Visa provisions that prevented my wife from working. Despite it's reputation, it was an excellent employer.
About Me
I'm the proud father of two crazykids.
I like to travel. I've lived in 3 countries, and travelled to about 30.
I'm fluent in English and was once fluent in French.
I met the Queen and David Hasslehoff at Google.
My first code change at Google was to their global load-balancing system (through which all Google traffic flows).
I hosted London Barcamp 3 with Ben Laurie.
I love to cook.
I held a Guinness World Record for Syrtaki Dancing.
Contact
For anything employment related, I prefer to be contacted via my linkedin profile
You can find a Word version of this document here.