Software firmware development: Designing, developing, and testing SWFW for embedded systems using languages like C++, Python.
Understand existing architecture: Analyzing and comprehending the current system architecture to effectively integrate new features and modifications.
RTOS: Working with Real-Time Operating Systems, optimizing computation to achieve real-time processing performance on embedded platforms.
Hardware and Software Integration: Ensuring seamless integration of firmware with hardware components for optimal system performance.
Working with Embedded Hardware like board bring up, troubleshooting: Engaging in the initial power-up and porting SWFW on new hardware, as well as diagnosing and resolving hardware-related issues.
Debugging and Troubleshooting: Utilizing tools like JTAG, oscilloscopes, and logic analyzers to debug and resolve complex hardware-software integration issues.
Cross-functional team collaboration: Working closely with hardware engineers, software developers, Quality, reliability and product managers.
Technical Documentation: Creating and maintaining detailed documentation for full lifecycle design to launch.
Software Lifecycle: Managing SWFW source code using version control systems like Git, including branching, merging, and maintaining code repositories.
Key Skills required
10+ years of experience in Embedded SW development with C++ and working at a Senior or Principal level
Working experience in C++ OOP concepts and advanced features
Hands on working with multi-process, multi-threaded application on Linux
Proficiency in designing, implementing, and optimizing Digital Signal Processing algorithms.
Experience optimizing algorithms for embedded targets that are memory and CPU resource constrained with optimizing computations for real-time processing.
Experience with DSP hardware and software tools and strong debugging and troubleshooting skills with target tools and environments.
Experience with real-time operating systems (RTOS) requirements
Experience with working with C++ mathematical libraries and tools that use linear algebra: matrices, vectors, numerical solvers, and geometric transformations
Familiarity with microcontrollers, DSP processors, and interfacing to FPGA.
Experience in agile development methodologies
Experience working with Git