Research Software Engineer (Data Science and AI Institute)
Johns Hopkins University
The RSSN and DSAI are seeking a Research Software Engineer (RSE) who will devote 50% of their time as Technical Lead for the Research Software Support Network (RSSN) and 50% as an RSE for Data Science and AI Institute (DSAI). The RSE will report to the DSAI Director of Engineering while also having a dotted line reporting relationship to the RSSN Program Manager. The RSSN role is currently funded for two years. At the end of that funding, this position will remain, but time allocations between the two roles may shift.
DSAI is a pan-institutional initiative at Johns Hopkins to advance artificial intelligence and its applications, in part through investments in the software engineering, data science, and machine learning space. DSAI is focused on revolutionizing discovery by advancing artificial intelligence that evolves collaboratively with human intelligence, combining the strengths of each for the betterment of society and the world in which we live. DSAI will bring together the mathematical, computational, and ethical foundations of AI with the domains of Health & Medicine, Scientific Discovery, Engineered Systems, Security & Safety, and People, Policy & Governance.
The RSE will bring a strong academic background and relevant experience in industry focused on designing and building state-of-the-art AI models, data science techniques and applications across diverse domains. The successful candidates will work at the cutting edge of modern science in collaboration with DSAI-affiliated faculty at Johns Hopkins University (JHU) on projects ranging from consulting and short-term service engagements to large, multiyear AI and data science initiatives and applications. DSAI will address the growing demand for high-quality professional software engineers within academia who can build dynamic, scalable, open software to facilitate accelerated scientific discovery across fields.
Governed by a community of campus partners, including DSAI, the RSSN is a new centralized resource hub connecting researchers who develop software with essential support services across JHU. The RSSN will provide pathways to expertise, tools, and best practices, enabling researchers and software engineers of all skill levels to create more robust and sustainable software for scientific research.
Specific Duties and Responsibilities
RSSN
- Provides technical expertise for a new campus-wide initiative connecting researchers who develop software with support services across Johns Hopkins.
- Contributes to the development of a comprehensive research software assessment instrument.
- Conducts technical analyses during project assessments.
- Provides engineering perspectives to help researchers identify project goals and access appropriate support pathways.
- Must have a collaborative, empathetic approach, serving as a partner to researchers rather than an evaluator with an understanding that many people hesitate to ask for help due to concerns about how it may be perceived.
- Works with moderate independence under the supervision of the Program Manager, collaborating closely with the Project Administrator on day-to-day assessment operations.
- Develops and refines the Research Software Assessment Instrument and Assessment Workflow (evaluation criteria, technical analysis frameworks)
- Provides technical analysis of research software projects, covering code quality, architecture, infrastructure needs, sustainability considerations, and alignment with best practices
- Documents and creates training materials for the Assessment process.
- Evaluates the Assessment accuracy and appropriateness of recommended support pathways.
- Contributes to engineering perspectives in RSSN governance and planning discussions.
- Evaluates research software projects created by others and provides guidance on development practices, sustainability planning, and appropriate support pathways aimed at increasing the impact of such projects, though not directly maintaining or developing software systems.
DSAI
- Participates in ground-breaking research projects that need advanced software solutions requiring expertise in software engineering not commonly found in scientific collaborations.
- The projects may require the creation of AI/ML solutions using the latest deep learning libraries trained on state-of-the-art hardware.
- Projects may also involve analysis of massive data sets either in the cloud or on premises.
- They may require creation of novel data science techniques, software pipelines for processing of real-time high-frequency data processing workflows and may need the design of complex database models for storing and disseminating scientific data sets.
- Some projects may require deep engagement, possibly leading to co-authorship on scientific publications, while others may involve a more casual consulting engagement.
- They may require software solutions developed from scratch or refactoring existing solutions to make them conform to industry standards (quality, efficiency, reusability, robustness, portability, documentation, etc.).
- It is a high-level goal of DSAI to translate the efforts for individual projects into frameworks and template patterns for sustainable scientific infrastructure benefiting future projects.
Special knowledge, skills, and abilities required
- Software engineering experience with demonstrated ability to evaluate code quality, architecture, and technical debt.
- Experience developing software using programming languages common in academic research, such as Python (expert-level), R, C/C++, JavaScript/TypeScript, Julia; willingness to learn other languages as may be needed.
- Experience with academic/scientific computing environments.
- Familiarity with modern software engineering best practices, such as Git source control, peer code review, test-driven development, building automation and continuous integration / continuous delivery.
- Experience designing, developing and applying state-of-the-art data science techniques to the analysis of large data sets. Areas of relevant expertise include design and development of statistical and mathematical models of data, data transformation, ETL and information extraction, data modeling of complex scientific datasets, architectures for computing with large datasets, distributed computational pipelines and real-time data streaming architectures.
- Familiarity with software containerization technologies such as Docker and Singularity.
- Fluency in the Linux operating system and related tools.
- Excellent verbal and written communication, including the ability to communicate technical concepts accessibly to non-technical stakeholders.
- Strong analytical skills for assessing project needs and recommending appropriate support pathways.
- Demonstrated leadership and self-direction.
- Willingness to teach and mentor others both informally and in short course format.
- Willingness to continually learn new tools and techniques as needed.
Minimum Qualifications
- Master's in Computer Science, Engineering, a Quantitative Discipline, or a Domain Science with strong computational components.
- Three or more years of software development experience in large or complex projects.
- Additional education may substitute for required experience and additional related experience may substitute for required education beyond a high school diploma/graduation equivalent, to the extent permitted by the JHU equivalency formula.
Preferred Qualifications
- PhD in computer science, engineering, a quantitative discipline, or a domain science with strong computational components.
- Experience with AI/ML, vision, NLP, bioinformatics and/or mathematical or computational libraries.
- Experience developing, training, fine-tuning and applying LLMs and/or foundational models.
- Experience deploying AI models onto clinical platforms.
- Experience with large scale scientific simulations or simulations of air/terrestrial/sea vehicles.
- Familiarity with data formats common in scientific domains such as medical imaging, genomic sequences, proteins, chemical structures, geospatial, oceanographic, or heath record data.
- Experience in CUDA GPU programming.
- Experience authoring open-source Python packages in PyPI.
- Familiarity with RESTful web service principles and development.
- Familiarity with SQL and relational database principles and development.
- Familiarity with cloud development and deployment.
- Experience working in an academic research environment or with academic researchers.
- Understanding of research software sustainability considerations (governance, community engagement, long-term maintenance planning).
- Familiarity with FAIR principles for research software (findable, accessible, interoperable, reusable).
- Experience working with open-source software communities, including governance and community adoption initiatives.
- Experience mentoring or advising others on software development practices.
Classified Title: Scientific Software Engineer
Job Posting Title (Working Title): Research Software Engineer (Data Science and AI Institute)
Role/Level/Range: APPTSTAF/01/ST
Starting Salary Range: Commensurate w/exp.
Employee group: Full Time
Schedule: M-F, 37.5 hrs wkly
FLSA Status: Exempt
Location: Hybrid/Mount Washington Campus
Department name: DSAI Institute
Personnel area: Whiting School of Engineering