All remote jobs
Open role
Remote opportunity atMozilla

Contract Software Engineer – DOM Core Firefox/Gecko

Review the role, location requirements, compensation details, and application process before deciding whether this opportunity fits your next career move.

Published
31Listing views
1Application actions
24 Oct 2026Apply before
Opportunity details

About this role.

AI Summary

Mozilla is seeking a contract software engineer to improve Session History quality in the Firefox/Gecko DOM Core area. The work centers on creating Web Platform Tests and Gecko mochitests, diagnosing failures, and correcting C++ and JavaScript code issues. The engineer will work through public bug trackers, module-owner code reviews, and upstream landing processes. Success is measured by stronger test coverage and passed tests that improve Gecko correctness and free senior engineers for security, performance, and strategic work.

Role DNA

A quick view of the complexity, pace, ownership and collaboration implied by the job description.

Job Complexity

5/5
EasyHard

Pace & Pressure

4/5
RelaxedFast-paced

Autonomy Level

4/5
GuidedFull ownership

Communication Load

4/5
IndependentCollaborative
AI insightThis is a highly specialized browser-engine role requiring practical C++, JavaScript, automated-test, debugging, and large-codebase experience. Familiarity with Gecko internals, web standards, and public upstream contribution workflows substantially raises the technical bar.

Salary analysis

Estimated compensation compared with the broader US market for similar roles.

Estimated job medianHighly competitive
$175,000
US market range$140k–$210k
AI insightNo salary or rate is disclosed in the posting. These figures are estimated USD annual-equivalent US-market compensation for a senior contract-level browser-engine software engineer with specialized C++ and Firefox/Gecko testing expertise; actual contract rates and engagement terms may differ.

Core skills

Skills and capabilities most closely associated with this opportunity.

Sample interview questions
Describe how you would investigate and fix an intermittent Session History mochitest failure in Gecko.

I would first reproduce the failure locally and in CI-like configurations, then isolate timing, process, platform, and state dependencies. I would inspect logs and relevant Session History transitions, reduce the test to a minimal reproducer, determine whether the product or test assumption is incorrect, and submit a focused patch with reliable regression coverage.

How do Web Platform Tests differ from Gecko-specific mochitests, and when would you use each?

Web Platform Tests validate interoperable web-platform behavior and should be preferred when the behavior is standards-facing and portable across engines. Mochitests are appropriate for Gecko-specific implementation details, privileged APIs, or test infrastructure needs that cannot be expressed as a WPT. I would choose the narrowest test type that accurately protects the intended behavior.

What is your approach to debugging a correctness issue in a mature C++ browser-engine codebase?

I begin by mapping the affected execution path and ownership boundaries, then use targeted logging, assertions, debuggers, and existing tests to validate hypotheses. I avoid broad speculative changes, identify the underlying invariant violation, and add a regression test that fails before the fix and passes afterward.

How would you ensure that a new automated test is robust rather than flaky?

I would make state setup and cleanup explicit, avoid arbitrary delays, wait on deterministic events or promises, and minimize reliance on environmental assumptions. I would run the test repeatedly under relevant configurations and review it for hidden ordering, timing, or cross-test-state dependencies.

How do you work effectively in an open-source review and upstream-landing workflow?

I provide a concise problem statement, minimal patch series, clear test evidence, and documentation of tradeoffs. I respond constructively to reviewer feedback, incorporate module-owner guidance, keep bug discussions transparent, and ensure the final change is scoped, tested, and ready for upstream maintenance.

This analysis is generated from the job description. Salary estimates, role characteristics and sample answers are guidance, not employer-provided facts.

The role

You will help the Firefox DOM Core team improve the health of the Session History area. You will write tests to improve the coverage; you will fix tests and/or problems to improve the Gecko correctness.

Responsibilities

  • Write Web-Platform tests to improve the coverage, and Gecko mochitests as needed
  • Fix the problems and pass the tests to improve the Gecko correctness
  • Work through code review with the relevant Gecko module owners and iterate to landing

Definition of done

Improved Session History test coverage and code correctness in Gecko, measured by passed test cases, allowing the team’s senior engineers to focus on security, performance and strategic projects.

Required qualifications

  • Substantial experience in a browser-engine codebase or in automating for a browser-engine, ideally Firefox/Gecko.
  • Solid Javascript and applying that language skill to write automated tests.
  • Proficiency in and experience developing software in C++.
  • Strong debugging skills in a mature larget codebase.
  • Comfort working in the open: public bugs, code review, and upstream landing.

Preferred

  • Prior contributions to Gecko or another major browser engine.
  • Familiarity with web standards and Web Platform Tests.

Apply now >

This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.

Next step

Apply now.

Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.

Did you apply?Let us know, and we’ll help you track your application.

Continue on the employer website

Protect your personal information and never pay to secure an interview or job offer. View safety guidance.

Log in to save
One quick step before you apply

Sign in to continue.

Sign in or create a free account to continue to the employer's application.

Applying is free. After signing in, return to this job and select Apply Now.
Add alert
Jobs Talent AI Tools Salaries
Menu