Information for Recruiters
- Please contact me only via email, and only at the address listed at the top of the page.
- Please pay attention to what I like and don’t like to work on.
- Please be sure that your organizations has the prerequisites listed below.
- My resume is linked at the top of the page.
- Please do not try to connect with or message me on LinkedIn.
- You will not get a response if:
- You are too vague.
- You work in an area that I have called out on this page.
- You email me at any address other than the one specified above.
What I Like to Work on
These are examples of things I would be interested in working on.
- Computer networking: Designing, implementing and testing new protocols, reducing hardware costs, making the network more efficient, and making the network fault tolerance.
- Content delivery systems: Designing and implementing a new system that manages data in flight. Examples would be systems supporting streaming services, asset caching systems, etc.
- Data storage engine development: Creating new database engines tailored to the needs of the organization.
- Hardware-accelerated computing: Using FPGAs, ASICs, and special-purpose hardware for improving performance and energy efficiency in networking, security, and machine learning applications.
- Operating system kernel development: Adapting the Linux kernel to a specific workload, developing and mainlining patches or enhancements, and writing open source device drivers for hardware devices.
- Programming language toolchains: Contributing to the development of a compiler, an interpreter, standard library, Integrated Development Environment (IDE), or other supporting tools for a programming language.
- Versioned data storage systems: Enhancing source code version control systems such as Git and Mercurial, or a more general system that intends to store multiple versions of the same entity efficiently.
Please don’t contact me if the role or employer involves:
- Advertising and marketing platforms
- Blockchains and cryptocurrencies
- Data analytics
- Frontend or user-interface development
- General machine learning
- Quantitative finance, trading and hedge funds
- Social networks and social platforms
Prerequisites for the Organization
- Software Engineering Focus: Your primary product should be computer software or hardware. The majority (i.e., > 50%) of the employees must be software engineers.
- Freedom to Work on Personal Projects: I must be free to work on personal open source projects (in my own time, with my own resources) without any interference from your organization’s legal team.
- Direct Product Monetization: You must be selling your product directly to the end-user. In particular, advertisement must not be an option for revenue.
- Financial Stability: The organization must already be making a profit, and have well-charted funding and expansion plan for the next 5 years.
Note: I would view the role very favorably if the work involves >50% of paid work time contributing to an open source project and is something that I can publish freely about (blogs, books, conferences, etc.).
My Background in Computer Science
Academics & Research Work
I have two degrees in Computer Science from Cornell University:
- Bachelor of Science in 2015
- Master of Science in 2017
I was a teaching assistant for a few courses at Cornell:
|2015 Spring||Computer Vision|
|2015 Fall||Computer System Organization & Programming|
|2016 Spring||Computer Vision (as Head TA)|
|2016 Fall||Operating System|
|2017 Spring||Operating System|
My brief research experience involved proposing a benchmarking standard for the P4 platform, using P4FPGA as a prototyping system for it.
Experience in the Industry
Google Cloud Platform
June 2017 - Present
Designing and implementing components of VPC Service Control and Context Aware Access control for Google Cloud Platform and GSuite.
Menlo Park, CA
Enhancing a performance-critical component (Watchman) of version control systems.
Optimizing a multi-terabyte pipeline for a recommendation engine for YouTube Mix.
Developing parts of the frontend and the backend for an internal application with a complex No-SQL datastores.
- Good Knowledge: Python, Java, C, Git, Mercurial.
- Some Knowledge: Go, Rust, OCaml, OpenCV, Numpy.