Sydney, New South Wales, Australia
Senior Software Engineer with significant experience delivering high-quality, mission-critical systems. Excels at tackling complex technical challenges, whether refactoring large legacy codebases or architecting novel solutions under unique constraints. Proven ability to design, build, and maintain robust software spanning virtual machine runtimes, large-scale analysis frameworks, and operating systems internals. Key strengths include: exceptional communication skills, solid commercial awareness, and the ability to foster productive professional relationships. Thrives in collaborative team environments, both in-office and remotely. Consistently curious and interested in continuous integration, comprehensive testing practices, and ensuring reliable, timely delivery of software products. Combines deep technical expertise with outstanding organizational abilities to drive projects from concept to completion on schedule and within budget; ensuring clean, maintainable code. Languages: C++, Python, Rust, Bash, Java C, Go Specialisations: Testing | VMs and Containers | Software Analysis | Compilers | Framework & API design | Systems Design | Software Architecture | CI/CD
Developed virtualized environments for use by developers (Crostini) and gamers (Borealis), which run on end-user devices. Worked with the full Chrome tech stack, i.e., from HTML/TS presentation layers to kernel/hypervisor interfaces for crossing the virtualization barrier. Developed and maintained a large suite of integration/end-to-end tests, allowing continuous delivery of the product.
Developed Hawkeye, an interprocedural datalow solver framework for performing complex multi-phase analyses on large C/C++ code-bases. Created a bespoke Spectre V1 analysis, detecting hundreds of potential exploit sites in the Linux kernel and performed precise field-level taint-analysis on Google's internal code, ensuring sensitive user-data cannot reach unexpected external APIs
Teaching Assistant for Comp3109: Programming Languages and Paradigms. Tutored laboratory classes of ~20 students, designed/implemented laboratory exercises, gave lectures on software design (in prof's absence), marked >200 exam papers exams.
Developed a regression-testing framework for a prototype summarization-based context-sensitive alias analysis targeting LLVM bitcode (C/C++) and extended analysis with field sensitivity. Worked on a white-box fuzzer for Java library code. Performed refactors that enabled ingesting more data sources from external tools, significantly increasing observed coverage.
Developed a flight control program for a commodity quad-copter (Parrot AR-Drone), modified the on-board flight control software of the drone, allowing it to automatically follow a specific printed image around a room.