Software Engineer

Battelle Memorial Institute
Columbus, United States of America
29 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Columbus, United States of America

Tech stack

Systems Engineering
ARM
Automation of Tests
Unit Testing
C++
Static Program Analysis
Software Quality
Computer Programming
Computer Engineering
Software Debugging
Embedded Software
Firmware
Formal Verification
Joint Test Action (IEEE Standards)
Python
Machine Learning
OpenCV
Real-Time Operating Systems
TensorFlow
Data Driven Tests
Requirements Traceability
Sensor Fusion
Signal Processing
Software Engineering
Software Requirements Analysis
Verification and Validation (Software)
Subsystems
Systems Integration
PIC Microcontroller
PyTorch
Deep Learning
GIT
System-level Testing
SC Clearance
Integration Tests
Information Technology
Real Time Data
Build Tools
Hardware Infrastructure
Software Version Control

Job description

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., * 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

Requirements

Do you have experience in Version control systems?, * 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
  • Travel Requirements: Limited travel up to 10% annually
  • Citizenship: U.S. Citizen or Existing Work Authorization
  • Security clearances: None

Required Experience

Core Embedded Platform

  • 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

Controls / Sensors

  • 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.

Engineering Process / Environment

  • 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), * 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

Benefits & conditions

Pulled from the full job description

  • Tuition reimbursement
  • Health insurance
  • Paid time off
  • Vision insurance
  • Dental insurance
  • Wellness program
  • Opportunities for advancement, * Balance life through a compressed work schedule: Most of our team follows a flexible, compressed work schedule that allows for every other Friday off-giving you a dedicated day to accomplish things in your personal life without using vacation time.
  • Enjoy enhanced work flexibility, including a hybrid arrangement: You have options for where and when you work. Our Together with Flexibility model allows you to work 60% in-office and 40% remote, with Monday and Tuesday as common in-office days, dependent on team and position needs.
  • Take time to recharge: You get paid time off to support work-life balance and keep motivated.
  • Prioritize wellness: Stay healthy with medical, dental, and vision coverage with wellness incentives and benefits plus a variety of optional supplemental benefits.
  • Better together: Coverage for partners, gender-affirming care and health support, and family formation support.
  • Build your financial future: Build financial stability with an industry-leading 401(k) retirement savings plan. For most employees, we put in 5 percent whether you contribute or not, and match your contributions on top of that.
  • Advance your education: Tuition assistance is available to pursue higher education.

A Work Environment Where You Succeed For brilliant minds in science, technology, engineering and business operations, Battelle is the place to do the greatest good by solving humanity's most pressing challenges and creating a safer, healthier and more secure world.

You will have the opportunity to thrive in a culture that inspires you to:

  • Apply your talent to challenging and meaningful projects
  • Receive select funding to pursue ideas in scientific and technological discovery
  • Partner with world-class experts in a collaborative environment
  • Nurture and develop the next generation of scientific leaders
  • Give back to and improve our communities

About the company

Battelle delivers when others can't. We conduct research and development, manage national laboratories, design and manufacture products and deliver critical services for our clients-whether they are a multi-national corporation, a small start-up or a government agency.

Apply for this position