Senior Software Engineer

  • San Diego, CA
  • Posted 5 days ago | Updated 2 hours ago

Overview

On Site
USD 171,600.00 - 302,200.00 per year
Full Time

Skills

Collaboration
Network
iPhone
GRID
Cellular
SOS
Embedded C
Testing
Satellite
Shell
Team Leadership
Integration Testing
Software Development
Radio
Data Processing
GPU
ASIC
Concurrent Computing
CPU
Caching
Management
RPC
IPC
Mentorship
Publishing
Storage
Automated Testing
Data Analysis
Data Visualization
Python
Linux
Scratch
Device Drivers
C++
Computer Hardware
Debugging
Cloud Computing
Real-time
Dashboard
Xilinx
System On A Chip
FPGA
RTL
HLS
RF
Digital Signal Processing
Wireless Communication
Payments

Job Details

At Apple, we strive every single day to craft products that enrich people's lives. Our successes are the result of skilled domain experts working in an environment which encourages creativity, collaboration, and re-thinking of old problems in new ways! As a member of the Satellite Connectivity Group, you will work on the satellite network that enables connectivity to iPhone when off the grid without cellular or Wi-Fi coverage. Every day, Apple customers use Emergency SOS via satellite to access emergency assistance when they are in need of help and have no other means to communicate. You will have the unique and rewarding opportunity to shape this and other critical services, to the benefit and safety of millions of Apple device users. Our team is looking for an experienced software engineer with modern embedded C++ and Python skills and experienced in software-defined-radio and real-time data-processing systems. A successful candidate will be responsible for designing, implementing, testing, and operating a complex real-time software system that runs on a globally-distributed heterogeneous compute platform and processes every bit of information exchanged to realize the satellite connectivity.

Description - Development of software-defined-radio system on Linux running on AMD/Xilinx SoC (C++, Python, shell). - Cross-team coordination and execution of software releases and hardware-software integrated test campaigns. - Development and deployment of operation procedures (Python or Go) running on the cloud-based control and monitoring system.

Minimum Qualifications
  • 10+ years of experience of software development in modern C++.
  • 5+ years of experience of designing and implementing software-defined radio (SDR) software or high-bandwidth data-processing application.
  • Experience of designing software system running on a heterogeneous computing system (CPU+FPGA, CPU+GPU, CPU+ASIC accelerator, etc).
  • Strong familiarity with low-level systems programming using modern C++ constructs (C++20 and above) involving topics such as concurrency, memory safety, CPU-hardware interaction (including cache coherency management), and RPC / IPC / message passing.
  • Knowledge of and ability to mentor other team members on modern design/coding best practices (e.g. C++ Core Guideline).
  • Experience of development and publishing custom Python modules via an artifact storage such as PyPI.
  • Experience of test automation, data analysis, and data visualization in Python.
  • Experience of setting up a Yocto Linux or Petalinux project for a custom SoC board from scratch.
  • Ability to write kernel-space user-space device drivers in C++ for high-bandwidth and real-time hardware accelerators / custom peripherals.
  • Remote development / debug using modern tools (VSCode Remote, VSCode Debugger).
  • Experience with operating complex software services on the cloud; development of test / operation procedures, real-time monitoring system, data-ingestion system, dashboard.
  • Managed software releases to the production environment.

Preferred Qualifications
  • Familiar with AMD/Xilinx SoC and Vivado/Vitis/Petalinux toolchains.
  • Previous experience of FPGA code development in RTL or HLS.
  • General radio-frequency (RF) digital signal processing knowledge.
  • Hands-on development experience in areas related to 5G, WiFi, GNSS, CCSDS, and/or SpaceWire.

Pay & Benefits 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 $171,600 and $302,200, and your base pay will depend on your skills, qualifications, experience, and location.

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.

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

Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote 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 .
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.