• Research Software Engineer

    Requisition # 2018-9150
    Date Posted 4 months ago(8/16/2018 4:11 PM)
    Computer Science
    Information Technology
    Full-Time / Part-Time
  • Overview

    The Research Software Engineer will be an integral member of a research team focused on cutting‐edge computer systems research. The Research Software Engineer will work with researchers associated with Princeton Computer Science, along with collaborators at Princeton Electrical Engineering and Columbia University Computer Science. The RSE will provide domain‐centric computational expertise in algorithm development and selection, code development, and optimization to create efficient and scalable research code.


    The project’s overall goal is to develop software and hardware optimizations for linear algebra and graph analytics packages. As such, the ideal candidate will have a strong background in software and hardware systems, compilers, linear algebra and graph analytics. Experience in academic research and computer systems design also a plus. The Research Software Engineer will join a growing community of RSEs across the University.


    The position requires one to work closely with the faculty researchers in Princeton CS, EE and Columbia CS, as well as with student/postdoctoral researchers, and technical staff. Geographic and telecommute flexibility will be considered after an initial ramp‐up period. This position is a one year term with renewal contingent upon performance and availability of funding.



     Parallelize, debug, port, and tune existing research computing codes.

     Lead and co‐lead the design and construction of increasingly complex research software systems.

     Provide technical expertise and guidance for improving the performance and quality of existing software systems code bases.

     Understand and address software engineering questions that arise in research planning.

     Maintain knowledge of current and future software development tools and techniques, programming languages, and high‐performance computing hardware.


    Bachelor’s degree, or equivalent experience in a related field.

    Strong programming skills, particularly in the languages used in targeted computing applications and infrastructure: C/C++ and Python.

    Parallel programming experience on computational clusters and supercomputer  platforms.

    Demonstrated successes working in a collaborative environment as well as independently.

    Ability to learn new systems beyond area of core knowledge.

    Ability to communicate effectively with other researchers and with funding agencies, representing varied levels of technical proficiencies.

    3 years plus experience


    Preferred Qualifications:

    Advanced degree in a related field is preferred

    Experience with numpy, graph analytics packages, and/or the LLVM compiler infrastructure.

    Academic research experience.

    Background in Computer Science, Electrical Engineering or a related field.





    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)


    Estimated Appointment End Date


    Comments Related to End Date

    one year term with renewal contingent upon performance and availability of funding.

    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.