Skip to main content

This job has expired

Research Software Engineer (Social Science)

Employer
Princeton University
Location
New Jersey, United States
Salary
Salary Not specified
Date posted
Jan 31, 2023

View more

Position Type
Faculty Positions, Science, Technology & Mathematics, Engineering
Employment Level
Post-Doc
Employment Type
Full Time

Research Software Engineer (Social Science)

US-NJ-Princeton

Job ID: 2022-15625
Type: Full-Time
# of Openings: 1
Category: Engineering

Princeton University

Overview

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

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

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

PI202604083

Get job alerts

Create a job alert and receive personalized job recommendations straight to your inbox.

Create alert