Software Engineer
Apple
About the role
About
As a software engineer you will contribute to and build 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. Engineers will learn how to excel at making informed technology choices within complex architectures. You will develop deep understanding of the organization's business, products, customers, and strategy will empower us to pinpoint opportunities aligning with our team's mission.
Navigating ambiguity is our strength - you will gain skills on how to 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.
Requirements
- 2+YOE
- Understanding of concurrency and multi-threaded concepts
- General knowledge about memory management and its impacts on library/application development
- General knowledge of large scale distributed systems
- Experience in Traffic/Edge Engineering or Cloud Networking
- Bachelor's in CS or equivalent
- Collaborative approach, working to make the team better
- A growth mindset
- Developed API design and evolution through the lifetime of a library
- 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, etc.
- Proficient with networking and inter-process communication.
- Systems programming experience
- Understanding of popular networking protocols such as (but not limited to) HTTP/1.x, HTTP/2, and HTTP/3 is desirable.
- Deep knowledge of memory models and runtime performance characteristics
- Understanding of how to do runtime performance analysis and make corresponding improvements
- Professional experience partnering with application and library developers to write developer-friendly, high-performance library code
- Passionate about enabling internal partner teams
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free