A

Apple

Designs phones, computers and their operating systems

Senior Software Engineer - Multiple Teams

Backend EngineeringConfirmed live in the last 24 hours
Full-timeAustin, TX, USANo salary listedIn-person

About the Job

Requirements

  • A B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent work experience.
  • At least 8 years of experience designing and developing scalable enterprise-level back-end solutions.
  • At least 4 years of experience with Java, including concurrency, memory management, and performance optimization techniques.
  • Proficiency in object-oriented programming principles, data structures, algorithms, and software design patterns, with a focus on implementing testable, maintainable, and extensible back-end code.
  • Experience building production applications with the Spring ecosystem, including dependency injection, auto-configuration, reactive programming with WebFlux, and designing microservices using Spring-based patterns.
  • A solid understanding of advanced Java Virtual Machine internals, including garbage collection, memory allocation, just-in-time compilation, and the Java Native Interface.
  • Experience in API design and implementation, including RESTful API principles, gRPC, GraphQL, contract-first design with OpenAPI/Swagger or Protobuf, API versioning strategies, gateway patterns, rate limiting, and backward compatibility and long-term API evolution.
  • Experience with message-driven and event-driven architectures, including messaging systems such as Kafka, RabbitMQ, or ActiveMQ, event sourcing, CQRS patterns, and reliable asynchronous communication between distributed services.

Responsibilities

  • Design and build scalable, stateless REST APIs for web and mobile clients, including reactive and non-reactive microservices, service orchestration, deployment, and overall architecture.
  • Deliver efficient, readable, modular, high-quality Java code, applying object-oriented design principles, data structures, and algorithms to engineering challenges.
  • Use Java expertise, including concurrency, multithreading, the Spring ecosystem, and modern data access technologies, to build robust, maintainable services.
  • Design database schemas and data access layers and apply performance tuning and caching strategies, including distributed caching services, to meet latency and scalability requirements.
  • Own security and reliability across the stack by applying secure coding practices, building resilient distributed applications, and working across HTTP/HTTPS proxy and network layers.
  • Drive continuous integration and continuous delivery pipelines and build automation using Git and Maven, and manage deployments of enterprise-grade systems, including production AI/ML systems operating at scale.
  • Take end-to-end ownership of complex, ambiguous problems, applying engineering best practices and sound judgment rather than relying on prescribed playbooks.
  • Guide architectural decisions, lead design and code reviews, and mentor junior and mid-level engineers as a technical contributor within project teams.
  • Broaden technical depth across adjacent disciplines, including data, platform, security, and machine learning infrastructure, and contribute to cross-organizational initiatives.
  • Communicate complex technical trade-offs to engineering and cross-functional stakeholders and build alignment across multidisciplinary teams.
  • Determine independently how to achieve objectives, often extending beyond established practices, with oversight focused on major milestones rather than day-to-day execution.

Desired Qualifications

  • A track record of leading software projects within a team as a technical lead while mentoring software engineers.
  • Hands-on experience using generative AI coding tools such as Claude, Copilot, or Codex to accelerate software development, enhance code quality, and streamline debugging and testing.
  • Experience implementing authentication and authorization systems, including OAuth2, OIDC, SAML, JWT, single sign-on architectures, role-based and attribute-based access control, and integration with identity providers and directory services.
  • Experience with natural language processing and generative AI systems, including large language models, retrieval-augmented generation architectures, embedding pipelines, vector databases such as Pinecone, Weaviate, or pgvector, fine-tuning, and prompt engineering for production applications.
  • Experience with caching strategies and in-memory data technologies such as Redis, Memcached, Hazelcast, or Ehcache, including cache invalidation patterns, distributed caching architectures, and session management for high-throughput applications.
  • Experience using relational databases such as Oracle, PostgreSQL, or MySQL and NoSQL databases such as Cassandra or MongoDB, including schema design, query optimization, and performance tuning through execution plan analysis, indexing strategy, and query rewriting.

About the Company

Apple

Designs phones, computers and their operating systems

Apple designs and sells consumer electronics, from iPhone smartphones and Mac computers to tablets and wearable devices. Its operating systems manage apps and built-in functions for communication and work, while iCloud stores files and synchronizes data across devices. Customers buy additional digital services through subscriptions such as Apple Music and Apple TV, and developers distribute software through the App Store. Apple earns money from hardware sales, subscriptions and digital transactions, selling directly to customers and through retailers and mobile carriers around the world. It was founded in 1976 and has its headquarters in Cupertino, California.

Company size
10,001+
Company stage
IPO
Headquarters
Cupertino, CA
Founded
1976

Recently Posted Jobs

Explore more opportunities at Apple

See more jobs