Battery and Power Software Engineer responsible for designing, developing, and optimizing battery management, charging, and power features for mobile and embedded devices.
Responsibilities
Design and implement battery management, charging and power features across kernel drivers, firmware and the Android framework
Optimize charging performance, power consumption and thermal behavior
Troubleshoot and resolve battery, charging, power and thermal issues, including field and customer-reported issues
Requirements
Bachelor's degree in Electrical/Electronics Engineering
Design, develop, and test software for high-impact networking platforms and distributed systems, collaborating with architects and engineering teams to build AI-powered solutions for network platform security.
Compensation
The starting salary range posted for this position is $167,700.00 to $245,200.00 and reflects the projected salary range for new hires in this position in U.S. and/or Canada locations, not including incentive compensation*, equity, or benefits.
Responsibilities
Design, develop, and test software for high-impact networking platforms and distributed systems
Collaborate with system architects and engineering teams to design scalable solutions that meet product requirements
Build systems and applications using modern development practices and open-source technologies
Contribute to the development and maintenance of complex software projects with an automation-first mindset
Troubleshoot, debug, and optimize distributed systems to improve performance and reliability
Develop embedded software in Rust and C/C++ for encrypted communications systems.
Locations (4)
Tampa, Florida, United States
San Jose, California, United States
San Francisco, California, United States
New York, New York, United States
Compensation
$117,000.00 - $185,000.00 / annually. For specific work locations within San Jose, the San Francisco Bay area and New York City metropolitan area, the base pay range for this role is $145,000.00- $218,000.00/ annually
Responsibilities
Design and implement embedded software in Rust and C/C++
Collaborate with system, test, and hardware engineers
Design, develop, and test software for high-impact networking platforms and distributed systems, collaborating with architects and engineering teams to build AI-powered security solutions for next-generation networking platforms.
Locations (6)
Milpitas, California, United States
New York City, New York, United States
New York, United States
Washington, United States
Illinois, United States
Software Development Engineer - GPU Interconnects and Ethernet AI
Senior technical contributor designing, developing, and bringing up networking software for GPU scale‑up interconnects and Ethernet‑based AI fabrics on AMD Helios rack‑scale systems.
Responsibilities
Lead the design and development of networking software for GPU scale‑up interconnect and Ethernet‑based AI fabrics on AMD Helios rack‑scale systems
Develop and optimize Linux kernel drivers, embedded firmware and user‑space software for GPU interconnect, NIC and switch subsystems
Drive hardware and software bring‑up of new ASICs and platforms, including SerDes and link initialization, Ethernet MAC/PCS/FEC configuration, topology discovery and validation
Work with switch software teams on switch configuration, forwarding, QoS, telemetry and fabric management for scale‑up and scale‑out topologies
Define firmware, driver and management interfaces and control‑plane protocols between GPUs, switches and fabric management software
Requirements
Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent
Nice to have: Strong C/C++ programming skills
Nice to have: Python or Go for tooling
Nice to have: Embedded firmware on microcontrollers or SoC management processors
The starting salary range posted for this position is $167,700.00 to $245,200.00 and reflects the projected salary range for new hires in this position in U.S. and/or Canada locations
Responsibilities
Design, develop, and test software for high-impact networking platforms and distributed systems
Collaborate with system architects and engineering teams to design scalable solutions that meet product requirements
Build systems and applications using modern development practices and open-source technologies
Contribute to the development and maintenance of complex software projects with an automation-first mindset
Troubleshoot, debug, and optimize distributed systems to improve performance and reliability