Software Engineer IV
Role details
Job location
Tech stack
Job description
We are seeking a Staff Software Engineer to lead the development of embedded software solutions for complex, safety-critical commercial systems. This role provides technical leadership across the full embedded software lifecycle, including architecture, development, testing, automation, and field and factory tooling., Technical Leadership & Architecture
- Lead implementation of the embedded software roadmap across field and factory tools.
- Provide architectural guidance and drive best practices across global engineering teams.
- Establish and enforce coding standards and conduct code reviews to ensure high-quality, maintainable software.
- Mentor and guide engineers to strengthen technical depth and consistency.
Embedded Software Development
- Lead development of embedded C/C++ solutions across real-time systems.
- Support kernel, driver, BSP, bootloader, and device driver development.
- Design and maintain multi-threaded, real-time applications using RTOS platforms.
- Integrate and debug hardware interfaces including CAN, RS232/422/485, SPI, I2C, EEPROM, Flash, and timers.
Testing, Automation & CI/CD
- Drive adoption of automated testing, simulation, and CI/CD pipelines to improve release quality and speed.
- Lead regression and system-level integration testing strategies.
- Utilize advanced debugging tools (emulators, logic analyzers, JTAG/BDM, CAN analyzers, scopes).
Security, UX & Field Support
- Lead integration of cybersecurity best practices into embedded products.
- Partner with field users to improve UI/UX and reduce troubleshooting time.
- Lead critical troubleshooting efforts for high-value customers and legacy systems.
- Participate in project planning, estimation, and cross-functional resource coordination.
Requirements
The ideal candidate brings deep expertise in embedded systems, strong leadership and mentoring capabilities, and a proven ability to translate business requirements into robust technical solutions. This position plays a key role in advancing global embedded software standards, improving reliability, security, and user experience across products., * Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field with 12+ years of experience; or Master's degree with 10+ years of experience.
- Extensive experience across all phases of the Software Development Life Cycle (SDLC).
- Strong embedded C/C++ development experience.
- Hands-on experience with RTOS environments and real-time debugging.
- Experience with source control systems (Git, Subversion, Atlassian tools).
- Strong understanding of embedded hardware, schematics, and system integration.
- Ability to work independently, lead multiple initiatives, and mentor others.
- Strong communication skills and commitment to safety, ethics, and quality., * Experience with VB.NET or C# for simulator and UI/UX tooling.
- Experience with ARM or ColdFire microcontrollers.
- Familiarity with Linux, VxWorks, ThreadX, or Green Hills RTOS.
- Experience with Java, Python, Yocto, or other embedded build systems.
- Networking protocol experience (TCP/IP, UDP, Multicast) and tools such as Wireshark.
- Experience using defect tracking tools such as JIRA or Bugzilla.
- Ability to work in industrial environments including equipment rooms as needed.