Software Development Engineer

Cupertino, CA
  • Job Code
    200055641
  • Jobs Rated
    11th
Summary

Summary

Posted: May 2, 2019

Weekly Hours: 40

Role Number: 200055641

The team here at Apple is building services and frameworks empowering Apple's software engineers to build the products our customers love. We are a fast moving, highly skilled but small team 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 such challenges. If this is something which interests you, we'd love to hear from you

Key Qualifications

  • You should be intimately familiar with designing, developing and operating highly available, scalable, distributed systems
  • You 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
  • Know and understand your design patterns and how to implement them
  • Sensitive to user experience and design APIs and tools users love
  • Curious to continue learning about how systems work and how they fail
  • Excited to learn new technologies and solutions
  • Love open source and collaboration
  • Detail oriented. perfectionists are also welcome to apply

Description

Understand distributed system security: authentication and access control in distributed systems. Understand the security challenges in large scale distributed systems where system failures and compromises happen continuously. You should be an expert in designing, implementing and supporting highly scalable services deeply understand async programming models have the ability to design and develop intuitive APIs that developers love but can scale and be familiar with modern server technologies (e.g., non-blocking IO, distributed storage, async programming) be eager to learn new technologies and solutions love open source and collaboration be detailed oriented. You should enjoy being challenged, be a teammate, a student, and a mentor and of course be passionate about development

SOME TECHNICAL SKILLS WE FIND RELEVANT:
- 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 or MS in Computer Science or equivalent

Jobs Rated Reports for Software Developer

Before you go...

Our free job seeker tools include alerts for new jobs, saving your favorites, optimized job matching, and more! Just enter your email below.

Share this job:

Software Development Engineer

Apple, Inc.
Cupertino, CA

Join us to start saving your Favorite Jobs!

Sign In Create Account
Software Developer
11th2018 - Software Developer
Overall Rating: 11/220
Median Salary: $102,280

Work Environment
Good
71/220
Stress
Very Low
25/220
Growth
Very Good
21/220