Software Engineer

BattelleColumbus, OH
Hybrid

About The Position

You will be a core team member in the design and development of medical products and systems. This role contributes to all phases of product design, including initial requirements definition, conceptualization, feasibility assessment/demonstration, detailed design including engineering analysis and testing; verification testing and documentation, and transfer to the client (or manufacturing) and follow-on support as needed. You will work on projects that typically involve teams from multiple disciplines: mechanical, electrical, software, systems, industrial design, and human factors.

Requirements

  • Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field
  • Strong programming skills in C and/or C++ for embedded systems
  • Experience developing software for microcontroller based platforms
  • Familiarity with embedded debugging tools such as JTAG debuggers, oscilloscopes, and logic analyzers
  • Experience working in multidisciplinary engineering teams developing complex systems
  • Strong problem solving skills and ability to work independently on technical tasks
  • Effective written and verbal communication skills for technical documentation and collaboration
  • 3–6 years of professional experience in embedded software or firmware development
  • Experience developing firmware for microcontrollers or other embedded processing platforms
  • Experience using version control systems such as Git in collaborative development environments
  • Experience developing embedded software for sensor based electromechanical systems, including closed loop sensing and control of motors or actuators and implementation of control algorithms (e.g., PID).
  • Experience integrating sensors with embedded systems, including real time data acquisition and signal processing to support feedback or control systems.
  • Familiarity with sensor fusion techniques for systems involving multiple sensing modalities.
  • Familiarity with image processing or perception algorithms, including libraries such as OpenCV.
  • Exposure to machine learning or deep learning frameworks (e.g., TensorFlow or PyTorch) for perception or data driven analysis in embedded or robotics style systems.
  • Experience developing Python tools for data capture, analysis, visualization, or test automation in support of embedded system development.
  • Experience developing or testing battery powered embedded systems, including power management considerations.
  • Familiarity with software lifecycle processes including requirements traceability, design documentation, and formal verification activities
  • Experience with build systems and automated testing environments for embedded software
  • Experience working within regulated or quality managed environments (e.g., medical, aerospace, automotive, or other safety critical industries)

Nice To Haves

  • Experience developing software for medical devices or diagnostic instrumentation
  • Familiarity with IEC 62304 software lifecycle processes for medical device development
  • Understanding of FDA regulatory expectations for software in medical devices and development within ISO 13485 quality systems
  • Experience developing firmware for ARM Cortex M (32 bit) microcontroller architectures, with familiarity with vendors such as STMicroelectronics (e.g., STM32).
  • Experience with real time operating systems (RTOS) or real time embedded design
  • Experience with hardware software integration and board level bring up
  • Experience designing or maintaining CI/CD pipelines for embedded software development and automated testing
  • Familiarity with static analysis tools, code quality tools, and automated test frameworks
  • Experience supporting design verification and validation activities for regulated products

Responsibilities

  • Participate in shaping product design through requirements definition, architectural discussions, and early feasibility development for embedded software solutions
  • Design, develop, and maintain firmware for microcontroller based embedded systems used in medical and commercial devices
  • Implement embedded software using C/C++ and other appropriate technologies for resource constrained systems
  • Collaborate with electrical and systems engineers to integrate firmware with hardware components and subsystems
  • Develop and maintain automated build, test, and deployment processes using CI/CD pipelines appropriate for embedded development
  • Generate and maintain software design documentation, architecture descriptions, and traceability artifacts in accordance with quality and regulatory processes
  • Contribute to verification and validation activities including unit testing, integration testing, and system level testing
  • Apply risk based development approaches and support hazard analysis and software risk control activities
  • Troubleshoot, debug, and resolve software and system integration issues during development and verification phases
  • Work with project management to complete assigned technical tasks within project scope, schedule, and budget
  • Communicate technical results and development progress to project leadership and clients through written and oral presentations

Benefits

  • Compressed work schedule
  • Hybrid work arrangement
  • Paid time off
  • Medical coverage
  • Dental coverage
  • Vision coverage
  • Wellness incentives
  • Optional supplemental benefits
  • Coverage for partners
  • Gender-affirming care and health support
  • Family formation support
  • 401(k) retirement savings plan
  • Tuition assistance
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service