Resume
Last Updated: December 10, 2022
Senior Software Engineer based in the San Jose, CA area
Contact Information
Professional Experience
Microsoft - Senior Software Engineer - (08/2020 - Present)
- Contributing to the development of Microsoft Teams.
-
Author of and lead engineer for Compose Framework use within Microsoft Teams messaging experiences and other features.
- Providing rich text editing capabilities for chat, and channel posts
- Lead migration from legacy Compose Framework to the latest version of the Compose Framework in a cross-organization manner
- Managed development lifecycle to deliver a completely new version of the framework from inception to production-quality within 1 year
- Expert knowledge in leveragin the CKEditor 5 framework.
- Performance engineering for Microsoft Loop components in Teams
- Contributing to framework, performance, and feature development in Teams messaging features
Front App - Software Engineer - (10/2019 - 08/2020)
- Full stack developer as a part of the Platform, and Customer Centric Communications (CCC) team for the Front email client.
- Contributed to rearchitecting, and implementing contact management within the service.
- Platform work consisted of integration error framework development, and authentication within the app with partners (third party)
Microsoft - Software Engineer 2 - (02/2018 - 10/2019)
- Contributed development of the transport layer for the core framework used by the collaborative live-editing components in Microsoft Teams.
-
Previously worked on Skype consumer web and application service performance
- Improved distributed notification service performance from 60 min to 10 min per notification period (6.00x)
- Increased the performance of internal account-deletion service in preparation for the GDPR compliance with utilization of basic table-based hashing algorithm. (1 month to 8 minutes after optimization)
- Reduced the Skype Integrations JavaScript add-in load and rendering time by an average of 4.15x over simulated slow 3G networks.
- Owned and maintained the Skype Bot Channel configuration page on Microsoft Azure Bot Services.
- Wrote and maintained design documents which were used cross-organization as references
IBM - Staff Software Engineer - (04/2017 - 02/2018)
- Full stack engineer performing web development for IBM Direct Link, a cloud service using modern front-end technologies.
- Developed management, and monitoring components for internal application controlling cloud platform with job queue to monitor device connection status.
- Technologies: PHP, JavaScript, React, Oracle SQL
TSheets - Software Engineer - (10/2016 - 04/2017)
-
Improved performance of Android WebView component to offload rendering UI components to the GPU.
- Achieved 60 fps on scrolling and animation from ~15 fps for web and mobile applications.
- Created and maintained authorized device and configuration components along with enhancement and implementation of device authorization token refresh scheme.
- Technologies: JavaScript, PHP, MySQL
Yardi Systems - Software Engineer - (06/2012 - 10/2016)
- Development and maintenance of web features, and pharmaceutical systems for the Yardi EHR web application.
Education
- University of Illinois at Urbana-Champaign - (2020 - 2022) - M.Sc in Computer Science
- University of California, Santa Barbara - (2008 - 2012) - B.Sc in Computer Science
Recent Personal Projects
Gradient Domain Editing
- Presentation and source: http://rogerngo.com/notebook/vision/gradient_editing/
- Using computer vision techniques to explore, and demonstrate gradient domain editing (Poisson, Laplacian, etc)
- Technologies: Python, OpenCV
Teaching Marching Squares
- Demo and source: https://urbanspr1nter.github.io/marchingsquares/
- Developed to demonstrate the marching squares algorithm with a hands-on approach as a web application
- Technologies: JavaScript, HTML5 Canvas
Shaded Teapot
- Demonstration of Phong, Reflected, and Refracted shading of a teapot within a skybox using WebGL
- Technologies: JavaScript, GLSL, HTML5
- Source: https://github.com/urbanspr1nter/shaded-teapot
NesThing
- A Nintendo Emulator written in TypeScript for the web browser.
- Video, sound, and joypad emulation
- Technolgoies: TypeScript, React, HTML5
- Demo: https://rogerngo.com/nesthing
- Source: https://github.com/urbanspr1nter/nesthing
Jrpg.System
- Framework for creating JRPG computer, and console video games
- Provides procedural item generation, inventory system, character, enemy, and menu system.
- Interoperable with other game engines such as Unity3D
- Source: https://github.com/urbanspr1nter/jrpg-system