App Store Engineering, Software Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
Apple Media Products (AMP) first delighted users with downloadable music in April 2003 with the opening of the iTunes Store. Since then, AMP has delivered countless innovations around the digital delivery of audio and video, and in 2008 revolutionized smartphone app distribution with the launch of the App Store. Being the source for so much digital content requires maintaining relationships with a vast number of providers, from record labels to movie studios to app developers. The Digital Supply Chain Engineering team (DSCE) is responsible for ensuring that new content is uploaded, processed, cataloged, and available on our storefronts when the provider expects it to be, and with the highest quality.
- At least 2+ years experience in crafting, implementing and supporting highly scalable backend systems and web services.
- Demonstrate proficiency in data management and automation on Spark, Hadoop, and HDFS environments.
- In-depth Java programming experience.
- Deep understanding, and strong hands on experience - Multithreading, Networking (including non-blocking IO), HTTP and REST APIs.
- Confidence with SQL databases like Oracle and NoSQL databases like Cassandra.
- Passion and prior experience designing and implementing outstanding large distributed systems.
- Be an advocate and driver for performance optimization, automation, and unit tests.
- Ability to pick up new technologies quickly.
- Excellent debugging, critical thinking, and communication skills.
- Tireless attention to detail.
The App Store Engineering R&D team is looking for talented software engineers to build and update App platform. At Apple, great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. We are looking for a self-motivated, high-energy individual with excellent communication skills who is willing to question assumptions, take end to end ownership of features and drive them to completion. You should have experience developing large-scale server-side systems using object-oriented languages. Some successful attributes include: Ability to work in a fast-paced dynamic environment. Analyze, design, code, inspect, debug, and test features for the data platform. Maintain and improve existing applications in response to new feature requests. Collaborate closely with members of other teams throughout the release cycle. We're a team of consummate tech geeks who love figuring out how things work and trying to make them better. Sometimes it's a little tweak, sometimes it's a fundamental shift - usually it's somewhere in between. We brainstorm on whiteboards, share ideas at team lunches and pot-lucks, build prototypes, present proposals to teams, embed for a while to help them get started, check the metrics, and repeat!
Education & Experience
BS or MS in Computer Science or equivalent work experience.