Tony Ngo, Developer in Toronto, ON, Canada
Tony is available for hire
Hire Tony

Tony Ngo

Verified Expert  in Engineering

Software Developer

Location
Toronto, ON, Canada
Toptal Member Since
April 9, 2020

Tony is a software engineer with extensive experience at top tech companies, including Microsoft and IBM, and smaller firms and nonprofits. Tony has worked with clients on various projects, focusing on full-stack web development with an emphasis on front-end development in React.

Portfolio

Sora Web Solutions
Cloud Firestore, Express.js, Node.js, Enzyme, Jest, Material UI, React...
AXA - Platform, Capabilities, and Automation
JavaScript, React, GraphQL, Sass, Less, React Native, Redux, Immutable.js, Gulp...
Microsoft Corporation
ASP.NET, Azure DevOps, Git, Win32 API, C++, JavaScript, C#.NET

Experience

Availability

Full-time

Preferred Environment

Enzyme, Jest, Storybook, React Redux, Redux, ECMAScript (ES6), Visual Studio Code (VS Code), Git, Material UI, React

The most amazing...

...thing I've shipped is a Windows 10 multi-session for Windows Virtual Desktop, paving the way for the emerging Desktop-as-a-Service (DaaS) market.

Work Experience

Full-stack Web Consultant

2019 - PRESENT
Sora Web Solutions
  • Developed a UI for a new media-sharing site that displayed responsive media cards.
  • Wrote high-coverage front-end unit/integration tests with Jest and Enzyme.
  • Performed refactoring and validation for a back end using Express Validator to increase readability and maintainability.
Technologies: Cloud Firestore, Express.js, Node.js, Enzyme, Jest, Material UI, React, JavaScript

Front-end Expert [Enterprise]

2020 - 2020
AXA - Platform, Capabilities, and Automation
  • Developed modular React components based on MUI, using Storybook from components like buttons and fields to forms and entire page sections.
  • Used storybook components to build web pages and applications for internal and external facing products according to Adobe XD mockups.
  • Developed a high-performing CMS for an upcoming product in collaboration with the UX and back-end teams that handled data normalization, allowing the data team to update the application in real-time.
Technologies: JavaScript, React, GraphQL, Sass, Less, React Native, Redux, Immutable.js, Gulp, Babel, Webpack, Jenkins, Apollo

Software Engineer

2018 - 2019
Microsoft Corporation
  • Used C/C++ to develop Windows 10 Enterprise multi-session for Microsoft's new cloud-based desktop-as-a-service solution. This new Windows 10 SKU allowed multiple user sessions to connect simultaneously to a single running operating system.
  • Led the development and managed a team of contractors for Windows Remote Desktop build-test infrastructure which provisioned servers, deployed operating systems, and executed tests on over 1,000 machines/week.
  • Maintained full-stack web services for build-test infrastructure with a C# .NET back end.
  • Fixed bugs in Windows Remote Desktop using C/C++, the Win32 API, and Azure DevOps.
Technologies: ASP.NET, Azure DevOps, Git, Win32 API, C++, JavaScript, C#.NET

Software Developer

2016 - 2017
IBM
  • Designed and developed the WebSphere Application Server installation process to transition between Java 7 and Java 8.
  • Used Java, XML, and ANT to generate interim fixes and hot patches for the WebSphere Application Server.
  • Created the end-to-end test infrastructure for WebSphere Liberty Logging in Bash and Python, wrote tests for the service, and automated the test results reporting in Slack.
  • Gave introductory talks/lectures to new interns to facilitate IBM WebSphere's transition from CMVC to Git.
Technologies: XML, Java EE, Java

Reinforcement Learning for Atari Breakout (TensorFlow)

I applied deep reinforcement learning techniques to design a convolutional neural network (CNN) based AI that could learn to play the classic game Atari Breakout using only screen images and the current score.

This algorithm was modeled after the A3C and Deep-Q CNN formula described in the famous DeepMind papers (Mnih et al, 2013, 2016). I also added enhancements such as e-greedy action selection, experience replay, and frame stacking to improve its learning curve.

In the end, the AI was able to achieve a super-human score of 220 after a full day of training, compared to the average human score of 32.
2013 - 2018

Bachelor of Applied Science Degree in Computer Engineering

University of Toronto - Toronto, ON, Canada

Libraries/APIs

React, React Redux, Material 2, TensorFlow, Node.js, Win32 API, Immutable.js

Tools

Visual Studio, Firebase Authentication, Git, Postman, Gulp, Babel, Webpack, Jenkins

Platforms

Windows, Visual Studio Code (VS Code), Java EE

Languages

JavaScript, Java, C++, XML, ECMAScript (ES6), C, C#.NET, PHP, GraphQL, Sass, Less

Frameworks

Material UI, Redux, ASP.NET, Express.js, Jest, CodeIgniter, React Native

Storage

Cloud Firestore, MySQL

Paradigms

Agile, Azure DevOps

Other

Web Development, RHEL, Storybook, Enzyme, Sagas, Deep Reinforcement Learning, Apollo

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring