Senior Back-end Developer2019 - 2019DOMI Earth (via Toptal)
Technologies: Node.js, TypeScript, MQTT, AWS IoT, AWS SQS, AWS DynamoDB, AWS Lambda
- Built an IoT data processing pipeline, collecting incoming data from AWS IoT into SQS, transforming it with a series of Lambda tasks, and storing the results to DynamoDB. The lambdas were written in TypeScript (Node.js).
Director of Engineering2015 - 2019Breather Products
- Led and managed the development of Breather's back-end APIs and services, as well as its systems infrastructure, including developer tools, CI/CD, systems reliability (DevOps), and data engineering. Later, as VP of engineering, I led the whole engineering organization at Breather, overseeing 23 developers and QA specialists.
- Hired, led, and mentored a strong team of 12 developers. Established software development and deployment processes to ensure rapid, continuous delivery while maintaining code quality and correctness. Worked with lead developers in my team to ensure the continued improvement of the architecture and design of our systems. Collaborated with the product team to develop the short- and long-term product roadmap.
- Led the design and development of an IoT hardware platform, building custom, cloud-controlled hardware devices to manage room access control (door locks and monitoring).
- Rebuilt the search engine to make it scalable and fast, bringing down the latency from >1 sec to <75 ms on average.
- Instrumented the back-end services and systems with StatsD and Datadog to have detailed metrics, allowing rich insights and automated monitoring and alerting.
- Automated the provisioning of application server instances in AWS with Ansible and Terraform.
Senior Back-end/cloud Developer (Contract)2014 - 2015Schneider Electric
Technologies: Node.js, MongoDB, WebSockets, Redis
- Maintained and developed new features for a cloud back-end energy management system for small and mid-sized buildings. This back end runs in AWS and is built upon Node.js, MongoDB, and websockets.
Lead Developer (Full-stack)2013 - 2014Floop Technologies
Technologies: iOS, Google App Engine, Google BigQuery, Python, Flask, AngularJS, Unity
- Developed an iOS (iPhone and iPad) app that curated kids' apps.
- Designed and developed an iOS SDK that provided various publishing and promotion tools targeted at kids' app developers.
- Designed and developed a Unity SDK that exposed the iOS SDK functionality directly to Unity developers.
- Developed a web dashboard to let SDK developers manage their accounts and services. This was a single-page web app built using AngularJS.
- Designed and developed a REST API and back end to support these SDKs and dashboard. This was built in Python with the Google AppEngine and augmented with Flask.
- Designed and developed an analytics pipeline that sent events from the iOS clients to the back end and repackaged and uploaded the data to Google Cloud storage and Google BigQuery for efficient querying.
Founder and Software Developer2011 - 2012LumiPay
Technologies: iOS, Node.js, CoffeeScript, MongoDB, Redis, Heroku, Backbone
- Developed an iPhone app and REST software API using Node.js, and a web front-end using Backbone to manage customers, products, and invoices, and to process mobile payments.
Software Developer2002 - 2010Netmosphere
- Led the front- and back-end development and served as chief point of contact with clients for many C#/ASP.NET web applications, including an order management system for corporate orders and a contract tracking and management system for Rogers, Inc. and a booking system for a travel company.
- Developed and maintained new features for the Mandarin Library Automation (MLA) library management system, a TCP/IP client-server system on Windows (C++).
- Contributed to the development of a Windows (C#/.NET) TCP/IP client-server system to synchronize files across multiple clients. This included a file system filter driver, service, and user interface.