Job ID: 2022-14146 Type: Full-Time # of Openings: 1 Category: Information Technology
Do you want to help enable and advance groundbreaking Biological Engineering research through software development? Do you have a background in research and love to write code? Are you looking to apply your scientific programming expertise to a novel set of biology-based research problems? If so, Princeton University's Research Computing department is recruiting a Research Software Engineer to join the fast-growing Research Software Engineering (RSE) Group.
In the RSE Group, we collectively provide computational research expertise to multiple divisions within the University. As a central team of software experts, we are focused on improving the quality, performance, and sustainability of Princeton’s computational research software. Our group is committed to building collaborative environments in which the best software engineering practices are valued, and to sharing and applying cross-disciplinary computational techniques in new and emerging areas.
In this position, you will be an integral member of the Brangwynne lab (https://softlivingmatter.princeton.edu/), a multi-disciplinary research team focused on cutting-edge cell bioengineering research, combining approaches from cell biology, biophysics, and genomics. You will interact closely with researchers associated with Princeton’s Bioengineering Initiative (https://bioengineering.princeton.edu/), and collaborate with researchers in programs across campus, to provide computational expertise in algorithm development and software design in order to create high-quality and sustainable research code.
If you have a strong background in scientific programming, academic research, and an interest in cellular bioengineering and genomics you have the right skill set to make an immediate impact on multiple high- profile research projects.
You’ll have the opportunity to regularly work closely with colleagues in the Brangwynne lab, the Office of Information Technology (OIT), as well as with faculty, student/postdoctoral researchers, and technical staff in Princeton’s Bioengineering Initiative to enable and accelerate research software development.
Lead and co-lead the design and construction of increasingly complex research software systems. In particular, develop tools to assist researchers with algorithms for analyzing high-throughput quantitative DNA and RNA sequence analysis, as well as support and development approaches for handling and performing quantitative analysis on large confocal microscopic imaging datasets.
Provide technical expertise and guidance for improving the performance, quality, and reproducibility of existing computational code bases and workflows.
Understand and address software engineering questions that arise in research planning.
Maintain knowledge of current and future software development tools and techniques, programming languages, and computing hardware.
Transfer knowledge, expertise, and methodologies by providing technical assistance and mentorship to graduate students and postdoctoral researchers.
Strong programming skills, particularly in languages used in Bioinformatics and Computational Biology applications (e.g. Python and one or more of the following: C, C++, R, MATLAB, Java).
Consistently using conventional and readable coding style.
Creating comprehensive and well-written documentation.
Developing and maintaining reproducible build systems.
Using version control systems.
Demonstrated successes working in a collaborative software development environment as well as independently.
Ability to learn new programming languages and technologies beyond area of core knowledge.
Ability to communicate effectively with a diverse user base having varied levels of technical proficiencies.
Experience with MATLAB and R for statistical and image processing.
Bioinformatics software development experience.
Experience using packages common in bioinformatics applications and workflows (e.g. Snakemake, Samtools, Trim Galore, FastQC, etc)
Experience using High Performance Computing (HPC) clusters and developing software for HPC platforms
High-throughput image analysis experience.
Academic research experience.
Background in molecular biology, bioengineering, biophysics, bioinformatics, or a related field.
A bachelor's degree in computer science, engineering, computational biology, or related computational field required. A Masters/Ph.D. in computer science, applied science, or other related field with a strong computational focus is strongly preferred.
Princeton University is an Equal Opportunity/Affirmative Action Employer and all qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, sexual orientation, gender identity or expression, national origin, disability status, protected veteran status, or any other characteristic protected by law. EEO IS THE LAW
Princeton University is a vibrant community of scholarship and learning that stands in the nation's service and in the service of all nations. Chartered in 1746, Princeton is the fourth-oldest college in the United States. Princeton is an independent, coeducational, nondenominational institution that provides undergraduate and graduate instruction in the humanities, social sciences, natural sciences and engineering.As a world-renowned research university, Princeton seeks to achieve the highest levels of distinction in the discovery and transmission of knowledge and understanding. At the same time, Princeton is distinctive among research universities in its commitment to undergraduate teaching.Today, more than 1,100 faculty members instruct approximately 5,200 undergraduate students and 2,600 graduate students. The University's generous financial aid program ensures that talented students from all economic backgrounds can afford a Princeton education.