SWE - Developer Experience and Operations - Internal Tools Developer (Build)
The Developer Experience and Operations department is looking for an proactive problem solver to help us develop new tools and services for the build infrastructure used by the Xcode and Tools & Frameworks teams within Apple. We are looking for an engineer with:
Experience in Unix or macOS system administration, including scripting and automation.
Strong software development skills.
Demonstrated ability to design, implement, and maintain complex, distributed systems.
Excellent communication and collaboration skills, with the ability to work effectively in a team environment.
Our team owns a large CI system to build and test compilers, Xcode, and other core libraries at Apple. We work closely with the compiler teams to help them publish new functionality to the Apple development pipeline. We also work very closely with the Xcode development team to help ensure Xcode is shipped internally to Apple developers regularly and meets our quality expectations. This role is a critical piece in the Apple development pipeline and the work here impacts thousands of Apple engineers every day. We contribute to a variety of interesting projects within the Developer Experience and Developer Tools domain, helping to shape the delivery of tools that millions of people use every day to build applications for Apple products!
Our department solves some hard problems and we are looking for an engineer who is excited about understanding and developing new innovative service-based solutions. This is the perfect role for someone who is inquisitive, not afraid of digging deep into code to root-cause issues, and loves architecting new tools and solutions!
In this role you will be working to design, develop, and maintain tools that enable internal users to test and experiment with software component changes, such as within the compiler. Our team builds self-service platforms for internal clients to access development, integration, and debugging tools. You will also work on the releases of Xcode, helping the compiler teams with integration testing, and operating a large-scale continuous integration system for Apple's operating systems. Your efforts will help to improve the developer experience within the department and across Apple. You will need to communicate clearly with clients and stakeholders to align process, fix inefficiencies, and help find more innovative solutions to complex problems. In this position, you have the opportunity to work closely with engineers in every layer of Apple's infrastructure: hardware, compilers, build systems, operating systems, and internet services. You'll be most successful here as a proactive engineer who thrives in a supportive, respectful, and balanced work environment with interesting challenges to tackle.
The role's responsibilities include:
• Creating and maintaining internal tools that help engineering teams to be more productive
• Collaborating with our engineering teams debugging and solving issues with builds
• Helping the team understand software design trade offs and demonstrating critical thinking
• Encouraging teammates and helping drive team productivity, for example on code reviews and development projects
• Cross-functional communication with other teams. You will be part of a small team working across time zones in California, Tokyo, and London
- Bachelor's degree in Computer Science, Computer Engineering, a related technical field, or demonstrable equivalent experience
- Proficiency with scripting languages, for example Python or Bash
- Experience designing, developing, and deploying software solutions.
- Develop and deploy applications within containerized environments using Docker and Kubernetes on Linux platforms.
- Experience maintaining and monitoring Infrastructure as code (IaC)
- Knowledge of build dependencies and ordering considerations
- Experience evaluating software design trade-offs and demonstrating critical thinking
- Has worked in a development team; can champion development standards
- Swift development experience
- Experience debugging software using tools such as debuggers, logging frameworks, and/or profiling tools.
- Ability to configure and use build systems to compile and package software.
Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.