BS/MS degree in Computer Science, Electrical/Software Engineering, or related technical field(s); BS with 5+ years of experience or MS with 2-3 years in memory-constrained embedded C/C++ firmware development
Experience with technical ownership on embedded projects: task management, release planning, architecture, design, development, code reviews, testing, and delivery through customer volume production
Experience with various microprocessor architectures (ARM or RISC-V; RISC-V a plus)
Understanding of embedded SoC and micro-controller architecture, memory-mapped hardware interfaces, GPIOs, ISRs, RTOS, queuing, memory management, and interrupt processing
Understanding of parameter calibration techniques (e.g., interpolation, splines)
Expert C and Python programming skills; working knowledge of git, Linux, makefiles, gdb, IDEs, bash, etc.
Hands-on debug skills on real hardware using oscilloscopes, logic analyzers, JTAG, and other embedded diagnostics tooling
Working knowledge of hardware design schematics
Excellent verbal and written communication skills in English; ability to coll
Additional Information
About Marvell
Marvell's semiconductor solutions are the essential building blocks of the data infrastructure that connects our world. Across enterprise, cloud and AI, and carrier architectures, our innovative technology is enabling new possibilities.
At Marvell, you can affect the arc of individual lives, lift the trajectory of entire industries, and fuel the transformative potential of tomorrow. For those looking to make their mark on purposeful and enduring innovation, above and beyond fleeting trends, Marvell is a place to thrive, learn, and lead.
Your Team, Your Impact
The Firmware team at Marvell builds highly integrated component platforms with high speed Silicon photonics, transmit and receive amplifiers, controller ASIC's with Marvell DSP's. These components are made operational with a highly functional embedded firmware. The team is responsible for design, verification, and validation of these integrated high speed optical components. The team performs system level testing under various operating conditions, and validates the performance of the hardware, firmware and control loops. An engineer in this team will be involved in a full product lifecycle and will carry new products from inception all the way to NPI.
What You Can Expect
The SW team is a key enabler for bringing products to production. As a Sr. Staff Software Engineer, you will work closely with SW, HW, and Test teams - as well as experts from systems, customer support, and operations - to drive successful product launches. Core areas of ownership include:
Embedded firmware running on our RISC-V-based multi-core MCU, controlling our proprietary DSP data path
C SDK provided to customers for interfacing with and controlling our product
Python-based GUI for in-field debug, status, and control
Build, test, and automated regression infrastructure for all of the above
In This Role You Will
Design, implement, test, deploy, and maintain firmware for embedded systems, both independently and cross-functionally
Serve as the software expert on a block or portion of the design, owning SW architecture, development, and testing of embedded C firmware end-to-end
Collaborate with HW and SW teams on system requirements, schematics, and hardware validation
Lead bring-ups for next-generation Marvell products and travel to worldwide offices for chip bring-up (~3 weeks/yr; Ottawa, California, Italy, Vietnam)
Lead difficult debug efforts, drive to root causes with HW/Systems teams, and follow through with test, validation, and customer support to ensure full resolution
Optimize firmware for performance, reliability, and power consumption
Participate in and lead design reviews, code reviews, and debugging sessions
Plan SW milestones, develop in sprints, close tickets, and roll out features across multiple test disciplines
Execute frequent firmware releases for both internal use and external customers
Develop and maintain documentation including functional specs, design documents, test specifications, user guides, and examples
Stay current with industry trends and emerging technologies
Example Tasks
Mentor interns or new hires to help them ramp up and integrate into the team
Develop Python test scripts to configure, control, and gather status from multiple DSP hardware platforms to improve firmware stability
Break up and optimize subroutines to maximize efficiency across a multi-core MCU architecture
Design and implement unit testing processes for firmware code
Collaborate with teammates to review code, analyze test results, and debug complex customer issues
Implement new temperature tracking algorithms for DSP/analog control to improve device performance across temperature ranges