Software Development Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted: Nov 7, 2018
Role Number: 200004215
This team is building services and frameworks empowering Apple’s outstanding software engineers to build the products our customers love. We are a fast moving, highly skilled but still a small team responsible for designing and building the foundational technologies that underpin Apple’s server-side products. Our systems have to scale globally, stay highly available, be secured, easy to use and "just work”. That's a tall order, and we're looking for a talented and passionate engineering leader who loves dealing with large complex challenges.

Key Qualifications

  • - Intimately familiar with designing, developing and operating highly available, scalable, distributed systems
  • - Love automation and tooling and believe they play a critical role in software development
  • - Familiar with authentication, authorization, access control and similar distributed systems security concepts
  • - Strong in your knowledge of design patterns
  • - Sensitive to user experience and design APIs and tools users love
  • - Curious about how systems work and how they fail
  • - Eager to learn new technologies and solutions
  • - Love open source and collaboration

Description

- Micro-service and event driven architectures - Async programming and non-blocking IO - Kotlin, Java and/or other JVM languages. Go, C++ - Modern application server frameworks like Finagle,Vert.x or Netty, but also more traditional ones like Jetty, Tomcat, Servlets, Node.js, Ruby On Rails, Django or others - Backend systems like Cassandra, Postgres or MySQL, Redis, Memcached, Kafka and Solr - Cloud platforms like AWS, GCP, Azure, Heroku - Linux and macOS - Testing frameworks: Junit, gmock, TestNG, Spock, Cucumber - Continuous integration and delivery

Education & Experience

BS, MS or PhD, in Computer Science, or equivalent experience

Additional Requirements