Résumé - Jay Pratt

Jay Pratt

5 years at Google.

Internships at Facebook and Microsoft.

Undergrad at UNSW: Computer Science and AI/ML.

 

Rust, C++, TypeScript, JavaScript, Datalog, Python, Haskell, Kotlin, Java, Bash, PHP (Hack), WASM, Meson & Ninja, Vim, Zsh, Github, Linux.

 

I am passionate about improving the lives of the people around me and using technology to automate and accelerate tasks. I have a range of experience but my particular interest is using Static Analysis and AI techniques to build better systems.

Experience

Logo for Google
Software Engineer
Google

2018 – Present (5 years 2 months)

I've had some great opportunities in the last few years working at Google. My team uses a wide range of tools and techniques from formal methods to implementing databases for Android. I also spent some time with the Chrome Operating System team as part of their virtual machine efforts. We took Linux VMs on Chrome OS from a PoC to a successful launch.

 

Projects
Raksha: static analysis for policy enforcement.
  • Working with client teams on IR generation
  • Implementing new theories for data flow analysis (enforcing non-fingerprinting)
  • Building infrastructure for custom model checking solver
Arcs: a runtime for modular, provably private, AI powered software.
Chrome OS: Linux VMs
  • Chrome OS User Interface theme work, including refactoring and maintaining48K LoC of CSS and multiple build tools
  • Patching aChrome extension for rendering a Chrome specific image format used for toolbars
  • Implementation work on USB device pass through
Logo for Github
Open source contributions
Compilers & Tooling

Ongoing

Logo for Tako Tako: an experiment in software verification
  • Leverages type checking and proof for optimisation and correctness
  • Prototypes have included:
  • Currently building:
Steel: a tiny optimising interpreter
  • Applied concepts from Game Development (Entity Component Systems) to compilers
  • Found ~30% runtime savings in benchmarks when applying simple static optimisations over naiverewriting ofASTs
  • Presented findings to Google Research Australia (talk available)
Ibis: a type system for privacy enforcement
  • Uses data flow analysis to enforce requirements avoiding leakage of PII (user data)
  • Used a type system with awareness of structure, sub-typing, and data flow tagging / 'taint'
  • 100% Rust, compiled to WASM for in-browser type & policy checking
Logo for Facebook
Software Engineer Intern
Facebook

Dec 2016 – Feb 2017 (3 months)

I really enjoyed working on automatic spam detection with the anti-spam team at Facebook. I learnt a lot about processing 'Big Data', scalable machine learning techniques and spam. I'd love to recommend interning with Facebook.

Logo for Microsoft
Software Engineer Intern
Microsoft

Dec 2015 – Feb 2016 (3 months)

Working on the Edge Extensions team was a great experience. The team worked on making Browser Extensions available in Edge so that users could use AdBlock, LastPass, and the Reddit Enhancement Suite in Edge. I worked with several developers to design and implement new power saving 'user presence' APIs which are now part of Edge.

Logo for UNSW
Computer Science Tutor
UNSW

2015 - 2018 (3 years)

I tutored courses in Data Structures, Algorithms, Programming and Debugging Techniques and later tutored the Advanced C++ course.

Logo for Rulingia.com
Front End Developer
Rulingia.com

Jul 2015 – Aug 2015 (2 months)

Developed a Web Interface for Customer Resource Management using AngularJS, Bootstrap, Sass and other tools as part of a small developer team of three.

Logo for the Decision Systems Laboratory (DSL) at UOW
Junior Researcher
UOW (Decision Systems Laboratory)

Nov 2013 – Mar 2014 (5 months)

I developed a simple tool for surveying medical professionals and the public and built a better understanding of Oncology using techniques in Statistical Ontology Verification.

Education

Logo for UNSW

BSci (Computer Science & AI)

UNSW
2014 – 2017

A Computer Science Degree from the University of New South Wales teaches students to solve problems especially by applying Computer Technology. Important skills that are core to Computer Science are teamwork, time management, problem solving and creative thinking. Computer Science is a wonderful set of ideas and approaches to problem solving and also a lot of fun. I thoroughly enjoyed my degree.

Interests