
Senior Software Engineer
Required skills
- Java
- Maven
- Gradle
- SQL
- relational databases
- ORM
- distributed services
- cloud tech
- Kubernetes
- containers
Nice to have
- developer tools
- operational excellence
- data driven decision making
- Machine Learning
- LLMs
- automated code refactoring
Role summary
Apple Services Engineering (ASE) Server Frameworks Team is seeking a Senior Software Engineer to build secure, end-to-end solutions for powering services like the App Store, Apple TV, Apple Music, and more. This role involves developing custom software, tools for media providers, server-side systems, and APIs for various Apple services. The engineer will work with a team of Java engineers and architects, focusing on implementing a feature backlog and roadmap. The frameworks developed will need to incorporate ASE standard methodologies and support core services like logging, statistics collection, and distributed tracing, while considering backward compatibility and dependency management.
Description
The ASE Server Frameworks team is responsible for providing both frameworks and reference examples for Java applications and services that various ASE engineering teams build on top of. We need to provide our engineering counterparts with reliable, well tested and documented frameworks. Like widely used open source frameworks, these APIs and frameworks need to consider backward compatibility, upgrades, transitive dependencies and dependency management. As we evolve and modernize, we need to rev and introduce new frameworks as appropriate. The candidate will be working with a team of other hardworking Java engineers and architects focusing on implementing a feature backlog and roadmap. The frameworks need to incorporate ASE standard methodologies and incorporate foundational support for core services like logging, statistics collection, distributed tracing and other critical features of services frameworks.
Minimum Qualifications
Strong object-oriented programming experience (primarily Java) Expert knowledge of Java build and dependency management tools like Maven/ Gradle (Bazel a bonus), as well as build systems for other languages Excellent understanding of software development life cycle, version control, code reviews, testing, code quality tools Experienced in SQL, relational databases, and ORM tooling Hands on knowledge of scaling distributed services using modern cloud tech (Kubernetes, containers etc) Strong problem solving and excellent communication skills B.S. degree in Computer Science or equivalent professional experience
Preferred Qualifications
Passionate about creating developer tools and services that improve the quality of life for other engineering teams Motivated by operational excellence, maintenance of distributed services, and data driven decision making Interest in Machine Learning and LLMs for automated code refactoring Experience with Bazel M.S. or PhD. in Computer Science or equivalent field
Sample Apple interview questions
- 1
Design a typeahead box for a search engine
system designmedium - 2
Design a rate limiter
system designmedium - 3
Architect a key-value store for distributed systems.
system designmedium - 4
Design a system to schedule jobs in a distributed environment
system designmedium - 5
What is an API and how does it work?
technicalmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
HI Production Designer - Systems Design - Apple Media ServicesApple · Culver City, CA · Onsite
Sr. Software Engineer (Java Middleware), eBusinessApple · Sunnyvale, CA · Onsite
Senior Bioinformatics Software EngineerBaylor Genetics · United States · Onsite- Senior Software Engineer II - Platform & EnablementWrapbook · Remote · Remote
- Associate Software EngineerKeyfactor, Inc. · Remote · Remote
- Platform Software EngineerFord Motor Company · Dearborn, MI · Hybrid
