embedded software engineer
Role details
Job location
Tech stack
Job description
This role focuses on building foundational real-time control applications that power advanced robotic platforms. You will work exclusively on C-based embedded development, creating low-level software that interfaces directly with Linux-based Industrial PCs (IPCs) and hardware components. This position is ideal for an embedded software engineer who enjoys deterministic, performance-critical programming and wants to see their code directly control high-speed automation systems., * Design, build, and maintain real-time control applications using pure C for embedded systems.
- Own the end-to-end integration of embedded software into Linux-based Industrial PC (IPC) infrastructure.
- Optimize system performance, memory management, and process execution for high-speed robotic applications.
- Collaborate closely with hardware engineers to define system requirements and support new board bring-up activities.
- Validate and integrate sensors and actuators to ensure reliable and precise hardware interaction.
- Lead and perform hardware-in-the-loop (HIL) testing to verify system behavior under realistic operating conditions.
- Apply rigorous operational excellence practices to ensure reliability, maintainability, and scalability of embedded software.
- Navigate ambiguous technical challenges and propose robust, long-term engineering solutions.
- Establish and uphold durable engineering standards, including coding guidelines, testing practices, and documentation.
- Use hardware-level debugging tools such as oscilloscopes and logic analyzers to diagnose and resolve system issues., On-Site AutomationWritingLife SciencesDebuggingSensorsCode ReviewVersion ControlScalabilityContinuous Improvement ProcessReliabilityComputer ScienceMechanical EngineeringLinuxSoftware Development Life CycleComputer EngineeringTest EquipmentManufacturing EngineeringElectrical EngineeringOperational ExcellenceMedical DevicesSystems Development Life CycleControl SystemsEmbedded SoftwareDeterministic MethodsLogic AnalyzerOscilloscopeC++ (Programming Language)Critical Illness InsuranceC (Programming Language)RoboticsMaintainabilityActuatorsSoftware Quality (SQA/SQC)Industrial AutomationVisionaryHardware ArchitectureEmbedded CMemory ManagementBoard Bring-UpAdvanced Robotics
Requirements
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 3-5+ years of hands-on experience in embedded software engineering.
- Expert-level proficiency in C and C++ programming for embedded systems.
- Strong experience with embedded C development and low-level software design.
- Deep understanding of real-time control systems and deterministic software behavior.
- Experience working in Linux environments and with IPC (Industrial PC) architectures.
- Proficiency with the full software development life cycle (SDLC), including version control using Git.
- Experience conducting effective code reviews to maintain code quality and consistency.
- Strong hardware-level debugging skills using oscilloscopes, logic analyzers, and similar tools.
- Ability to write clear technical specifications, design notes, and documentation.
Additional Skills & Qualifications
- Previous experience in robotics, industrial automation, or medical device industries.
- Experience integrating embedded software with complex hardware systems and real-time control loops.
- Experience in sensor and actuator integration within embedded platforms.
- Strong written communication skills for documenting designs, requirements, and test results.
- Ability to collaborate effectively with cross-functional engineering teams, including hardware and systems engineers.
- Comfort working through ambiguous technical problems and defining scalable engineering patterns.
Benefits & conditions
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:
- Medical, dental & vision
- Critical Illness, Accident, and Hospital
- 401(k) Retirement Plan - Pre-tax and Roth post-tax contributions available
- Life Insurance (Voluntary Life & AD&D for the employee and dependents)
- Short and long-term disability
- Health Spending Account (HSA)
- Transportation benefits
- Employee Assistance Program
- Time Off/Leave (PTO, Vacation or Sick Leave) Workplace Type