Software Engineer - Systems

Apple Inc.
San Diego, United States of America
31 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Compensation
$ 210K

Job location

San Diego, United States of America

Tech stack

API
Agile Methodologies
Apple Mac Systems
XCode
Bash
Unix
C++
Network Analysis
Computer Networks
Computer Engineering
Continuous Delivery
Continuous Integration
Software Debugging
Memory Management
Embedded Software
HTTP Live Streaming
Network Topologies
Networking Hardware
Python
Network Architecture
Objective-C
Memory Leaks
Simulation Software
Software Engineering
Data Streaming
Transmission Control Protocol (TCP)
Wireshark
Network Switches
Network Routers
Multithreading
Scripting (Bash/Python/Go/Ruby)
GIT
Bug Reporting
Information Technology
Operational Systems
Software Version Control
Jenkins

Job description

APPLE INC has the following available in San Diego, California. Design and develop media systems software, including using advanced system debugging, sampling, and profiling tools, such as XCode instruments, DTrace, GDB/LLDB, Valgrind, AddressSanitizer, and command of underlying architecture and implementation of UNIX-based operating systems including: filesystem interfaces, IPC primitives, messaging, RPC, synchronization, notification, Memory Management, OS X processes, POSIX threads, scheduling, priority propagation, etc. Develop features for media systems frameworks running on iOS, macOS, tvOS, and analyze correctness, reliability and performance of existing software. Develop cross-platform software and perform deep analysis of the capabilities and limitations of each run-time environment including CPU, battery life impact, reconfiguration at run-time and impact to multi-device ecosystem features. Tune new and existing algorithms for streaming media playback performance. Algorithms, such as Adaptive Bitrate (ABR) selection heuristics used in streaming playback implementations. Design, implement and configure of test-beds and simulation software for large scale validation, including designing dedicated laboratory setups that re-create or simulate a large number of use cases. Contribute to media systems design from specification to prototype and implementation, including new capabilities and features for Apple's devices (e.g., ability to download HTTP Live Streaming assets, and play them locally on an Apple device), and create new APIs (Application Programming Interfaces) to be used by software third-party developers to develop applications for Apple's hardware. Design, assemble, and maintain Streaming Lab infrastructure hardware to enable testing and troubleshooting of streaming algorithms. Monitor and perform analysis on large quantities of user field data to identify trends and issues across the Apple family of devices. 40 hours/week. At Apple, base pay is one part, Using C or C++ and contributing software changes to codebase for embedded software platforms.

Analyzing Objective-C codebases used in production for embedded software platforms.

Software debugging, including investigating software bug reports; analyzing bug reports and analyzing software at runtime; and using sampling and debugging tools: Dtrace, GDB/LLDB, Valgrind, and AddressSanitizer.

Using Bash and Python scripting; developing test infrastructure and test automations to support the development process; and Practice of Continuous Integration (CI) and merging code into a central repository.

Developing and optimizing software for embedded applications targeted for resource-constrained software.

Using network analysis tools including Wireshark, iPerf, and tcpdump to analyze media Streaming software and the transmission of multimedia data over TCP/IP networks.

Using network architectures and protocols including HTTP and analyzing network traffic, including knowledge of common network topology, protocols and infrastructure design.

Using modern software delivery methodologies and tools: Agile, Version Control - Git, Continuous Integration and Continuous Delivery (CI/CD) tools: Jenkins.

Setting up and maintaining hardware in a lab, including installing, configuring and maintaining lab equipment to support development process in terms of tuning, validation and testing, particularly networking hardware such as network switches, routers, middleboxes.

Requirements

Bachelor's degree or foreign equivalent in Computer Engineering, Computer Science, Electrical Engineering, Electronics Engineering, or a related field.

Benefits & conditions

of our total compensation package and is determined within a range. This provides the opportunity to progress as you grow and develop within a role. The base pay range for this role is between $139,500.00 - $210,100.00/yr and your base pay will depend on your skills, qualifications, experience, and location.

PAY & BENEFITS: Apple employees also have the opportunity to become an Apple shareholder through participation in Apple's discretionary employee stock programs. Apple employees are eligible for discretionary restricted stock unit awards, and can purchase Apple stock at a discount if voluntarily participating in Apple's Employee Stock Purchase Plan. You'll also receive benefits including: Comprehensive medical and dental coverage, retirement benefits, a range of discounted products and free services, and for formal education related to advancing your career at Apple, reimbursement for certain educational expenses - including tuition. Additionally, this role might be eligible for discretionary bonuses or commission payments as well as relocation. Learn more about Apple Benefits: https://www.apple.com/careers/us/benefits.html.

Note: Apple benefit, compensation and employee stock programs are subject to eligibility requirements and other terms of the applicable plan or program.

About the company

Imagine what you can do here. Apple is a place where extraordinary people gather to do their lives best work. Together we create products and experiences people once couldn't have imagined, and now, can't imagine living without. It's the diversity of those people and their ideas that inspires the innovation that runs through everything we do.

Apply for this position