# William Lau > Engineer Location: San Francisco, California, United States Profile: https://flows.cv/williamlau Software Engineering Manager with a strong background in developing large scale services and big data solutions. My focus is on hiring passionate engineers, building strong engineering teams, and delivering successful products/services. ## Work Experience ### Software Engineer @ Baseten Jan 2023 – Present ### Principal Software Engineer @ Truveta Jan 2020 – Jan 2023 Starting a new journey with a purpose -- Saving Lives with Data ### Software Engineering Manager @ Amplitude Analytics Jan 2018 – Jan 2020 | San Francisco Bay Area * Leading the Infrastructure Query Team * Manage a team of talented engineers * Our team builds the analytics engine that powers product intelligence * We work with large scale distribution systems - lambda architecture for real-time data, distributed columnar storage, distributed map-reduce based computation of advance analytics ### Software Engineering Manager @ Unity Technologies Jan 2016 – Jan 2018 | San Francisco Bay Area * Unity Analytics Data Platform * Lead design/development/operation of large scale data pipelines and services using Spark/Scala/Java/Cloudera/AWS/Airflow/Snowflake * Migrate from Hive based data pipeline to Spark * Migrate cluster from AWS+Cloudera to GCP+Dataproc * Rearchitecting to use ephemeral spark clusters - separation of persistence storage from compute * Manage a team of talented engineers ### Principal Software Engineer @ AppDynamics Jan 2013 – Jan 2016 * Platform Services Team - transforming monolithic product into services-orient and distributed architecture * Lead design of new Role Based Access Control platform for distributed services with cross product teams requirements * Initiatives for improving performance and security ### Senior Software Development Engineer @ Microsoft Jan 2008 – Jan 2013 Role involves investigating, scoping, designing, developing, maintaining, and extending the Live Messenger Service and Windows Notification Service. Example of projects: * Design and implementation a new large scale Windows Push Notification Service for Windows-8 application platform * Design and implemented a distributed solution for collecting real-time metrics for Windows Notification Service * Design and implementation of a new scalable algorithm solutions for a Real-Time Comment Service * Redesign Messenger Service’s network protocol. Design solution for bridging communications between new clients and legacy clients. * Redesign a large scale internal service for Offline Instant Messaging Summary of professional skills acquired: * Innovative problem solving skills and design patterns for large scale distributed applications * Design Service-Oriented and High Availability Systems * Experience with redesigning complex distributed systems and refactoring large code base * Asynchronous Programming Model with multi-threaded C# programming for large scale real-time application services (40m simultaneous users, and 10bn daily messages) * Object-oriented design, development, debug, unit test, production piloting/ beta test, and performance profiling * Live-site support for real-time services that span multiple data-centers ### Software Development Engineer @ Amazon.com Jan 2006 – Jan 2008 Website Core Team. Role involves investigating, scoping, designing, developing, maintaining, and extending the Amazon customized website platform scalable technologies: HTTP Request Workflow, and Web Page Rendering Framework. ### Information Systems Manager @ Fornix Limited Hong Kong Jan 2004 – Jan 2005 As a partner in a start up company that specializes in outsourcing manufacturing services, my appointment was to develop the strategic IT systems and eCommerce solutions for the company. ### Associate Lecturer @ University of New South Wales Jan 2004 – Jan 2004 This appointment involves taking full responsibility for the laboratory component of an advanced computer network course for postgraduates. *Setup a new laboratory for the new Intel IXP network processor boards. *Liaise between the lecturer in charge, the computer support group, and Intel technical support in US. *Write tutorials and exercises that will lower the learning curve for programming the network processor. ### Course Tutor @ University of New South Wales Jan 2002 – Jan 2003 Tutor for Computer Networks courses. ### 2003 Lab Administrator and Lab Demonstrator @ University of New South Wales Jan 2002 – Jan 2002 *Writing up new lab exercises and solutions on the topic: TCP behaviour analysis and Performance Measurement. *Setup the lab from scratch and maintain the Linux systems for use by the students. *Lab demonstration for teaching the students how to use networking tools on Linux, modify the network stack in the kernel, and how to program in the Linux network environment (C/C++/Java). ### System Consultant and Network Administrator @ IBM Global Services Australia Jan 1998 – Jan 1998 *Extend the capability of a reimbursement system based on user requirements (using Visual Basic and SQL). *Professional practice in consultancy: user interaction, database management, and security. *Restructuring/upgrade the server systems, and supported the IT needs of the whole department. *Wrote a database application (using VBA and SQL) for managing the IT assets in the department. ## Education ### PhD in Computer Science and Engineering UNSW ### BE in Class One Honors, Computer Engineering UNSW ## Contact & Social - LinkedIn: https://linkedin.com/in/willos --- Source: https://flows.cv/williamlau JSON Resume: https://flows.cv/williamlau/resume.json Last updated: 2026-04-05