Research Software Engineering

Bringing Advanced Software Engineering Expertise to Research Groups at Princeton

RSE Group Photo November 2021

The Princeton RSE Group (Fall 2021). From left to right: Christopher Langfield, Joshua Carmichael, Abhishek Biswas, Garrett Wright, Troy Comi, Calla Chennault, Ian Cosden, Henry Schreiner, Bei Wang, Michal Grzadkowski, Vineet Bansal, and David Turner. Photo Credit: Florevel Fusin-Wischusen, Princeton Institute for Computational Science & Engineering. Not pictured: Colin Swaney, Amy Defnet, Bill Hasling, Rohit Kakodkar, and Alice Fang.


In today’s competitive research environment, high-quality software is critical for successful academic programs. Princeton’s Research Software Engineering Group is helping to redefine the collaborative possibilities between software engineers and traditional research groups, in order to maximize each project’s success.

We invite you to learn more about our work. Read featured group projects and see the Princeton RSE group blog for technical posts and highlights. 

About Us

Our Research Software Engineering group is part of the Princeton Research Computing consortium, located in the distinctive Lewis Library. Our mission is to help researchers create the most efficient, scalable, and sustainable research codes possible in order to enable new scientific advances.

We do this by working as an integral part of traditional academic research groups, providing leadership in the design and construction of complex and highly customized software systems. We can support sophisticated data science and computational research projects in high energy physics, machine learning, neuroscience, and genomics, among many other disciplines.

We provide our partner groups with domain-specific algorithms and solution techniques; optimization and performance tuning; and insights and guidance with current and future software development tools, programming languages, and high-performance computing hardware. 

Our group is committed to creating a collaborative environment in which best software engineering practices are valued, and to sharing and applying cross-disciplinary computational techniques to new and emerging areas.

Questions? Email Ian Cosden, Director, Research Software Engineering for Computational & Data Science.

 

RSE Employment Opportunities

Do you have a background in computational research and love to write code? Are you interested in enabling groundbreaking experiments that will allow for more efficient and impactful uses of renewable sources of energy? If so, Princeton University's Research Computing department is recruiting a Research Software Engineer to join the rapidly growing Research Software Engineering (RSE) Group.

  • Research Software Engineer II, Requisition #: 2023-17226
    To apply, visit Princeton University Careers and search for the Req. 2023-16950 under staff positions.

    What if you could have an impact on the search for an abundant, safe, affordable, and environmentally sound means of generating electricity? This is the goal of fusion energy research at the Princeton Plasma Physics Laboratory (PPPL), a United States Department of Energy national laboratory for plasma physics and nuclear fusion science. If that idea appeals to you, 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 and inclusive 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 part of the Gkeyll group in the PPPL Computational Sciences Department. Gkeyll is a plasma simulation code developed at PPPL that is used to model the behavior of plasmas in fusion devices like tokamaks. It is designed to run on high-performance computing (HPC) systems and is optimized for parallel computing, which allows it to simulate very large plasma systems with high accuracy. Gkeyll is open-source software that is actively developed by researchers at PPPL and other institutions, and new features and capabilities are constantly being added. Overall, Gkeyll is a powerful tool that helps researchers understand the behavior of plasmas in fusion devices, which is important for achieving nuclear fusion and developing new fusion energy technologies. 

  • Research Software Engineer II (Astrophysics), Requisition #: 2023-17686
    To apply, visit Princeton University Careers and search for the Req. 2023-17686 under staff positions.

    Princeton University is seeking candidates for a new position within the fast-growing Research Software Engineering (RSE) Group.  The successful candidate will have a strong background in software development and high-performance computing (HPC), as well as interest in numerical modeling in Astrophysics. 

    In this position, you will be an integral part of research groups in the Astrophysical Sciences department that focus on Computational Astrophysics. You will collaborate with several research groups who use similar computational techniques to model the evolution of astrophysical systems. Some examples of the scientific codes used in those research groups are Fornax, Pegasus++, Athena++, Tristan-MP, and RAMSES. These groups are intensive users of computing resources both at Princeton University as well as at national supercomputing facilities (DOE, NSF, NASA). Through this work, you will have the opportunity to run on the nation's state-of-the-art systems. One of your main tasks will be to port CPU codes to GPU codes suitable for the new GPU and hybrid architectures being implemented by federal agencies for their top-level supercomputers. As part of your role, you will work on different projects sequentially with various research groups. These projects will focus on enhancing the performance and scalability of existing codes, creating new GPU-specific features, and teaching the department members the most effective techniques for profiling and optimization.

    If you have a strong background in HPC as well as in Astrophysics or plasma physics, you have the right skill set to immediately impact multiple high-profile research projects. 

Research Software Engineering News