Embedded Software Engineer

Agilite
Pittsburgh, PA, US
Full-time

Job Description

Job Description

Salary : JOB DESCRIPTION

JOB DESCRIPTION

Our client is the world leader in pharmacy robotics, and our robotic IV automation system empowers pharmacists and technicians with tools to improve dose accuracy and make IV pharmacy compounding safer while reducing costs and enabling compliance.

As a Staff Embedded Software Engineer you will play a lead role in the full software development life cycle including establishing requirements, architectures, and software implementation for our autonomous pharmaceutical robotic system.

The candidate will work closely with other design disciplines to provide fault tolerant software solutions which create and enhance new features and improve overall functionality as well as reliability of the system.

The ideal candidate should possess a strong background in embedded software system design, C++ expertise, Software unit and automated testing methodologies, general robotics, and possess the ability to thoroughly analyze existing systems, and adapt existing architectures to ensure the achievement of customer objectives.

The Staff Embedded Software Engineer, is responsible for the development, maintenance, and support of our device software development and product environment on both Linux and Windows environment.

This position works within and across multiple multi-disciplinary teams to create and advance our client's line of robotics and automation devices.

Responsibilities

  • Design and develop software utilizing C and C++ on embedded Linux environments following company and industry requirements and best practices.
  • Responsible for the analysis, design, programming, optimizing, debugging and modification of software programs and firmware for hardware devices.
  • Writes code, completes programming, and performs testing and debugging of applications using current programming language and technologies controlling hardware for hospital automation.
  • Perform software verification including code reviews, writing unit test cases, creating, and implementing automated testing, and running static analysis.
  • Leads and solves complex software issues by analyzing critical factors and recommending corrective or alternative actions or resolutions.
  • Proactively maintain accurate documentation of concepts, designs, and implementations and a means to facilitate design reviews, and knowledge sharing among the team and stakeholders.
  • Ability to work independently to understand system interactions, and perform advanced risk analysis using FMEAs, fault trees, and other root cause analysis methodologies to drive resolution of open issues.
  • Interfaces with other engineers to define software design and state machine requirements.
  • Works on problems of diverse scope where analysis of data requires evaluation of identifiable factors.
  • Supports, updates and creates new SW architectures to further feature development and existing system functionality.

Required Knowledge and Skills

  • Strong software development knowledge and experience developing software applications for hardware systems such as Wi-Fi, Bluetooth, printers, cameras, and motor controls and general robotic systems.
  • Experience using C++ in a Linux environment
  • Strong analytical and problem-solving skills
  • Drives design of complex features and new products. Contributes to technology strategy.
  • Owns direction, technical vision, and strategy direction across multiple projects.
  • Often serves as a consultant to management and external spokesperson for the SW organization. Grows and mentors staff.
  • Good interpersonal communication skills, working within an Agile Development framework.
  • Ability to work independently with high competency and little guidance.

Basic Qualifications

  • BS degree or higher in Computer Science, Software Engineering, Computer Engineering or related field.
  • 15+ years of experience as software developer and integration experience with Hardware and Software.
  • Experience with embedded software design and programming in C / C++ for development, debugging, testing and performance analysis
  • Knowledge of Linux system to develop hardware control drivers for device development
  • Experience leading complex features or projects across multiple teams

Preferred Qualifications

  • Knowledge and / or experience with state machine and stateless system would be a plus
  • Master degree or PhD in in Computer Science, Software Engineering, Computer Engineering, Robotics or related field
  • Experience in the medical device industry or other industries operating under a quality management system. Knowledge of ISO 13485, ISO 14971, ISO 62304 and CFR 820 a plus.
  • Experience in the design of software driven electromechanical Class II medical devices.
  • Experience in Embedded Linux software development including BSP and drivers
  • Experience with NVIDIA Jetson platform

Work Conditions

  • Hybrid environment
  • Ability to travel 10-15% of the time.

Location :

Western Pennsylvania, Pittsburgh Area.

remote work

30+ days ago
Related jobs
Promoted
Lynx Software Technologies
Pittsburgh, Pennsylvania

We are looking for a Senior Software Engineers developer who are passionate about developing and optimizing Linux/Android based platforms. Ability to troubleshoot low level software issues and distinguish between hardware and software issues. Integrate various software into build systems. Design, de...

Promoted
Agilite
Pittsburgh, Pennsylvania

As a Staff Embedded Software Engineer you will play a lead role in the full software development life cycle including establishing requirements, architectures, and software implementation for our autonomous pharmaceutical robotic system. The  Staff Embedded Software Engineer, is responsible for...

Promoted
Canonical - Jobs
Pittsburgh, Pennsylvania

We hire outstanding Linux and RTOS software engineers with a passion for open source, innovation, cutting-edge hardware and software technologies in general. Apply here for all engineering teams at Canonical who work on low-level system technology and embedded systems, across all seniority levels. C...

Promoted
Omnicell
Pittsburgh, Pennsylvania

Staff Engineer, Software and Embedded Robotic Systems Design-Remote. We seek a technology visionary who has a demonstrated track record of collaborating effectively with both hardware and software engineering teams. Document the architecture in system engineering tools to provide traceability with o...

Promoted
Lynx Software Technologies
Pittsburgh, Pennsylvania

We are looking for a Senior Software Engineers developer who are passionate about developing and optimizing Linux/Android based platforms. Ability to troubleshoot low level software issues and distinguish between hardware and software issues. Integrate various software into build systems . Design, d...

Evertz Microsystems Limited
Pittsburgh, Pennsylvania

Software Engineers whose primary duties will include designing and testing the latest broadcast and signal processing equipment incorporating the most advanced technology. Additional Duties: Responsible for the design of embedded software to be used in the company’s products. Cr...

Carnegie Mellon University
Pittsburgh, Pennsylvania

Design embedded software tools and capabilities, including software exception handlers, inter-process communication mechanisms, and software fault monitors. You’ve worked in a collaborative team environment as a software developer, software engineer, or verification engineer. The SEI helps advance s...

Omnicell, Inc
Pittsburgh, Pennsylvania

As an Omnicell Staff Embedded Software Engineer you will play a lead role in the full software development life cycle including establishing requirements, architectures, and software implementation for our autonomous pharmaceutical robotic system. The Staff Embedded Software Engineer, is responsible...

Lynx Software Technologies
Pittsburgh, Pennsylvania

We are looking for a Senior Software Engineers developer who are passionate about developing and optimizing Linux/Android based platforms. Ability to troubleshoot low level software issues and distinguish between hardware and software issues. Integrate various software into build systems . Desi...

Omnicell, Inc
Warrendale, Pennsylvania

The Senior Embedded Software Engineer is responsible for developing, maintaining, and supporting our device software development and product environment. Experience as a DevOps engineer or in a similar software engineering role. Collaborate with software quality engineers during all phases of testin...