Senior Software Engineer - Distributed Systems

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


Posted: Mar 19, 2019
Weekly Hours: 40
Role Number: 113958016
Imagine what you could do here. At Apple, new ideas have a way of becoming outstanding products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Apple’s Applied Machine Learning team has built systems for a number of large-scale data science applications. We work on many high-impact projects that serve various Apple lines of business. We use the latest in open source technology and as committers on some of these projects, we are opening up the boundaries. Working with different teams, we lead many streams of Apple-scale data. We bring it all together and extract the value. We do all this with an excellent group of software engineers, data scientists, dev-ops engineers and managers.

Key Qualifications

  • Strong Object Oriented Programming skills and proficiency in Java.
  • Shown understanding of Hadoop, Hive, Spark, HDFS, ORC and Presto
  • Experience developing ETL solutions for clients in different domains, managing various types of significant data
  • Experience in distributed systems, design and implementation of high throughput applications.
  • Extensive hands-on experience building solutions for large-scale data infrastructure
  • Experience crafting and architecting distributed systems, concurrent programming, and coding data structures
  • Excellent analytical skills, critical thinking, and communication skills.
  • Understanding of JVM internals and garbage collection.
  • Strong working knowledge of scripting languages like Python.
  • Understanding of query algorithms and optimization.
  • Shown mathematical knowledge; understanding of machine learning, statistics.
  • Demonstrated to have a strong, analytical and data-driven mind set.


As a Senior Software Engineer, to help build innovative software applications. You should have development and implementation experience on large scale critical applications. The main responsibilities for this position include: Architecting innovative solutions while playing a hands-on development role to deliver products in a rapid and dynamic environment. You will be involved in challenging and dynamic projects supporting Apple's business by delivering innovative solutions to given challenges. Develop tools to monitor system health, performance, and reliability.

Education & Experience

BS degree in computer science or equivalent field with 5+ years of professional experience, or equivalent.

Additional Requirements