Apple

#job description

Distributed Builds Engineer (dead link)

Our team is on a mission to deliver fast, reliable builds, and foster the next wave of innovative application development by making software easier to write. We believe that making development easier and faster is an important part of unlocking creativity, innovation, and potential for developers. We are looking for distributed build systems engineers to join our efforts. You'll be developing novel distributed architectures and products for accelerating software build and test cycles. If you enjoy working on build systems and distributed systems, then we have many exciting problems to work on! You would join a small, tight-knit group of engineers who build exciting new technology (and have fun while doing so). We are applying unique and innovative ideas to old problems and welcome new contributors who are excited by the opportunity to significantly impact the shape and direction of our product. We believe that every engineer brings unique skills and perspective. Far more than any specific experience or skill, we are looking for engineers who want to build great software, learn and develop their skills, and ultimately enable others to develop amazing applications.

Key Qualifications

Description

You'll work on solving build system problems by leveraging a strong distributed backend. You'll find ways to combine our unique problem domain with established distributed system techniques in order to achieve both high performance and reliability. You'll analyze problem requirements, existing solutions, and available systems and make high-level architectural decisions about how to architect the backend, considering both short- and long-term goals. Once solutions are identified, you will work alongside our team to implement them while developing appropriate testing and operational mechanisms. You will be most successful here as a flexible and proactive engineer who thrives in a supportive, respectful, and balanced work environment with interesting and challenging problems to tackle. You have excellent judgement and integrity with the ability to make timely and sound decisions. You know how to drive constructive discussion of design points, learn from your team, and use your experience to advocate and teach others. We welcome all applicants, but familiarity with the following areas will help you come up to speed fastest on our project:

In your role as an engineer on our team:

Here you’ll find that:

Distributed BuildというApple規模の環境ならではのポジション。 macOSやiOSなどのビルド環境はリリースのマイルストーンに直結するため、高い信頼性とパフォーマンスが求められる。 また、リリース間近のビルドは急速に増えるためスケーラビリティも重要だし、Appleの秘密保持方針に則り、ビルドシステムのセキュリティも重要な要素となるだろう。

Distributed Systems Software Engineer - Observability

The Apple Cloud Infrastructure team is building the next generation of Observability platform. Our system provides metrics and analytics for Apple products and service, providing the information they need to operate and grow their business for our customers. Our team is composed of highly skilled programmers designing and building a large, distributed suite of observability services that help Apple teams gain insight into their systems. If the thought of working with petabytes of data interests you, this is the place to be. Our system must scale globally, stay highly available, and "just work”, while supporting some of the biggest services in world. That's a tall order, and we're looking to add more talented and passionate engineers who love challenges. If you'd love to join this amazing team, we'd love to hear from you.

Key Qualifications

Description

This position is a full-time coding role. The ideal candidate is mathematical and highly analytical. A longtime systems-level coding practitioner with deep understanding of operating systems and systems application programming. Networking and distributed programming is a must, as our systems are distributed, highly performant, and excessively scalable. Designing and developing system applications that are fault-tolerant is required to achieve 99.99% uptime.

Responsibilities: You must have the courage and experience to be frank and ambitious, but humble enough to listen and learn. Creativity and a passion for designing new ways to solve our complex computing problems.

We want your thoughts on how we can move faster, be more creative, and deliver tools and ideas to empower developers around the world. We expect you to challenge the status quo, to care about the details, the end user, and how it all comes together.

We are looking for enthusiastic developers to join as a member of this collaborative and friendly team. This person will have an individual responsibility and influence over the direction and backend of many critical Apple internet services. You should be someone with ideas and passion for software delivered as a service to maximize reuse, efficiency, and simplicity. Your work will impact millions of Apple users and is necessary to the success of some of the most visible current and future features.

Education & Experience

BS/MS/PhD in Computer Science or Mathematics or equivalent years of experience.

分散システムのObservabilityプラットフォームを構築するポジション。 数学的なアプローチが求められるというのは、大規模なデータ処理や分散システムの設計において、数学的なモデルが重要な意味を持つからだろうか。難易度が高いだけに、その分やりがいも大きいだろう。