Senior Software Engineer, Device Compute Automation

London, United Kingdom

Job Description


We're looking for a driven but adaptable developer, working primarily in Go, secondarily in Swift and Python, and dipping into other languages like Scala as necessary, to work on powerful developer tooling that helps internal engineers to deliver incredible experiences to end-customers. Our team's device cloud offers thousands of real and virtual Apple devices spanning hundreds of different hardware configurations, for use as remote development devices from desk and for automated testing in CI. Leveraging our device-centric API, engineers can use devices for purposes ranging from low-level hardware bring-up using custom firmwares and kernels, to validating ML performance on released hardware, through to automating the UI with XCTest to continuously monitor Apple's cloud services. Our vision is to allow engineers to focus on the details of the test rather than device setup by providing them devices ready for testing easily and quickly. Join us to help adding new features to our platform to describe desired device and account state using declarative constraints, share complex configurations between teams, create accounts with different cloud state, sign into accounts and populate app data on device, provision graphs of connected devices for example an Apple smart home setup, define and auto-scale pools of pre-configured devices, predict demand and pre-provision devices to address it, pre-generate and cache test assets, detect and triage failures and relate them to builds, deployments, and incidents, and continuously test highly distributed systems such as iCloud.DescriptionApple's device cloud team has an immediate opening for a software engineer working primarily in Go to: - Collaborate across functions to add support for provisioning additional device or account state, generate test assets, integrate product changes, and resolve performance bottlenecks - Adapt cloud technologies and industry best practices to solve challenges unique to Apple workloads - Triage, investigate, and remediate production issuesMinimum Qualifications

  • Bachelor's Degree in Computer Science or related field, or equivalent related experience.
  • Experience in software development (including internships)
  • Go experience, with an interest in Swift
  • Juggles competing priorities and cuts through ambiguity to focus on what matters most
  • Develops cross-functional partnerships to address complex problems
  • Presents effectively to diverse audiences, including key stakeholders, potential customers, and fellow engineers
  • Understands customers and their aspirations, tailors solutions to their use cases, and shares their triumphs
  • Doggedly troubleshoots distributed systems and networking issues
Preferred Qualifications
  • Languages: Swift, Python, C, C++, Objective-C, Java, Scala, shell
  • Cloud API protocols such as gRPC and OpenAPI
  • Cloud orchestration: Kubernetes, Docker, Ansible, Chef, Puppet, Terraform, Pulumi
  • Functional testing with XCTest UI, Appium, or WebDriver
  • Property testing
  • Native app development
  • Evaluating ML or LLM models
  • Developing build and test systems such as Bazel
  • Developing continuous monitoring and fault detection systems

Apple

Beware of fraud agents! do not pay money to get a job

MNCJobs.co.uk will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD3029744
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    London, United Kingdom
  • Education
    Not mentioned