Sr. Software Engineer – Traffic, JVM Frameworks (ASE) – 200553216 -Cupertino, California, United States

Apple

Apple services make extensive use of Java Virtual Machine (JVM) and Java Development Kit (JDK) technology. Apple services therefore need world class libraries in order to operate in a distributed, performant, and reliant fashion. A few examples of libraries in the JVM space that are lead by our team are Netty (https://netty.io/) and ServiceTalk (https://servicetalk.io/). Team members are passionate about working across a large organization to understand where library changes are justified, configuration changes, or if application tuning would be sufficient. If you are interested in digging into networking protocols all the way up to exposing these capabilities in a user friendly fashion then we’d love to hear from you!

As an experienced software engineer you will contribute to and build JVM based libraries that enable services at Apple’s scale. This is an opportunity to demonstrate your leadership skills, influencing and improving the networking stack for Apple services. You will have the opportunity to work with a team which has set its sights on improving impact across Apple. Senior engineers will be expected to excel at making informed technology choices within complex architectures, whether it’s deciding to build or buy specific components and selecting the right frameworks.

Your deep understanding of the organization’s business, products, customers, and strategy will empower us to pinpoint opportunities aligning with our team’s mission.

We expect senior engineers to make decisive choices even amid conflicting perspectives, demonstrating our commitment by disagreeing when necessary and then committing to the chosen path. Navigating ambiguity is our strength – you will concentrate on the broader objectives, goals, and desired impact, taking deliberate steps forward. Our dedication extends to coaching and mentoring teammates, considering their unique skills, backgrounds, and working styles. You will actively seek and provide constructive feedback to foster growth within our team.

Here you will find that we:

• Have a peaceful work environment where you can choose when to socialize and when to focus.
• Provide technical guidance and mentorship as needed.
• Have an encouraging and growth-focused workplace culture.
• Encourage you to use accrued vacation time and maintain a healthy work-life balance.
• Offer excellent benefits!

Expert knowledge of JavaJava API design and evolution through the lifetime of a libraryUnderstanding of concurrency and multi-threaded conceptsProficient with networking and inter-process communication. Understanding of popular networking protocols such as HTTP/1.x and HTTP/2 is desirable.Deep knowledge of Java Memory ModelUnderstanding of how to do JVM performance analysis and make corresponding improvementsProfessional experience partnering with application and library developers to write more friendly code for the JVM/JDKUnderstanding of Java Development Kit (e.g. Java APIs and library implementations)General knowledge about Garbage Collection and its impacts on library/application developmentGeneral knowledge about JIT technologies and its impacts on library/application development

 

Job Overview