Software Engineer (School of Medicine - Medvitals)

Johns Hopkins University•Baltimore, MD
•$75,135 - $131,510•Remote

About The Position

The Johns Hopkins University School of Medicine is seeking a Software Engineer to support the Medvitals Team. The role is responsible for creating, implementing, maintaining, supporting, and documenting departmental and enterprise-wide application systems. Work may include installing, modifying, and testing applications, operating systems, file structures, hardware, communication devices, and productivity tools. The Software Engineer analyzes business requirements and translates them into functional and technical specifications and designs, produces deliverables from those specifications, and maintains databases and application code. The position manages the full life cycle of medium- to large-sized complex projects. It calls for strong technical skills and the ability to understand complex business processes, develop solutions using extensive technical knowledge and experience, and influence clients toward innovative, integrated solutions. The position also provides design and development guidance to junior staff and mentors them in testing tools and technologies. The role is remote, with a Monday–Friday schedule from 8:30 a.m. to 5:00 p.m. The starting salary range is $75,135–$131,510 annually, commensurate with experience.

Requirements

  • Bachelor's degree or foreign equivalent in computer science, computer information systems, information technology, electronic engineering, or a related field.
  • Five years of related work experience with computer systems and applications.
  • Additional education may substitute for required experience, and additional related experience may substitute for required education beyond a high school diploma or equivalent, subject to the JHU equivalency formula.
  • Intermediate proficiency in Agile Methodology, algorithms, APIs, CI/CD, cloud serverless computing architecture, code review, data architecture and design, data structures, debugging, DevOps, JIRA, new product development, secure coding, service-oriented architecture, software design patterns, software development life cycle, software engineering, and unit testing.

Nice To Haves

  • Knowledge of the assigned application and the platform on which it runs.

Responsibilities

  • Meet with clients to understand complex business, clinical, and education problems, observe current processes, and document findings for clients and IT colleagues.
  • Gather complex system requirements by meeting with clients and researching existing technology and potential solutions.
  • Analyze project scope and milestones and develop detailed tasks and project plans for complex projects.
  • Write functional and technical specifications based on complex system requirements for programmers and business analysts.
  • Develop or change data inputs, files and database structures, data transformations, algorithms, and outputs using appropriate programming languages and tools.
  • Document code and related processes, including code comments and knowledge-base materials, to support maintenance and improve support.
  • Guide and monitor junior staff in application design and development.
  • Provide thought leadership in designing and developing innovative, integrated solutions.
  • Create and document complex test scenarios using appropriate testing tools to validate application functionality.
  • Test changes using complex test scenarios to verify solutions and ensure errors are handled meaningfully.
  • Write and maintain technical and end-user documentation appropriate to its intended audience.
  • Mentor junior staff in testing tools and technologies by reviewing their work.
  • Implement changes according to change-management policies and procedures, communicating the nature, significance, and risks of solutions to relevant parties.
  • Monitor implemented changes, review processing and output, resolve complex problems, and ensure successful transitions that meet customer requirements.
  • Investigate and resolve support issues, including complex issues, to provide prompt and effective service.
  • Create, implement, maintain, support, and document application systems; install, modify, and test applications and related systems and tools.
  • Maintain databases and application system code.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service