Posted on Jan 1, 0001
Nikhil Marathe

Nikhil Marathe

+1-650.933.7690 | | nikhilism.com

  • 10+ years of experience working on real-world software, involving millions of lines of code, with distributed teams.
  • Have consistently used my expertise in concurrency, memory safety, garbage collection and networking to conceive and ship production software.
  • Pragmatic and detail oriented engineer with strong fundamentals and appetite for learning new technologies.
  • Interested in low-level systems programming, performance optimization and striving for simplicity.

Experience

Skydio - Senior Autonomy EngineerMay 2021 - current

Dropbox - Software Engineer (IC4)January 2017 - April 2021

  • Championed and executed a migration to Bazel for the desktop client build system, reducing build times by 30-80% and speeding up test execution by 30-50% while reducing technical debt. This also had massive cost savings in our CI system. (Starlark, Rust)
  • Involved in designing and developing a comprehensive crash monitoring pipeline for the Dropbox desktop client, used by millions of users. This made previously unactionable crashes easy to remotely debug and resolve. (Rust and Google Crashpad)
  • Added IPv6 support to the desktop client. (Python)
  • Part of the on-call rotation and process improvements for monitoring desktop client resource usage and other important statistics.
  • Tech stack: Python, Rust, C/C++, Bazel. Detailed knowledge of MacOS and Windows crash reporting APIs and program execution.

Iron.io - Senior Software EngineerOctober 2015 - December 2016

  • Drove various initiatives to improve development processes and team collaboration in a startup environment.
  • Helped to create an industry leading Docker-based job processing infrastructure. This involved a job server and horizontally scaled runners that process millions of Docker containers every month.
  • Maintaining and improving the IronMQ distributed, fault-tolerant message queue. which can process tens of thousands of messages per second on 3-5 node deployments.
  • Involved with working on Docker and Web APIs using idiomatic Go. Used Amazon Web Services and Ansible for configuration management.

Mozilla Corporation - Platform EngineerOctober 2012 - September 2015

  • Significant contributor to specification and implementation of ServiceWorkers, which allows web apps to offer seamless offline-first experiences.
  • Lead implementor of the Promises, Push notifications and Fetch APIs in Firefox. These allow millions of web users to have real time notifications and responsive single-page-app experiences.
  • Mentored several interns to implement important projects and helped new contributors with first patches.
  • Programming languages used: C++, JavaScript, Python.

Education

Bachelor of Technology - Information and Communication Technology 2008 - 2012

GPA 8.64/10. Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar, India.

Technologies

  • Proficient in Python, C++ and Rust.
  • Some experience with C, Go, JavaScript, Racket.
  • Deep understanding of debugging internals on Linux, Mac and Windows.
  • Very comfortable with POSIX-like operating systems. Some experience with Windows development.
  • Familiarity with the following: the Bazel build system; the Gecko rendering engine and Firefox internals; node.js, V8 and SpiderMonkey Javascript engines

Personal projects

Author of An introduction to libuv, a guide to the high performance, cross platform input-output library, libuv, which is used by node.js and several other high-profile projects. The book has been accessed by several thousands of developers over the years and was merged into the official documentation.

Other projects can be found on Github.

Other interests

Aspiring alpinist, traveler, reader and writer.