Unknown Company

Principal Embedded Software Engineer- Embedded C++

boulder, co • Posted 3 days ago
Onsite Full Time General

Embedded Software DeveloperKey ResponsibilitiesSoftware firmware development: Designing, developing, and testing SW/FW 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 SW/FW 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 SW/FW source code using version control systems like Git, including branching, merging, and maintaining code repositories.Fulltime work from onsite Colorado, Boulder, USAKey Skills Required10+ years of experience in Embedded SW development with C++ and working at a Senior or Principal levelWorking experience in C++ OOP concepts and advanced featuresHands on working with multi-process, multi-threaded application on LinuxProficiency 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) requirementsExperience with working with C++ mathematical libraries and tools that use linear algebra: matrices, vectors, numerical solvers, and geometric transformationsFamiliarity with microcontrollers, DSP processors, and interfacing to FPGA.Experience in agile development methodologies

Back to Job Search