Job Description
The Whiting School of Engineering seeks candidates for the position of CCB Software Developer, with a background in scientific software development to be a member of the Center for Computational Biology (CCB) research teams. The ideal candidate should have the talent and creativity to find innovative solutions to the genomic data science challenges that CCB projects entail, as well as the rigor and experience to develop high-quality application software to address these challenges.Specific Duties & Responsibilities
The selected candidate will be a junior member of a team involved in the design, development, testing, and deployment of scientific software applications to be developed in the JEFworks Lab in the Center for Computational Biology (CCB).
They will work on spatial omics data analysis projects, which may include,
o Characterizing spatial molecular heterogeneity.
o Characterizing cellular organization and relationships in tissues.
o Characterizing cellular interactions.
o Image and or sequencing data processing.
o Benchmarking and comparing analytical tools.
Develop/change data input, files/database structures, data transformation, algorithms, and data output by using appropriate computer language/tools to provide technical solution for application development tasks.
Document code and associated processes by adhering to development methodologies, adding code comments and appropriate documentation to various knowledge-base system(s) to simplify code maintenance and to improve the support.
Create and document test scenarios using the appropriate testing tools to validate and verify application functionality.
Test all changes by using the appropriate test scenarios to ensure all delivered solutions work as expected and errors are handling in a meaningful way.
Author and maintain documentation by writing audience-appropriate materials to serve as technical and/or end-user references.
Implement changes by adhering to the change management policies and procedures for any given project to communicate to all parties the nature, significance, and risk factors of the solution.
Monitor changes and resolve problems by responding to problems as they occur, by reviewing all processing and output of the newly implemented solution, and by proactively ensuring the solution works successfully in order to satisfy the customer requirements and to provide a smooth transition to the new solution.
Provide support by triaging and resolving issues to ensure prompt, effective service.
Special Knowledge, Skills, & Abilities
Web application development in Linux, Windows, and/or Mac OS.
Expertise in the use of command-line tools in Unix.
Proficiency in a scripting language such as Python, Perl, or R.
Proficiency in at least one major programming language such as C++, Java, or C.
Experience in developing scientific applications with Python.
Experience with scientific data.
Knowledge of formal software development environments.
Knowledge of formal software version control systems such as github.
Minimum Qualifications
Bachelor's Degree.
One-year related experience.
Additional related experience may substitute for required education, to the extent permitted by the JHU equivalency formula.
*JHU Equivalency Formula: 30 undergraduate degree credits (semester hours) or 18 graduate degree credits may substitute for one year of experience. Additional related experience may substitute for required education on the same basis. For jobs where equivalency is permitted, up to two years of non-related college course work may be applied towards the total minimum education/experience required for the respective job.
Preferred Qualifications
Bachelor's Degree in Computer Science, Biomedical Engineering, or a closely related field.
One to three years of related experience in software development.
One to three years of experience in software development with scientific applications.