Princeton University Research Software Engineering Summer Fellows Program - 2024 Call for Applications

Thank you for your interest in the Princeton RSE Summer Fellow program. Unfortunately, we are no longer accepting applications.


Are you an undergraduate or graduate student enrolled at a US-accredited College or University? Are you enthusiastic about software & programming and interested in applying your skills to exciting academic research problems? Then the Princeton University Research Software Engineering Summer Fellows program could be for you. As a summer fellow, you will work under the mentorship of a professional Research Software Engineer (RSE) to build, develop, and optimize software used in cutting-edge Princeton research software projects.

The RSE Fellows Program lasts 10-12 weeks during the summer, depending on academic year schedules. The fellow is expected to be available full-time, not employed in any other activity (including graduate assistantships) or following significant coursework. Relocation to Princeton is not required. In most cases, fellows will remain in their home location and work remotely with their mentor. Summer fellows will receive a training stipend of $600/week, paid monthly, during the program, assuming satisfactory progress. As part of our program, there are funds available for a one-week, on-campus, visit, fully funded by Princeton University. It is optional, but we encourage taking advantage of this opportunity. During this time, you'll have the opportunity to interact with your mentor, unless they are remote, as well as other RSEs, students, and potentially other Fellows.

Prior knowledge of the research domain is helpful, but not required. Dedicated training activities will be offered to help fellows improve specific software skills. Applications from women and members of underrepresented groups in STEM activities are particularly encouraged.

Eligibility: You must be enrolled as a student at an accredited University or College and have completed at least 1 academic year by the start of the summer fellowship. US citizenship is not required, but if you are in the US on a student visa you must be eligible for participating in an optional practical training (OPT) activity.

Application: Interested students should apply via this Google Form. You will need to provide:

  • Your full name, email address, the name of your university or college, and your current or planned major and/or area of study.
  • A resume/CV (in pdf format) with contact information.
  • An academic transcript - this can be unofficial, but should include course titles and overall GPA. 
  • A short essay describing your interest in the RSE fellows program (maximum 1 page, pdf format). For example, you may wish to expand on 3 or 4 topics from the following list: your background, skills, and strengths; what software, computing, or scientific topics appeal to you; previous research experience, if any; what you may want to pursue as a future career; and what benefits you would like to gain from this program. If you already have a potential mentor/project that interests you from the list below, you can also mention that here. This is however not required to apply. Selected applicants will be connected to potential mentors in a 2nd step following the application (see below).
  • [Optional] The full name and email address of a reference. Ideally, it would be someone with whom you have interacted in a STEM context (e.g. a course or a previous research activity). You should contact the person in advance to confirm that they will write a letter for you and simply provide their name/email in the application form. After you submit the form, we may contact them to request the letter.

Final Deadline and Selection Process: Tuesday, 23 April, 2024. 

Applications will be evaluated as they arrive. Selected applicants will be matched with a potential mentor (based on possible matches to their skills and interests) for a short interview and discussion of a possible project that matches the applicant’s skill level. Based on the interview and this discussion the applicant will then write up and submit a short 2-page proposal with a plan of work and timeline for the summer. Acceptance into the RSE summer fellows program will be based on this short proposal.

Questions can be addressed to [email protected].


Mentors and Projects for Summer 2024


Garrett Wright (ASPIRE)

ASPIRE inversion graphic


ASPIRE is an open-source Python framework for Computational CryoEM image processing and algorithm development targeting abinitio single particle reconstruction pipelines.  There are several projects that could be matched to background and interests for candidates with varying amounts of Python and mathematical experience.  Specifically, we could use some help adding a Sinogram component to be used in a new image alignment algorithm, and performance optimization by applying caching in distributed computations.  Completing any of our projects should foster demonstrable experience in a modern Python scientific computing ecosystem and result in public facing GitHub contributions.





Troy Comi (Project 1: Converting Fluid Field Simulations from MATLAB to Python)

Troy Project 1 - RSE Fellow - cropped

This project involves the conversion of an existing fluid field simulation from MATLAB to Python. The goal is to improve the general usability of the simulation and implement software engineering best practices, including modular, object-oriented design and testing. The MATLAB codebase is a large project, but you will strive to create a minimum viable product that replicates 3 component phase separation as a function of physical parameters. The fellow will work closely with the mentor on design and implementation of the MVP and obtain user feedback from lab members.  Requires proficiency in Python and knowledge of MATLAB.




Troy Comi (Project 2: Development of Image Analysis Plugins for CellProfiler)

Troy Project 2 RSE Fellows

This project involves the development of image analysis plugins for CellProfiler, an open-source software designed for large-scale image analysis. The goal is to implement custom analyses from the lab in a more user-friendly application.  The fellow will work closely with the mentor to develop plugins including averaging images from multiple target points and estimating 3D radial distribution functions. These plugins should be user-friendly and well-documented. Requires proficiency in Python.









Vineet Bansal (Chemical Language Modeling)

DarkNPS schematic

SkinniderLab, under the guidance of Michael Skinnider, Assistant Professor at the Lewis-Sigler Institute for Integrative Genomics, has developed the clm Python package - a codebase for "Chemical Language Modeling". By training and applying generative models to a "language" that consists of chemical structures, clm is able to learn a statistical probability distribution over unobserved structures. This allows one to predict the structure of designer drugs before they appear on the illicit market, based on their mass spectrometry data alone.

We have structured clm and its associated workflow to allow easy training and evaluation on diverse families of compounds. The clm package and its models now need to be trained, stress-tested, and fine-tuned for different molecular datasets. We'll experiment with alternate approaches like Transformer models, in addition to simpler recurrent architectures. Along the way, we'll also identify opportunities for code refactoring, optimization, scaling, documentation, and integration with other downstream data-analysis methods.

Join our team, get experience contributing to cutting-edge research code, and help us stop illicit drug-makers in their tracks!