Contract Staff Software Engineer-FireFox Layout
This position is listed on behalf of a partner company, who manages all applications and next steps. Our partner is looking for a Contract Staff Software Engineer-FireFox Layout based in Canada.
As a Contract Staff Software Engineer focused on Firefox Layout, you’ll take ownership of the ongoing maintenance and technical health of a mature browser rendering codebase. You’ll work across CSS, page layout, asynchronous panning and zooming, text, and image systems. The role is highly hands-on, combining advanced C++ development with deep debugging and performance optimization. You’ll independently investigate bugs and regressions across desktop and mobile platforms while maintaining a high technical standard. Your work will help keep the Layout area stable, performant, and compatible across operating systems. By handling essential maintenance and routine engineering work, you’ll enable senior engineers to focus on critical performance and security initiatives.
Accountabilities
-
Own day-to-day maintenance of the browser Layout area, including resolving bugs, regressions, incoming issues, and test failures.
-
Diagnose and resolve complex Layout issues across Windows, macOS, Linux, and Android.
-
Investigate performance, rendering, and stability problems within a large, multithreaded codebase.
-
Review code and contribute to routine engineering upkeep, helping maintain code quality and system health.
-
Monitor and reduce technical backlog and regressions while ensuring the Layout area remains stable and maintainable.
-
Work independently at a technical leadership level, identifying problems and driving solutions through implementation and review.
-
Participate in planning, web standards, and web-compatibility discussions when relevant to Layout work.
-
Collaborate with other engineers to maintain strong implementation practices and share technical context.
-
Help ensure senior engineering capacity remains available for high-priority performance and security initiatives.
-
Apply AI-assisted development and debugging tools where appropriate to accelerate investigation, implementation, testing, and maintenance.
-
Strong professional experience with C++, including development and debugging within complex production codebases.
-
Solid understanding of CSS and web page layout, including how browser rendering and layout systems operate.
-
Strong debugging and optimization skills, particularly within multithreaded systems.
-
Ability to independently investigate complex technical issues and deliver reliable solutions in a large, mature codebase.
-
Demonstrated ability to operate as a technical leader, exercising sound engineering judgment without requiring close day-to-day supervision.
-
Experience diagnosing software behavior across multiple operating systems and platforms.
-
Familiarity with JavaScript and/or Rust is an asset.
-
Previous experience with web browser architecture or browser development is highly valued.
-
Experience working with web standards and web compatibility is an advantage.
-
Mobile web development, profiling, and debugging experience is a plus.
-
Practical experience using AI tools such as Claude or ChatGPT for software investigation, development, debugging, or testing is an asset.
-
Strong communication and collaboration skills, with the ability to participate effectively in technical discussions and code reviews.
-
Competitive Canadian compensation: CAD $185,045–$217,700 for Canada Tier 1 locations.
-
Canada Tier 2 compensation: CAD $131,400–$154,600.
-
Remote work: Work remotely from Canada.
-
Technical impact: Contribute to a widely used web browser and help maintain critical rendering and layout infrastructure.
-
Technical leadership: Operate with significant autonomy and influence within a mature, complex engineering environment.
-
Cross-platform engineering: Work across Windows, macOS, Linux, and Android.
-
Learning and innovation: Opportunity to work with modern development practices, web standards, performance optimization, and AI-assisted engineering tools.