Engineering Manager
2019 - 2021Dormzi- Managed five engineers, two QA engineers and three Toptal engineers distributed across the world. Interviewed and hired the other two outside of Toptal.
- Took over a codebase with a high amount of technical debt from an outsourced party, rebuilt the team, put agile practices and lean software development culture in place, and worked with QA engineers to stabilize the product.
- Rebuilt the infrastructure of the React Native app to clean up thousands of lines of repetitive code while creating a strong baseline for the future development plan and orchestrated the rest of the team to build new features on top of it.
- Handled the migration of server-side architecture from Express, Firebase Functions, and Firestore to Apollo, Heroku, and MongoDB Atlas to allow for better extensibility, security, and simplified logic.
- Collaborated with a Toptal designer and a Toptal PM to orchestrate the development team to build features on top of an architecture that shares code between React Web and React Native.
- Planned and held product meetings to ensure three-way feedback among product, design, and development for maximum product impact and minimum development effort while also steering each team member toward high ownership of various product parts.
- Maintained the development process and constantly made iterative changes to tailor-fit to the team and the circumstances rather than adhering strictly to existing agile frameworks.
- Built a form generator library from scratch that generates a form based on a simple config object and abstracts out all complex logic like validation, formatting, submitting, loading animation, and more.
- Dived into the code, built a ton of features on both React Web and React Native, and wrote a ton of unit tests with Jest, Testing Library, Enzyme.
- Created a lightweight system that runs WebDriverIO tests on 50 concurrent browser instances on AWS DeviceFarm, which cut E2E testing time from 40 minutes to seven minutes.
Technologies: Test-driven Development (TDD), Firebase, SOLID Principles, Object-oriented Design (OOD), Node.js, WebStorm, JavaScript, Express.js, Cloud Firestore, XState, GraphQL, Apollo, MongoDB, React Native, React, Jest, WebdriverIOCo-founder | CTO
2017 - 2020Ohana — Singapore and Vietnam- Founded and managed the entire product team of the most advanced apartment marketplace in Vietnam (Airbnb-like, for residential rentals) on React and React Native. The platform reached 200,000 users in two years, serving 1,500 finders every day.
- Built the entire marketplace stack, including mobile apps on React Native, APIs on Express.js, and the database with MongoDB.
- Developed an authentication system from scratch to replace Firebase due to its low performance in Asia. Created a concurrency system to sync users' offline data across multiple devices.
- Migrated all of the AngularJS components on the legacy web app to React Native on mobile while rewriting zero lines of code.
- Created a roommate-matching algorithm based on 22 different lifestyle qualities. Built a dynamic form wizard where each step adapts to answers in the previous steps. The wizard engine is decoupled enough to be reused on both React Native and Angular.
- Built several admin features on React, including data charts with Highcharts, CRMs, and user management.
- Developed a simpler alternative to Redux that is highly tailored to the current system.
- Developed financial models, laid out business strategy, raised funding, and participated in strategic investor meetings.
- Built Tableau charts connected to the MongoDB BI portal to perform data analytics, resulting in two times the GMV of the marketplace.
- Designed the UI, UX, and branding of the product with Sketch, and led the product design team.
Technologies: Test-driven Development (TDD), SOLID Principles, Object-oriented Design (OOD), Node.js, WebStorm, JavaScript, Firebase, Sketch, Tableau, Highcharts, AngularJS, CSS, HTML, Express.js, MongoDB, React Native, React, FigmaCo-founder | CEO
2014 - 2016KodeQ — Atlanta, GA & Vietnam- Screened and built a JavaScript team in Ho Chi Minh city for Weather.com, based in Atlanta, GA.
- Participated in sales, management, and operations—growing the company to 15 engineers.
- Facilitated remote collaborations for teams on opposite sides of the world.
Technologies: SOLID Principles, Object-oriented Design (OOD), WebStorm, AngularJS, JavaScriptSoftware Engineer V
2014 - 2015ADP- Joined the effort to rebuild the entire web product by transforming a scattered system of web technologies into a centralized system with unified standards and up-to-date technology using a proprietary framework built in-house.
- Used Sketch to create new UI designs for the product.
- Built upon the original framework to provide more tools and a better developer experience.
Technologies: Test-driven Development (TDD), SOLID Principles, Object-oriented Design (OOD), WebStorm, CSS, HTML, JavaScriptSenior JavaScript Developer
2013 - 2014The Weather Company (An IBM Business) — Atlanta, GA- Joined the core team that establishes new programming standards for the front end of a newly built content management system on Weather.com.
- Designed and implemented foundational Angular services and directives that are later used by other developers to build testable application modules.
- Transferred knowledge and experiences to several team members who were new to AngularJS.
- Worked with CSS and JavaScript animations to deliver highly interactive web content to visitors.
- Optimized the critical rendering path, bringing page load time from five seconds to two seconds.
- Trained and mentored new team members.
- Performed code review during development cycles to ensure code quality and standards.
- Used a Highcharts library to deliver charting solutions across the weather visualization features.
Technologies: Test-driven Development (TDD), SOLID Principles, Object-oriented Design (OOD), WebStorm, JavaScript, CSS, HTML, Highcharts, Facebook API, Sass, AngularJSJavaScript Application Developer
2013 - 2013CafePress — Atlanta, GA- Joined the effort of upgrading the formerly Flash application to an HTML5/JavaScript application based on the Backbone.js framework that offers compatibility with present and future browser technology.
- Worked with HTML5 Canvas and Fabric to create a straightforward, interaction design tool that allowed customers to customize printable products.
- Implemented a CORS API to communicate with a complex JavaScript application that can be embedded on any website.
- Worked with an iframe to create a fresh runtime environment for the embedded JavaScript application.
Technologies: SOLID Principles, Object-oriented Design (OOD), WebStorm, JavaScript, CSS, HTML, CORS, AngularJS, HTML5 Canvas, RequireJS, Fabric, Backbone.jsWeb Application Developer
2012 - 2013WingStats — Atlanta, GA- Successfully implemented agile development workflows.
- Built the whole system from the ground up: database design, back-end, and front-end architectural design.
- Migrated the original application from BackPress to the Yii Framework for an improved component organization thus putting more focus onto solid architecture and security.
- Customized the Yii framework to add design patterns that support enterprise-grade software development: dependency injection, aspect-oriented programming, two-step view layout, service layer (transaction script implementation), and JSON web service inspired by the "Patterns of Service-oriented Web Application" by Martin Fowler.
- Completely replaced an outdated jQuery front end with modern Angular and RequireJS.
Technologies: MySQL, SOLID Principles, Object-oriented Design (OOD), JavaScript, CSS, HTML, AngularJS, jQuery, PHP, YiiFull-stack Magento Developer
2012 - 2013ExpandLab (Acquired by Visiture) — Atlanta, GA- Customized and developed from scratch sophisticated Magento extensions spanning the back end to front end for several eCommerce websites built on the Magento framework.
Technologies: MySQL, PHP, SOLID Principles, Object-oriented Design (OOD), CSS, HTML, jQuery, JavaScript, MagentoJavaScript Application Developer
2012 - 2013Tentail — Atlanta, GA- Used Backbone.js to build a single-page web application that completely operates on JavaScript/HTML and uses Ajax to communicate with web services on the main server.
Technologies: SOLID Principles, JavaScript, CSS, HTML, Backbone.js