Staff Engineer, Embedded Software Development
https://careers.bakerhughes.com/global/en/job/R164288/Staff-Engineer-Embedded-Software-Development
Are you passionate about building scalable embedded systems that seamlessly integrate low-level hardware with high-level application software?
Do you thrive in designing complex system architectures and debugging across hardware, firmware, and application layers to deliver high-performance, reliable products?
Partnering with the best
As the world leader in non-destructive testing (NDT), Waygate Technologies offers the broadest portfolio of industrial inspection solutions. Our solutions include radiography and computed tomography (CT), remote visual inspection, ultrasound and eddy current technologies. We ensure safety, quality and productivity for our customers across major industries around the world.
Fueling your passion
We are seeking a Staff Engineer in Embedded Development with 4+ years of experience building complex systems that span embedded devices and application-level software. This role focuses on developing and integrating software across device, middleware, and application layers, combining low-level hardware interaction with higher-level system functionality.
As a Staff Engineer, Embedded Software Development, you will be responsible for:
-
Developing Embedded Software:
Designing and implementing embedded software in C++ for Linux-based systems, including drivers, hardware interfaces, and system services.
-
Developing Application-Level Software:
Building application and middleware components using C# and related frameworks to support device control, user interaction, and system orchestration.
-
Owning System Integration:
Designing and implementing interfaces between embedded components and application layers, including APIs, services, and communication pathways.
-
Building Data & Video Pipelines:
Developing and optimizing pipelines for data acquisition, image/video processing, and streaming across system components.
-
Leading Hardware/Software Debugging:
Diagnosing complex system issues across hardware, firmware, and application layers, including timing, performance, and integration defects.
-
Contributing to Architecture:
Defining software architecture, module boundaries, and interface contracts to enable scalable and maintainable systems.
-
Collaborating Across Disciplines:
Working closely with FPGA, electrical, imaging, and UI teams to deliver tightly integrated features.
To be successful in this role, you will:
-
Experience:
Have 4+ years of experience in embedded and/or system-level software development.
-
Programming:
Have strong proficiency in C/C++ for embedded systems and C# for application or middleware development.
-
Embedded Architectures:
Have experience with embedded Linux and Windows systems on ARM or Intel CPUs, device drivers, and cross-compilation toolchains.
-
System Integration:
Have experience designing and implementing interfaces between embedded systems and higher-level applications.
-
Hardware Interaction:
Have hands-on experience interfacing with hardware components and debugging across hardware/software boundaries.
-
Data Handling:
Have experience working with real-time or high-throughput data systems (e.g., video, imaging, or sensor pipelines).
-
Development Tools:
Have experience with source control systems (Git) and defect tracking / ALM tools (Azure DevOps, Jira, etc.).
-
Education:
Have Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related STEM discipline.
Preferred
-
Have experience with imaging systems, video pipelines, or computer vision applications
-
Have experience with Windows application development frameworks (WPF or similar)
-
Have knowledge of communication protocols such as PCIe, USB, Ethernet, I2C, SPI, CAN, WiFi, Bluetooth
-
Have experience optimizing performance across embedded and application layers
-
Have familiarity with cybersecurity practices for embedded devices and system hardening
-
Have experience leveraging AI/ML tools to improve development productivity or system capabilities