Senior Networking Software Engineer
Job Description
Ottawa, Ontario, Canada Software and Services
At Apple, new ideas have a way of becoming extraordinary products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish!We're looking for a passionate software engineer to join us in building the best networking protocols and technologies powering a wide array of Apple products.The Internet Technologies team provides the core infrastructure for device-to-device communications, including both messaging and realtime communications. The team’s frameworks unlock sharing, collaboration, messaging, and secure connectivity, providing API surfaces enable Apple products such as iMessage, FaceTime, HomeKit, SharePlay, Apple Watch, AirDrop, and more.In this position, you’ll play a crucial role in improving and expanding these networking and communications features. You’ll work mostly in Swift and Objective-C on protocols, frameworks, and daemons. Our goal is to develop technologies and craft experiences that revolutionize the way people communicate with each other and interact with their devices. If this opportunity sounds exciting to you, please apply!
Description
As an Internet Technologies Software Engineer, you will have a unique ability to build innovative networking technologies and communication protocols. You will collaborate across teams at Apple to drive improvements to networking technologies across platforms.IN CONCRETE TERMS, YOU WILL WORK ON:design and implementation of communication protocolsBuilding features on Apple platforms that enhance existing communication protocols and networking stacksTesting strategies and improving testability of networking technologiesBug fixing of existing networkingYou will play a role in improving and expanding the existing suite of networking tools and protocols used by our users today.
Minimum Qualifications
- Bachelors Degree in Computer Science, Computer Engineering, Mechanical Engineering, Electrical Engineering, or equivalent experience
- Demonstrable object-oriented programming skills in at least one language like Swift, Objective-C or C++
- Experience developing and working with TCP/IP and L2 networking
- Strong communication, collaboration, and social skills
- Self-directed and can solve problems independently
Preferred Qualifications
- 5+ years experience C programming in embedded systems and kernel environments
- experience with device driver and kernel programming
- strong demonstrable skills in debugging and analyzing multi-threaded problems
- experience developing and working with higher level protocols including QUIC and HTTP3
- experience with system integration and network application programming
- experience with full product cycle from prototype to released product
- demonstrated experience working with and developing for real time operating systems
- experience working with OSes such as macOS or Linux
- experience with TDD is a bonus
- a focus on quality outcomes and testability
- team focused designer, with a proven record of collaborative work with in small teams
Apple is an equal opportunity employer that is committed to inclusion and diversity. Apple provides reasonable accommodations to applicants with disabilities. Apple is a drug-free workplace.
#J-18808-Ljbffr
How to Apply
Ready to start your career as a Senior Networking Software Engineer at Apple Inc.?
- Click the "Apply Now" button below.
- Review the safety warning in the modal.
- You will be redirected to the employer's official portal to complete your application.
- Ensure your resume and cover letter are tailored to the job description using our AI tools.
Frequently Asked Questions
Who is hiring?▼
This role is with Apple Inc. in Ottawa.
Is this a remote position?▼
This appears to be an on-site role in Ottawa.
What is the hiring process?▼
After you click "Apply Now", you will be redirected to the employer's official site to submit your resume. You can typically expect to hear back within 1-2 weeks if shortlisted.
How can I improve my application?▼
Tailor your resume to the specific job description. You can use our free Resume Analyzer to see how well you match the requirements.
What skills are needed?▼
Refer to the "Job Description" section above for a detailed list of required and preferred qualifications.