Lead Software Development Engineer

HologicMarlborough, MA
Onsite

About The Position

We are seeking a full-time Sr. Software Development Engineer to join our innovative team! We are looking for a passionate and experienced engineer who will design, develop, and maintain high-quality embedded software applications using C and C++, and who can also develop the algorithms behind them, including signal processing, real-time control, and sensor fusion and tracking. This candidate will take algorithms from concept through prototyping, implementation, and verification on embedded targets, and will collaborate with cross-functional teams to ensure the software meets user needs. They will provide technical support, lead project modules to completion, and explore new technologies to enhance software quality and performance. Mentoring junior engineers and continuous improvement are key, and you will work with internal teams to drive innovation and achieve project goals.

Requirements

  • Bachelor’s degree in computer science, Engineering or related field or equivalent work experience.
  • 8+ years of proven experience in software development using C & C++ programming languages.
  • Hands-on experience developing and implementing algorithms in at least one of the following areas: digital signal processing (filtering, spectral analysis, estimation), closed-loop control (PID and related techniques), or sensor fusion and tracking (Kalman and complementary filters, IMU integration, calibration and drift compensation).
  • Proficiency in MATLAB, Python (NumPy/SciPy), or similar tools for algorithm prototyping, data analysis, and simulation.
  • Experience implementing numerical algorithms on embedded processors in fixed-point or floating-point, including performance profiling and optimization.
  • Experience with Real Time operating system.
  • Proficiency in object-oriented programming, data structures, algorithms and design patterns and their applications in software development.
  • Familiarity with software development tools such as Git, Visual Studio, Eclipse, etc. and their usage in software development lifecycle.
  • Experience with tools like googleTest/Parasoft/JUnit for unit testing and code coverage.

Nice To Haves

  • Experience with continuous integration/continuous delivery (CI/CD) tools such as Azure DevOps Services or similar tools.
  • Experience with debugging tools such as JTAG, oscilloscope, etc.
  • Familiarity with medical device software development or related domain and compliance with medical device standards such as IEC 62304, ISO 13485, etc. or similar standards
  • Experience with RF or ultrasound signal chains, ADC/DAC interfaces, and sensor data acquisition.
  • Familiarity with state estimation and tracking for handheld or surgical devices (IMU-based orientation, positional sensing, calibration and drift compensation).
  • Master’s degree in Computer Engineering, Electrical Engineering, or a related field with a focus in signal processing, controls, or robotics.

Responsibilities

  • Design, develop, test and maintain high-quality Embedded software applications using C and C++ programming languages.
  • Design, develop, and validate algorithms for signal processing, real-time control (e.g., closed-loop energy delivery, motor and thermal control), and sensor fusion and tracking.
  • Prototype and evaluate algorithms in MATLAB or Python, characterize performance against bench and clinical data, and implement them as efficient, production-quality C/C++ on resource-constrained targets.
  • Define algorithm requirements, performance metrics, and acceptance criteria, and document design rationale, verification results, and known limitations in accordance with design controls.
  • Work closely with the cross-functional team consisting of Systems, Electrical, Marketing, Manufacturing, Design Assurance, Service team etc. on system behavior, sensor and control requirements, and graphical user interface (GUI) design, and ensure that they meet the user needs and expectations.
  • Work effectively in an agile environment with other software developers, testers, engineers, and project managers and deliver software solutions in a timely manner.
  • Adhere to the best practices for software development, testing, documentation, and code review and ensure that the software meets the quality standards and requirements.
  • Support and provide constructive feedback on the architecture and design of the project and suggest improvements and enhancements.
  • Identify and resolve software issues and bugs and provide technical support to the users.
  • Explore and assess new technologies and tools that can improve software quality and performance and integrate them into the software development process.
  • Communicate clearly and effectively with internal and external stakeholders such as users, clients, vendors, etc. and provide regular updates on the project status and progress.
  • Demonstrate flexibility to work on multiple projects simultaneously and prioritize tasks accordingly.
  • Ability to lead and drive software modules and algorithm components to completion and ensure that they meet the project objectives and goals.
  • Write clear and concise software requirements based on systems requirements and specifications.
  • Work autonomously and in a team environment and collaborate with other team members.
  • Support custom tool design and implementation (e.g., data capture, analysis, and simulation tools) if required by the project.
  • Mentor Junior Engineers on the team.

Benefits

  • competitive salary
  • annual bonus scheme
  • comprehensive training
  • continued development and training
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service