Software Engineer - Systems

AppleSan Diego, CA
18hOnsite

About The Position

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. 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 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.

Requirements

  • Bachelor’s degree or foreign equivalent in Computer Engineering, Computer Science, Electrical Engineering, Electronics Engineering, or a related field.
  • 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.

Nice To Haves

  • N/A

Benefits

  • Comprehensive medical and dental coverage
  • retirement benefits
  • a range of discounted products and free services
  • reimbursement for certain educational expenses — including tuition
  • discretionary bonuses or commission payments
  • relocation
  • participation in Apple’s discretionary employee stock programs
  • eligible for discretionary restricted stock unit awards
  • can purchase Apple stock at a discount if voluntarily participating in Apple’s Employee Stock Purchase Plan
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service