• Research Software & Programming Analyst

    Requisition # 2018-8972
    Date Posted 7 months ago(7/2/2018 12:34 PM)
    Computational Science and Eng
    Information Technology
    Full-Time / Part-Time
  • Overview

    Do you want to help enable and advance groundbreaking academic research?  Do you have a background in research and love to write code?  Do you want to support the use and development of software on centralized high-performance computing and visualization systems?  If so, Princeton University is recruiting a programmer to join its research computing Software and Programming group.


    In the Software and Programming group, we provide computational expertise to help researchers from all disciplines get work done by removing barriers to success in research.  Our group is committed to creating a collaborative environment in which the best software engineering practices are valued, and to sharing and applying cross-disciplinary computational techniques to new and emerging areas.

    In this position, you will be an integral member of a team focused on supporting the research computing community. You will guide users in their choice of systems, software and programming languages, as well as help users find solutions to their computing research problems.  In this work, you will work closely with IT colleagues, and faculty, students, and postdoctoral researchers to enable and accelerate their research computing efforts.

    If you have a strong background in scientific programming or data science, high performance computing, and academic research, you have the right skill set to make an immediate impact on research computing at Princeton.



    • Providing intermediate to advanced support in programming (C/C++, Matlab, Fortran, Python, R), parallel programming (MPI, OpenMP) and debugging
    • Processing help tickets
    • Supporting novice users in cluster use, installing software, using the scheduler, and troubleshooting
    • Facilitating one-on-one and group help sessions
    • Organizing outside technical instruction
    • Collaborating with other instructors and developing  and updating training materials for research computing workshops
    • System and Software Support
    • Manage Linux license servers
    • Manage Windows license server
    • Install licensed software on clusters
    • Manage github.com service



    • At least 3 to 5 years of experience programming, including compiled and high-level scripting languages
    • Strong knowledge of at least one development tool and the desire to learn others.
    • Experience with Red Hat Linux, or derivative such as CentOS
    • Experience with one or more database systems, such as MySQL, PostgreSQL, MongoDB
    • Strong knowledge of development tools, including debuggers and compilers
    • Experience working in software development teams
    • Strong interpersonal skills and ability to respond promptly and professionally to requests for assistance from faculty, staff and students
    • Ability to manage projects and multiple priorities
    • Strong oral and written communication skills
    • Bachelor’s degree required
    • Background in statistics and machine learning is preferred.
    • A graduate degree or equivalent experience in a research setting is preferred.



    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

    Salary Grade

    AIT, 030

    Standard Weekly Hours


    Eligible for Overtime


    Benefits Eligible


    Essential Services Personnel (see policy for detail)


    Physical Capacity Exam Required


    Valid Driver’s License Required



    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed

    Connect With Us!

    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. The type and extent of background check, reference checks, and pre-employment screening may vary depending on the requirements and/or functions of the job and the candidate’s current employment status with Princeton University.

    If you have questions or comments regarding the iCIMS Privacy Policy or iCIMS FAQs, please contact accounts@icims.com.

    Go to our careers site.