Firefox C++ Development Intern (Summer 2019)

Apply for this job
Mountain View, Portland, San Francisco, Toronto

Mozilla is hiring Software Engineering Interns into our technical teams throughout the world. Our headquarters are based in the Bay Area, but we also have opportunities at our offices in Portland and Toronto!

We are engineers, designers, makers, and problem solvers. We work in the fishbowl known as the open source community, with a clear focus on making the Web better. Working with us, you’ll help build interesting new features and improvements in Firefox. To be part of the team, we ask that you be technically-curious, a capable and always-interested-in-learning-more programmer, and excited to be moving the Mozilla mission forward.

Mozilla isn’t just a great place to work, it’s an experience you’ll carry with you throughout your career. As part of our internship program, you’ll have the opportunity to be mentored one-on-one by a talented and experienced developer, to impact the projects you’ll collaborate on, and to never be bored. Ever. From the passionate people you’ll learn from, to the chances you’ll have to make the Web a better place, your time with Mozilla will be unlike any other.

Below is a small snapshot of the work we do to give you an idea about some of the big things you could do at Mozilla.

We have 10 positions open for the following roles:

SpiderMonkey GC Intern (Mountain View, CA)

The JavaScript team at Mozilla cares deeply about bringing bare metal hardware performance to Firefox’s industry-leading JavaScript engine, SpiderMonkey.   Are you are a C++ programmer who is passionate about working collaboratively with a worldwide community? If so, we are looking for someone like you to come join us in advancing the Web!

As a JavaScript GC Engineer Intern at Mozilla you’ll be instrumental in the continued advancement of SpiderMonkey and the Web platform at large.  You’ll be responsible for fixing bugs, improving performance, writing code and tests, solving problems, and analyzing data. You'll get feedback from real users and synthesize it into bug reports, feature designs, and strategic direction to make the Web Platform even better over time.

Firefox Performance Intern (Toronto, ON, Canada)

The Firefox Performance team at Mozilla works with the rest of the Firefox team to improve the speed of Firefox. Are you are a systems level programmer who is enthusiastic about working collaboratively with a worldwide community? If this sounds like you, please get in touch with us!

In this role you’ll be working to improve Gecko and Firefox for the benefit of users and web developers alike, having frequent contact with collaborators. You’ll be responsible for writing code, tests, specifications, building prototypes, solving problems, and analyzing data. You'll get feedback from real users and synthesize it into bug reports, feature designs, and strategic direction to make Firefox faster.

Firefox Android Engineer (Toronto, ON, Canada)

The GeckoView team is working on bringing our powerful quantum engine to Android to enable both internal and external teams to build modern robust browsers and web applications. You will have the opportunity to use your Java, Kotlin, JavaScript, and/or C++ skills to help us build differentiating capability into our new mobile products. We design and implement Android APIs to allow front end teams to use the quantum browser engine. We care a lot about the Mozilla mission and you can expect engineering projects related to user empowerment, privacy, security, and inclusion.

Firefox Media Intern (Mountain View, CA)

The Firefox Media team ensures that everyone can enjoy video and audio of any form on the Web. This includes watching all kind of video recordings, the big blockbusters for example on Netflix or YouTube. And also includes real time video conferencing via WebRTC for example on Google Hangouts or Facebook video chat.

We are constantly adding new JavaScript APIs, maintain a big ecosystem of libraries needed for decoding lots of different audio and video formats and handling WebRTC media streams. We also constantly look at translating some of our C and C++ code into Rust to make Firefox more secure.

Platform Rendering Intern (Portland, OR & San Francisco, CA)

The Firefox Platform Rendering team is a global community of engineers who care deeply about how the Web looks. We are the team responsible for HTML layout, CSS, images, text, and animations in Gecko, the engine behind Firefox. Are you a proficient C++ programmer who loves collaborating with other smart and committed engineers to help bring the Open Web to millions of people? We'd love to hear from you! On our team, you will be able to design and develop standards-compliant CSS and page layout features that all of our users see, making the Web Platform more awesome over time.

WebAssembly VM/Compiler Engineer (San Francisco, CA)

The Web Assembly team makes the Internet better by bringing new low-level functionality and languages to the Web. We do this by designing, building and integrating code generators that convert cross platform Web Assembly bytecode into CPU architecture dependent machine code. We are developing a code generator in the Rust called Cranelift and could use your help.

DOM - Document Object Model Intern (Toronto, ON, Canada and San Francisco, CA)

The DOM team works on Mozilla's implementation of the Document Object Model spec, Firefox’s event infrastructure, Web Workers, IndexedDB, and many other parts of Firefox. Many of these features allow for the functionality of complex web applications -- in essence, the modern web.

The DOM team is currently looking for two interns:

  • One intern based in San Francisco to help with us reworking Service Workers to be faster.
  • One intern based in Toronto to work on improvements to our DOM code.

Basic Qualifications:

  • Currently enrolled in a Bachelor’s or Master’s degree program in Computer Science, Computer Engineering, or related technical discipline with a focus on software development, with graduation dates starting December 2019 and onward
  • Or, a recent graduate from a Coding Academy (within last year)

Preferred Qualifications:

  • C / C++, Understanding of Web Technologies - Javascript, HTML, and CSS
  • Proficiency in programming with C++, with two years of C/C++ coursework or practical experience
  • Ability to effectively articulate technical challenges, propose solutions, and incorporate feedback
  • Passion for working in the open and engaging with Mozilla’s global community
  • Reasonable fluency in and passion for technology, Strong communications and social skills, Excellent organization, time management, and interpersonal skills

About Mozilla

Mozilla exists to build the Internet as a public resource accessible to all because we believe that open and free is better than closed and controlled. When you work at Mozilla, you give yourself a chance to make a difference in the lives of Web users everywhere. And you give us a chance to make a difference in your life every single day. Join us to work on the Web as the platform and help create more opportunity and innovation for everyone online.

We are an equal opportunity employer and value diversity. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Level: I1