Research Software Engineer
Requisition # 2018-9378
Department Research Computing
Category Information Technology
Full-Time / Part-Time Full-Time
Do you have a background in computational science/engineering research and love to write code? Do you want to help enable and advance groundbreaking computational social science research? 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 multiple research teams focused on cutting-edge social science research. You will join teams of researchers associated with the Department of Politics and the Department of Sociology to develop efficient and scalable research code by providing computational expertise in algorithm development, selection, and optimization.
If you have a strong background in scientific programming or high performance computing, academic research, and an interest in contributing to computational social science you have the right skill set to make an immediate impact on multiple high-profile research projects. You will be poised to grow and expand your programming skills and expertise into a dynamic new set of research problems.
This position will require you to work closely with colleagues in the Office of Information Technology (OIT) as well as with faculty, student/postdoctoral researchers, and technical staff in the Politics and Sociology departments to enable and accelerate their research computing efforts.
- Provide technical expertise and guidance for improving the performance and quality of new and existing code bases.
- Lead and co-lead the design and construction of increasingly complex research software systems.
- Parallelize, debug, port, and tune existing research code.
- 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 high-performance computing hardware.
- Co-author publications.
- Strong programming skills, particularly in the languages used in social science high-performance computing applications (e.g. C/C++, Python, R)
- Demonstrated successes contributing to a collaborative research team
- Ability to work independently
- Ability to learn new systems beyond area of core knowledge
- Ability to communicate effectively with a diverse user base having varied levels of technical proficiencies
- Experience working in an academic research environment
- Experience tuning and optimizing research software and algorithms.
- Parallel programming expertise.
- Experience developing research software outside of core domain knowledge.
Bachelor's degree. A graduate degree or equivalent experience in a research setting is 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
Standard Weekly Hours
Eligible for Overtime
Essential Services Personnel (see policy for detail)
Physical Capacity Exam Required
Valid Driver's License Required
Connect With Us! Join our Talent Network to receive updates about working at Princeton.
Princeton University job offers are contingent upon the candidate's successful completion of a background check, reference checks, and pre-employment screening, as applicable. The type and extent of background check, reference checks, and pre-employment screening may vary depending on the requirements and/or functions of the job and the candidate's current employment status with Princeton University.
Go to our careers site.