Princeton University

Research Software Engineer

Princeton University

Oct 1st, 2022
Princeton University is a vibrant community of scholarship and learning that stands in the nation's service and the service of humanity. 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 arts and 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.
Princeton, NJ 08544
http://princeton.edu
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

Standard Weekly Hours: 36.25 Eligible for Overtime: No Benefits Eligible: Yes Probationary Period: 180 days Essential Services Personnel (see policy for detail): No Physical Capacity Exam Required: No Valid Driverâs License Required: No Experience Level: Mid-Senior Level : #LI-JJ1

More jobs from Princeton University:

If you require alternative methods of application or screening, you must approach Princeton University directly to request this, as we're not responsible for the employer's application process.

RedHired TIP

For your privacy and protection, when applying to a job online, never give your social security number to a prospective employer, provide credit card or bank account information, or perform any sort of monetary transaction.

By applying to a job using RedHired you are agreeing to comply with and be subject to the RedHired Terms and Conditions for use of our website. To use our website, you must agree with the Terms and Conditions and both meet and comply with their provisions.

RedHired

All job types
Contract
Full-time
Part-time
Permanent
Temporary
Other

All locations
Alabama
Alaska
American Samoa
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
District of Columbia
Florida
Georgia
Guam
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Northern Mariana Islands
Ohio
Oklahoma
Oregon
Pennsylvania
Puerto Rico
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
U.S. Virgin Islands
United States Minor Outlying Islands
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming