Research Software Engineer
Princeton University
Do you have a background in computational research and love to write code? Do you want to help enable and advance truly pioneering computational social science research? If so, the Initiative for Data-Driven Social Science (DDSS) at Princeton University is recruiting a Research Software Engineer (RSE) to join our growing team.
The DDSS is a new initiative that supports research at the technical forefront of quantitative inquiry in the social sciences. Because DDSS funds projects that span the social science disciplines, this position will require forward thinking and versatility in computational research expertise. Project requirements can vary from advanced applications of machine learning, the development of scalable and efficient research code, the creation of tailored software or APIs, the construction of queryable databases within a secure environment, and the versatile usage of algorithms to meet additional computational needs. Candidates must demonstrate the ability to help build a repository of advanced programming techniques that supports groundbreaking research at Princeton University.
Professional development opportunities include biweekly meetings with the Research Software Engineering (RSE) Group within Princeton University’s Research Computing (RCS) department. The RSE 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.
If you have a strong background in scientific programming or high performance computing, academic research, along with a penchant for forward thinking and expanding the boundaries of 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 and data analytics expertise through an evolving set of research problems.
The Research Software Engineer will be an integral team member, reporting to the DDSS Executive Director and working closely with the Senior Research Specialist. They will provide technical support for a variety of computational social science research projects for faculty, student/postdoctoral researchers, and technical staff to enable and accelerate their research computing efforts.
Responsibilities
- Efficiently translate research objectives into software solutions that contribute to ongoing research project(s)
- Develop an understanding of complex computational research questions at a level sufficient to converse with Princeton’s world-class researchers.
- Enable long-term maintainability of solutions by documenting projects in a descriptive and detailed manner
- Apply modern software development best practices (e.g., version control, continuous integration and continuous delivery)
- Provide technical expertise and guidance for improving the performance and quality of new and existing code bases
- Regularly meet with, listen to, and ask questions of researchers to ensure that engineered solutions fit research needs
- Parallelize, debug, port, and tune existing research code to meet criteria determined research objectives
- Develop software tools that allow researchers to analyze large, complex data sets
Qualifications
- 5+ years of strong Python or R programming skills in a work environment or academic/research setting
- Knowledge of a high-performance language (e.g., C++, C, Julia)
- Experience working with large, complex data sets
- Basic working knowledge of version control (i.e., Git)
- Ability to create professional software with clear documentation
- Ability to learn new programming languages and frameworks
- Ability to translate research needs into technical requirements
- Ability to communicate clearly with technical and non-technical colleagues
- Ability to work independently
-
A graduate degree in computational social science, computer science, mathematics, engineering or related field.
Preferred Qualifications
- Experience with distributed computing frameworks (e.g., Spark, Dask)
- Experience with high-performance computing (HPC) or public clusters (e.g., AWS)
- Experience developing open-source research software
- Experience with machine learning frameworks (e.g., TensorFlow, PyTorch)
- Proficiency in database language and tools (e.g., Postgres, MongoDB)
- Experience writing shell scripts for process automation
- Background in quantitative social science
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
36.25
No
Yes
180 days
No
No
No
Mid-Senior Level
#LI-JJ1
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. Princeton University requires all employees to be vaccinated against COVID-19 and submit proof of vaccination status. Employees who cannot receive the vaccine because of a disability/medical contraindication or sincerely-held religious belief may request an accommodation (e.g., an exemption) to this requirement.
If you have questions or comments regarding the iCIMS Privacy Policy or iCIMS FAQs , please contact [email protected] .
Go to our careers site.
View or Apply
To help us track our recruitment effort, please indicate in your cover/motivation letter where (jobs-near-me.eu) you saw this job posting.</strong