Research Software Engineer
- Employer
- Princeton University
- Location
- Nassau Hall
View more
- Administrative Jobs
- Academic Affairs, Research Staff & Technicians, Technology, Analysts & Programming
- Institution Type
- Four-Year Institution
Job Details
The Research Software Engineer will be an integral member of the Murthy research lab in the Princeton Neuroscience Institute at Princeton University. The lab is focused on cutting-edge computational neuroscience research, studying how the brain processes sensory information, mediates decision-making and learning, and drives behaviors. The Research Software Engineer will collaborate with researchers and provide computational expertise in algorithm development and selection, code development, and optimization to create efficient and scalable research code.
The Research Software Engineer will work remotely but interact directly (via video conferencing) with faculty, student/postdoctoral researchers, and technical staff. They will also interact with other research software engineers that provide support for applications within the Princeton Neuroscience Institute (PNI) as well as the University as a whole.
The ideal candidate will have a strong background in scientific programming and familiarity with academic research. They will be able to translate academic research code into production quality, stable and documented code.
Examples of code bases that the candidate would be working with are available at: https://github.com/murthylab.
This is a 1 year term position with the possibility of renewal contingent upon satisfactory performance and continued funding.
Responsibilities- Lead and co-lead the design and construction of research software systems for data processing and analysis.
- 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, including deep learning.
- Provide technical expertise and guidance for improving the performance and quality of neuroscience codebases.
- Develop graphical interfaces and/or APIs to interact with algorithms and data processing pipelines to facilitate internal usage and external deployment.
- Parallelize, debug, port, and optimize performance of existing research computing codes.
Qualifications
Essential Qualifications
- Bachelor’s degree in computer science, neuroscience or a related field with strong computational emphasis. A masters or Ph.D. in a related field is preferred.
- Strong programming skills, particularly in the languages used in scientific computing applications: Python, MATLAB, and C/C++.
- Experience with modern software development practices: version control, unit testing, continuous integration, packaging/distribution across OS and environments.
- Programming experience in one or more of the following: machine learning, signal processing, and/or computer vision.
Preferred Qualifications
- Experience with modern deep learning frameworks such as TensorFlow 2 (preferred) or PyTorch.
- Parallel programming experience on workstations (concurrent C++, ZMQ, Python multiprocessing) and computational clusters (OpenMP, SLURM).
This position is subject to the University's background check policy.
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.
Salary GradeAIT, 020Standard Weekly Hours36.25Eligible for OvertimeNoBenefits EligibleYesEssential Services Personnel (see policy for detail)NoPhysical Capacity Exam RequiredNoValid Driver's License RequiredNo
Organization
Princeton University is a vibrant community of scholarship and learning that stands in the nation's service and the service of humanity. 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.
Opportunity and Impact
At Princeton, every member of our community plays an important role in our mission of teaching and research. That mission provides every faculty and staff member with the opportunity to make an impact bigger than oneself. Learn about working at Princeton and meet some of our wonderful employees.
Services and Resources
When you make a commitment to our teaching and research mission, you will have access to the University’s world-renowned resources to help you succeed at work and in life. Discover the exceptional benefits and unique opportunities we offer as part of our commitment to you.
Work-Life Integration
Life is complicated. At Princeton, we recognize that and are sensitive and responsive to the challenges our employees face. The University offers a broad array of benefits and services that help our staff in a variety of ways.
Explore Our Job Openings
Whether you’re already part of our community or just getting to know us for the first time, we invite you to imagine the meaningful difference you can make while working at Princeton. For faculty member and academic professional opportunities, visit the Dean of the Faculty website. For staff member job openings and to join our Talent Network, visit our Careers website.
Connect With Us
LinkedIn
Instagram
Facebook
Snapchat
YouTube
Get job alerts
Create a job alert and receive personalized job recommendations straight to your inbox.
Create alert