I'm a Principal Engineer at Mozilla, working on Firefox. Over the years I've worked on many parts of Firefox, from the user interface to the browser engine. My main topics of interest in browsers include performance, security and stability. I'm also very interested in the way that software is developed, how teams interact, organizations work to build software, and the effectiveness of these processes.
I started contributing to Mozilla in 2006, and have worked on the project full-time since 2009. My major contributions to Firefox include Private Browsing and Enhanced Tracking Protection, major performance improvements in Firefox Quantum, and Web Audio and Service Worker APIs. At Mozilla I've also worked on a number of non-Firefox related projects, including Firefox OS which was an effort to build a smartphone operating system based on the web platform, porting Node.js to run on Mozilla's JavaScript engine, and porting C++ OpenGL games to run inisde Firefox. I have also worked on a number of projects facing Firefox developers, including porting Firefox to build with clang-cl on Windows, custom C++ static analysis to find Firefox-specific bugs, and build system speedups.
Before Mozilla I worked at a stocks brokerage firm in Iran, and my career was mainly focused on web development. I have a graduate degree in Computer Engineering from Sharif University of Technology, but I'm mostly a self-taght software developer. I started programming around the end of high school and after discovering programming mailing lists on the Internet, taught myself a lot by lurking on a few and learning from the professionals solving real problems at their real jobs.
In my spare time I spend time with family and our two cats. I enjoy listening to music and also playing sometimes, and I'm trying to learn to get better at gardening and taking care of plants. I enjoy learning a lot, and usually at any given point in time have a few ongoing research topics. I really like getting to know a topic deeply and examining the various aspects of it, and also learn about new perspectives to it. I read audiobooks and am relatively new to the world of podcasts.