I graduated from the University of Waterloo in December of 2014 with an Honours Bachelor of Computer Science Co-op, with a History Minor. In June 2015, I started working full-time as an SDE (Software Development Engineer) at Amazon.com in Seattle, Washington. During my co-op terms in university, I worked at six different companies in six different industries, in a variety of roles. I've been a software automation developer, a software development engineer in test, a software engineer, a product manager, and a web developer. As an alumni of the VeloCity residence incubator program (at UWaterloo) between August 2011 and December 2013, I built an awesome product, while helping others achieve their successes in other projects as well. I am passionate about solving user frustration, on a small scale for personal projects, and on a large scale in a workplace environment. My belief: the best possible feedback comes through data; regardless of what users or developers believe, at the end of the day, data is the single deciding factor in making product decisions.
I play sports & do other things on the side: Snowboarding, Tennis, Badminton, Ice/Ball Hockey, Ping Pong, Baseball and American Football, just to name a few! I like solving Rubik's Cubes and similar puzzles; I used to play a mean game of chess, as well as dabbling in professional Texas Hold'em and Blackjack. I'm slowly getting back into singing, and playing guitar again - be sure to keep an eye out for some YouTube covers in the coming months!
I used to trade equities in capital markets regularly. My portfolio wasn't amazing; I ended up breaking even after all commissions and fees were settled, despite my relative inexperience with trading. I'm interested in Bitcoin; I have been since it came out. I even invested some money in it before it tanked below $300 USD. Maybe I'll jump back in one day to more shenanigans, but right now, I'll just watch.
I am starting to blog more often. I most recently (January 2017) wrote a post about transitioning from classroom learning to "workplace learning". Feel free to check it out on my blog (hosted on WordPress). I'll find a way to build a blog on this website later - I made the WP blog way before this iteration of the website was even conceived, and my lack of foresight for the integration created some interesting challenges.
I like photography; I took all of the photos that are featured on this website, such as the header photo, and the background photo in the quotes section. The carousel includes photos such as the view of Lake Minnewanka near Banff, Moraine Lake (in Banff National Park), Zion National Park, and more. When I acquire a better camera, I'll expand a gallery on this page.
I've been on TV before; specifically PBS Newshour. As you can tell, I love cubing.
Michael Shao
Ask me for address!
Seattle, Washington, USA
347-699-6049
Honours Bachelor of Computer Science• September 2009 » December 2014
I studied Computer Science at the University of Waterloo; I also graduated with a History Minor. Relevant courses: CS349 (User Interfaces), CS370 (Numerical Computation), CS445 (Software Requirements: Specification & Analysis), CS458 (Computer Security & Privacy), CS456 (Computer Networks).
Software Development Engineer• June 2015 » Present
In 2015, I joined the Seller Services, Marketplace, Fulfillment Technologies team. Our team is responsible for building and maintaining the platform that vends shipping labels to third-party merchants that sell on Amazon Seller Central, from shipping carrier services such as FedEx, UPS, DHL, and Canada Post.
In December of 2019, I joined the Hardlines Customer Experience organization, in the Product Compatibility Program team. Our team is responsible for owning and vending compatibility information for replacement parts, across a wide variety of categories.
Software Engineering Intern• May 2014 » August 2014
Riot Games is the maker of League of Legends, a game of the Multiplayer Online Battle Arena (MOBA) genre. I worked in the backend web space, rebuilding the signup API to allow developers to create custom experiences for new users as they signed up for the game. I also designed and led a side project during the semiannual Riot hackathon.
Software Development Engineer in Test (SDET) Intern• January 2014 » April 2014
My main responsibility involved implementing and maintaining a full-featured automation suite for Kindle's Audible plugin for immersion reading using Java. My initial project was driving the design and planning phase of an internal developer tool meant for tracking third-party devices.
Co-founder, Product Manager• May 2012 » August 2013
Shoptimize was a mobile application meant to comprehensively optimize your grocery shopping experience through information, convenience, and time efficiency. My specific role was to find the user frustration in the grocery industry, by validating the market problem through grocers and shoppers alike. I also communicated product beta communications, public relations, and marketing philosophies through social media and at events. On the software side, I managed both the overall business vision and product design.
Software Engineering Intern• January 2013 » April 2013
I built "Preview Action" of a window modal that dynamically populates dummy values from a backend using POST/GET requests. Also, I developed IVR menu feature for calling agents to manage control flow of incoming calls, and designed and created an in-window modal that followed user while scrolling through page. My role also included maintenance - I fixed stylings of modals for current actions on event monitor windows. Lastly, I created and launched initial documentation efforts to connect and engage technical development with business development.
Software Test Automation Engineer Intern•May 2011 » August 2011; January 2012 » April 2012
I did two co-op terms here. My main roles were developing and maintaining automation testing software for finding product bugs and errors in operating production code using proprietary software operating systems. I spent most of my time rewriting test units based on coverage requirements and expanding the coverage support for older versions. I was also responsible for refining the analysis and scope of test suites to better represent stability control and unit coverage. Lastly, I was involved in resolving and verifying feature requests and bugs under strict deadlines and constraints from multiple product teams.
PC Support Analyst Intern•April 2010 » August 2010
I received an outstanding employer evaluation for the work I did here. My flagship role was implementing and sustaining business continuity strategy for G20 Summit migration to external office (65 employees). I also had a role in the early deployment of Windows 7 desktop migration project (pilot included 250 people) across two offices. Other day-to-day tasks including testing and reporting on various hardware specifications for user requirements, as well as assisting and verifying resolutions for various user-defined problems. Nearing the end of my term, I took the lead in drafting and maintaining training material for new hires in both co-op and full-time positions within the IT department.
Version control systems: Mercurial, Git, Perforce, SVN.
Environments: Windows (XP/7/10), Mac OS (X), and Linux (Ubuntu, RHEL).
Extraneous skills: photography, music production, video editing.
Here's a brief list of things I have experience with.
While not comprehensive, think of it as an "in-progess" learning tracker.
Fill out this form if you would like to get in touch; standard response time is ~24 hours.