Senior Software Engineer - Traffic, JVM Frameworks (ASE)
Apple services need world class libraries in order to operate in a distributed, performant, and reliable fashion. We are responsible for delivering the JVM based libraries that meet the needs of Apple services. Examples of these libraries are Netty (https://netty.io/) and ServiceTalk (https://servicetalk.io/). Our team is passionate about enabling our partners, whether that’s delivering library changes, configuration changes, or guiding our peers on how to tuning their applications. 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 develop and demonstrate your leadership skills, influencing and improving the networking stack for Apple services. You will have the opportunity to work with a team which is focused on impact across Apple. Senior engineers will be expected to excel at making informed technology choices within complex architectures. 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 enable 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 collaborative work environment where you can choose when to socialize and when to focus.
• Provide technical guidance and mentorship.
• 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!
- Developed Java API design and evolution through the lifetime of a library
- Understanding of concurrency and multi-threaded concepts
- Understanding of Java Development Kit (e.g. Java APIs and library implementations)
- General knowledge about Garbage Collection and its impacts on library/application development
- General knowledge of large scale distributed systems
- Expertise in Traffic/Edge Engineering or Cloud Networking
- General knowledge of Java Memory Model
- Collaborative approach, working to make the team better
- A growth mindset
- Passionate about improving the team and partners you work with
- Professional expertise in Traffic/Edge Engineering or Cloud Networking
- Experience with async RPC libraries such as Netty, ServiceTalk, Finagle, VertX, Spring Reactor, gRPC Java, etc.
- Proficient with networking and inter-process communication.
- C++/JNI knowledge
- Understanding of popular networking protocols such as (but not limited to) HTTP/1.x and HTTP/2 is desirable.
- Deep knowledge of Java Memory Model
- Understanding of how to do JVM performance analysis and make corresponding improvements
- Professional experience partnering with application and library developers to write more friendly code for the JVM/JDK
- Passionate about enabling internal partner teams
Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.