WebKit Layout & Rendering Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted: Jan 10, 2019
Weekly Hours: 40
Role Number: 200021359
Imagine what you could do here. At Apple, new ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. When you load a webpage in Safari, you can see its contents on the screen thanks to WebKit’s layout and rendering engine. In this role on the WebKit team, you will be responsible for measuring and improving its performance, upgrading its architecture, and enhancing its capabilities. Your work will let developers create sophisticated experiences on the web, and help their websites draw faster and react to user activity more quickly. We are seeking a software engineer who thrives to work on cutting edge technologies for the world's most popular web engine. The WebKit framework powers many system applications, including; Safari, Mail, and iBooks. Weʼre looking for engineers with exceptional problem solving skills, a real passion for quality, and the desire to push the web forward.

Key Qualifications

  • Familiarity and experience with pointer-based languages, C or C++ preferred
  • Understanding of data structures and algorithms
  • Excellent debugging, critical thinking, and communication skills

Description

Focusing on WebKit’s time and memory performance, you will work on a broad range of visual technologies for the web, including layout, CSS, SVG, canvas, and WebGL. You will be encouraged to work across all layers of code while maintaining a firm understanding of software architecture. Our performance is based on metrics from several benchmarks, including MotionMark and Speedometer. You will evaluate WebKit against these benchmarks, improve the engine, and refine the benchmarks themselves.

Education & Experience

BS in CS or equivalent

Additional Requirements

  • We’re looking for a self-starter who has an interest in this area of the web, and experience in memory management with low-level languages. Having any of the following are definite pluses for this role:
  • * Experience with advanced C++ features, including templates and C++14
  • * Completed projects, corporate or personal, using web technologies
  • * Working knowledge of web standards: HTML5, CSS, JavaScript, DOM
  • * Experience with statistical analysis
  • * Familiarity with threads and concurrency