Embedded Software Engineer
Job description
USA.
About the role
This role advances infotainment platform bring-up through embedded system work. The position guides low-level initialization and integration for complex SoC environments. It targets engineers who thrive on hardware-to-software coordination in safety-conscious contexts.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
What you'll do
Establish foundational platform readiness by driving AMD Versal SoC bring-up on a custom board from EVK reference.
Ensure functional hardware blocks by developing and validating programmable logic integration, including IP instantiation, configuration, and AXI interfaces.
Enable reliable core coordination by implementing and validating inter-processor communication between Versal AI Core or RPU and AMD APU using RPMsg, OpenAMP, or shared-memory methods.
Support stable core operation by building and verifying board support packages and drivers for Versal processing system subsystems such as RPU and APU partitions.
Align development flows with vendor guidance by collaborating with AMD and Xilinx on Versal platform tools including Vitis and Petalinux.
Demonstrate end-to-end capability by bringing up sample applications for PL IP integration and Versal/X86 interfaces.
Requirements
The posting states a pay range of $130000 to $140000.
Hold a Bachelor's or Master's degree in Computer Science/Engineering or a related field as a baseline for advanced embedded work.
Bring 5+ years of experience in embedded software development to ensure depth in porting and debugging complex hardware.
Perform board initialization and platform understanding through hands-on experience with Versal or Zynq UltraScale+ bring-up.
Connect logic modules by building expertise in FPGA/PL driver integration using Vitis HLS, IP integration, and AXI interconnects.
Enable core data exchange by implementing IPC mechanisms such as RPMsg, OpenAMP, or shared-memory communication.
Build and debug embedded images with fluency in Petalinux and Yocto, plus Xilinx/AMD SDK toolchains.
Apply strong skills in C/C++, Python, or Rust, supported by hardware debug and Xilinx debugging tooling.
Nice to have
Accelerate advanced workloads with hands-on experience in AMD Versal AI Core or Versal Premium features.
Provide context-specific constraints with a background in the automotive domain, including ADAS or cockpit systems.
Meet functional safety goals through experience with safety-capable RPU lockstep configurations.
Optimize throughput with exposure to DMA engines and high-bandwidth PL PS data paths.
Practical notes
Work is performed on-site, In-Office, 5 days per week in Palo Alto, California.
This role is offered by ALTEN Technology, part of the global ALTEN Group.
Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Work in embedded systems often involves close collaboration with hardware teams and strict compliance requirements.
Toolchains such as Vitis, Petalinux, and SDKs are central to developing and debugging complex SoC platforms.
Roles in this domain may interface with automotive standards and aerospace environments depending on project needs.
Rapid bring-up of new silicon requires debugging across hardware, firmware, and application layers.
Clear communication across distributed teams supports successful integration and milestone delivery.