Senior Software Engineer

MSD Careers•Gaithersburg, MD

About The Position

The Senior Software Engineer designs, develops, enhances, integrates, tests, and provides life cycle support for major components of current and future MSD software products. The role creates straightforward technical solutions to complex problems using appropriate abstractions and modularity to support long-term code lifespan. Development may be client-side, web, or server-side, as needed. The engineer works with a team lead on UI, architectural, database, and instrument-control design for company software products. The role may also lead development sprints for one or more software modules and develop and implement standard operating procedures as needed. Specific duties may vary based on departmental requirements.

Requirements

  • Bachelor’s degree in Computer Science or a related field; additional years of experience may be substituted for a degree.
  • A minimum of three years of experience in a software engineering environment is desired.
  • Strong knowledge of software development life cycle processes and practices.
  • Strong experience with Java, relational databases, and web technologies.
  • Strong logical problem-solving abilities and demonstrated ability to understand large codebases, identify areas for improvement, and extend systems as needed.
  • Ability to decompose complex problems into simplified steps using appropriate abstractions and modularity for long-term code lifespan.
  • Strong knowledge of Agile sprint and Scrum processes and supporting tools.
  • Ability to organize self and others, move project tasks forward in a structured fashion, adapt priorities, and meet time-sensitive deadlines and deliverables.
  • Strong organizational, planning, and time-management skills; ability to work and learn independently and to take and give direction in a senior team role.
  • Excellent oral and written communication and interpersonal skills, including effectiveness within the team and with all levels of the company.

Nice To Haves

  • Experience leading development sprints in an Agile process.
  • Experience with JavaFX, SQL, JavaScript, frameworks such as React or Angular, HTML, and CSS.
  • Knowledge of build tools, automated build systems, and installation software such as Jenkins, TeamCity, or CodeBuild.
  • Experience with development and operations in a cloud environment such as AWS, Azure, or GCP.

Responsibilities

  • Design, develop, and test software for external-facing products, including client-side, web, or server-side development as needed.
  • Work with the team lead to design UI, architecture, databases, and instrument controls for software products.
  • Model behaviors, object hierarchies, and database structures.
  • Conduct unit testing, verification, and debugging; troubleshoot issues and communicate appropriate solutions.
  • Present and participate in peer reviews of code and designs as required.
  • Extend existing systems to add new capabilities.
  • Develop and implement standard operating procedures as needed.
  • Lead sprints for development of one or more software modules as needed.

Benefits

  • Medical, dental, and vision coverage, along with prescription benefits.
  • 401(k) plan with company matching.
  • Flexible spending accounts.
  • Company-paid short- and long-term disability insurance.
  • Group life and accidental death and dismemberment insurance.
  • Paid vacation, paid sick leave, and paid holidays.
  • Paid parental leave.
  • Employee assistance program.
  • Fitness club membership contribution.
  • Pet insurance.
  • Identity theft protection.
  • Home and auto insurance discounts.
  • Optional supplemental life insurance.
  • Employees may qualify for a discretionary or non-discretionary bonus.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service