Job Description
As an Embedded Software Developer, you will be responsible for creating and maintaining firmware and embedded software for our cutting-edge hardware systems. You'll work closely with various teams, including hardware, RF, and DSP engineers, to ensure seamless integration and high-performance operation. Your expertise will be crucial in developing firmware for ARM processors, DSPs, and wireless subsystems, ensuring deterministic and real-time execution.
How You Will Contribute And What You Will Learn
-
Develop firmware and low-level embedded software using C/C++.
-
Integrate and control WiFi and 5G/LTE modules for seamless wireless communication.
-
Implement real-time tasks, scheduling, and event handling for deterministic performance.
-
Interface with hardware peripherals and high-speed interfaces for efficient data transfer.
-
Collaborate with FPGA and DSP teams to optimize control, acceleration, and data processing.
-
Perform board bring-up, system integration, and low-level validation on VPX, VNX, and other platforms.
-
Debug hardware-software interactions using advanced tools like JTAG and logic analyzers.
-
Optimize system performance, considering CPU, DSP, FPGA, memory, latency, and power consumption.
-
Support secure firmware update mechanisms, including OTA updates, for reliable system maintenance.
-
Maintain detailed technical documentation and actively participate in code reviews.
Key Skills And Experience
-
Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field.
-
3+ years of experience in embedded firmware/software development, with a strong background in C/C++.
-
Proficiency in developing firmware for ARM processors, DSPs, and FPGA-based systems is essential.
-
Experience in integrating WiFi and 5G/LTE modules, and working on VPX and VNX hardware platforms.
-
Solid understanding of deterministic scheduling, real-time execution, and memory management in embedded systems.
-
Familiarity with low-level hardware interfaces, interrupts, and real-time tasks is required.
-
Knowledge of networking fundamentals, including TCP/IP, WiFi, and LTE/5G data paths.
-
Experience in board bring-up, system integration, and low-level debugging is preferred.
-
Ability to work effectively in a cross-functional team environment, collaborating with diverse engineering disciplines.
-
Strong problem-solving skills, with a structured and disciplined approach to firmware development.