Firmware Engineer
SLB · Rosharon, TX · 1 mo ago
Engineering$100/hrFull-time
About the role
The Embedded Software Engineer – Development designs and implements embedded software for SL B measurement and control systems. The role evaluates methods, technology, and development tools, defines and implements frameworks and design practices, and shares knowledge within local and global communities.
Responsibilities
- Design and implement embedded software for measurement and control systems using multiple processors and real‑time operating systems.
- Design high‑speed, hard‑real‑time data acquisition and logging systems.
- Implement DSP algorithms.
- Gather and analyze requirements and estimations.
- Coordinate software development with other disciplines and engineering projects.
- Design testing procedures, conduct and coordinate tests, document results, and develop presentations.
- Provide timely corrective actions on defects and support manufacturing and field organizations on design and testing issues.
- Produce analyses and mathematical models, draw design conclusions, and contribute to multidisciplinary technical reviews.
- Contribute to design standards and support design reuse.
- Create and maintain product documentation.
- Provide technical support to field and customers through InTouch.
- Assign, direct, and review work of technicians; mentor engineers as required.
- Share expertise via Eureka and special interest groups; build informal networks throughout the organization.
- Author technical reports, papers, articles, patents, and presentations.
- Continually evaluate engineering approaches and risks, stay abreast of novel technical concepts and markets, and adopt new practices to develop innovative, low‑cost products.
- Maintain compliance with the embedded software development process and stay familiar with company technology, organization, and business.
Minimum Qualifications
- Bachelor’s degree in electrical engineering, embedded software, or computer science.
- 3+ years of engineering experience in product development, testing, or system engineering.
- Experience with programming languages such as Python, C, or C++.
- Experience programming microcontrollers (e.g., Microchip dsPIC, SAMD21; Texas Instruments; NXP; STM32; or any ARM M4‑class controller).
- Experience with embedded software requirements, design architecture, and specifications.
- Experience with software version management tools (e.g., Git, SVN).
- Strong team communication skills.
- Good decision‑making and initiative.
Preferred Qualifications
- Experience with Azure DevOps.
- Experience with MATLAB simulation and code generation.
- Experience with software continuous integration.
- Experience with static code analysis tools such as SonarQube and Mend.
- Experience with unit testing frameworks (e.g., Google Test, Catch2, Mockito).
- Experience with hardware‑in‑the‑loop testing methods.
- Additional experience with C/C++ and Python programming.
- Experience with Unix fundamentals and the Linux ecosystem.
- Experience building and configuring Linux user‑land installations (base OS).
- Experience deploying customized Linux user‑land images (Buildroot, Yocto).
- Experience with embedded Linux.
- Experience with generative AI agents such as Claude, Code, and Cursor.