Software Development Engineer

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

Summary

Posted: Feb 18, 2019
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