WebKit Layout & Rendering Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
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 upgrading its architecture, enhancing its capabilities, and improving its performance. Your work lets developers create sophisticated experiences on the web that are responsive to user input and render with blazing speed. The WebKit team seeks a software engineer excited 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 Books. We're looking for engineers with exceptional problem solving skills, a passion for quality, and the desire to push the web forward.
- Familiarity and experience with pointer-based languages, C or C++ preferred
- Understanding of data structures and algorithms
- Excellent debugging, critical thinking, and communication skills
You will work on a broad range of visual technologies for the web, including layout, CSS, SVG, and canvas. You will be encouraged to work across all layers of code. 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
- 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. But having any of the following are definite plusses for this role:
- *Experience with advanced C++ features, including templates and C++14
- *Completed projects, corporate or personal, using web technologies
- *Experience with statistical analysis
- *Familiarity with threads and concurrency