Tony Ngo, Software Developer in Toronto, ON, Canada
Tony Ngo

Software Developer in Toronto, ON, Canada

Member since March 12, 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.
Tony is now available for hire

Portfolio

Experience

Location

Toronto, ON, Canada

Availability

Part-time

Preferred Environment

Enzyme, Jest, Storybook, React Redux, Redux, ECMAScript (ES6), 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.

Employment

  • 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
  • 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

Experience

  • 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.

Skills

  • Libraries/APIs

    React, React Redux, Material 2, TensorFlow, Node.js, Win32 API
  • Platforms

    Windows, Visual Studio Code, Java EE
  • Other

    Web Development, RHEL, Storybook, Enzyme, Sagas, Deep Reinforcement Learning
  • Languages

    JavaScript, Java, C++, XML, ECMAScript (ES6), C, C#.NET, PHP
  • Frameworks

    Material UI, Redux, ASP.NET, Express.js, Jest, CodeIgniter
  • Tools

    Visual Studio, Firebase Authentication, Git, VS Code, Postman
  • Paradigms

    Agile, Azure DevOps
  • Storage

    Cloud Firestore, MySQL

Education

  • Bachelor of Applied Science Degree in Computer Engineering
    2013 - 2018
    University of Toronto - Toronto, ON, Canada

To view more profiles

Join Toptal
Share it with others