We are looking for a compiler engineer who can help us advance Swift performance through improvements to the Swift optimization pipeline. This will include working closely with Swift users to identify issues that impact their code, debugging the internal operation of the Swift compiler, and collaborating with language and optimization experts to design and implement improvements to the runtime performance and/or code size of the compiled result.
Description
Swift is rapidly spreading beyond its origins in iOS and macOS app development to support every kind of software engineering, from compact embedded systems to large distributed server applications and everything in between. To support these diverse areas, the Swift compiler needs a sophisticated optimization pipeline that allows it to produce compact, performant results for every kind of code. Our team works closely with Swift users to identify issues that impact their code and find ways to steadily improve the compiler optimizations. We also work closely with the Swift language evolution process, both to influence the language design to ensure it can be effectively optimized and to develop new optimizations to support new language concepts.
Responsibilities:
1. Triage and reproduce issue reports from Swift users
2. Identify the root causes of performance or code size problems in compiled code
3. Design and implement Optimizer improvements
4. Collaborate on long-term architectural improvements to our compiler pipeline
In the process, you will be deeply involved in the continuing evolution of the Swift language, runtime, and associated software stack. Over time, we will expect you to develop a deep understanding and ownership of some key pieces of our software architecture and expand your collaboration with domain experts across the entire language implementation.
As part of the Swift Performance effort, you will benefit from:
1. A supportive and tight-knit team
2. Technical and career mentorship
3. Access to experts across all areas of modern hardware and software development
4. A robust benefits package and a healthy work-life balance
Minimum Qualifications:
* Understanding of compiler implementation
* Comfortable with modern C++ development
* Experience analyzing software performance and code size
Preferred Qualifications:
* Familiarity with ARM64 assembly language
* Knowledge of Swift language is a plus
* Knowledge of other programming languages is a plus
* Strong communication and organizational skills
* Excellent software engineering, testing, and debugging ability
* Positive and respectful attitude in a diverse environment
#J-18808-Ljbffr