Senior Research Software Engineer – HigherEdJobs



Senior Research Software Engineer


Job ID: 2021-13767
Type: Full-Time
# of Openings: 1
Category: Information Technology

Princeton University


The Maxwell Lab and the Integrated GroundWater Modeling Center (IGWMC) is assembling a team of research software engineers, Hydrologists and Machine learning experts to build a next generation hydrologic forecasting platform called HydroGEN ( HydroGEN is a web-based machine learning (ML) platform to generate custom hydrologic scenarios on demand. Without any prior modeling experience, users will be able to directly manipulate state-of-the-art tools to explore the risks of future events that matter to them. Our platform builds off the first and only physics-based high-resolution groundwater surface water model in the US. This gives us a unique ability to train ML models that can capture the potential for extreme events in changing systems. Water is the driving force behind extreme events like floods, droughts and wildfires costing the US billions of dollars every year. Our goal is to build tools that put the best science directly in the hands of decision makers and planners. Helping them better prepare for and manage future extreme events.

We are seeking a talented Senior Research Software Engineers (RSEs) to join our team and help develop the HydroGEN platform. This position will be appointed through the High Meadows Environmental Institute at Princeton University and will collaborate with team members from participating institutions (Cyverse, University of Arizona, Princeton University and ViQi) to support and extend a high profile, open source multi-cloud orchestration software. We seek highly-motivated individuals with an appetite to learn about new technologies, ability to perform in team environments, flexible attitude, attention to detail, and excellent communication skills.

Candidates may be asked to provide examples of prior scripts or source code.



  • Contribute to the development, support, and maintenance of an open-source software for the research community.
  • Gather and identify software requirements from the project team, developers, and users
  • Implement software according to the project requirements, specifications, and timelines.
  • Benchmark and analyze the performance of the web applications and its associated components
  • Contribute to the development of professional processes, procedures, and standards for delivering quality products in a timely fashion.
  • Work with other software engineers to document and promote best practices and software design patterns
  • Provide or update relevant software documentation
  • Evaluate and research software technologies as necessary
  • Provide support to users and create end-user documentation as needed
  • Additional software engineering-related duties may be assigned


Minimum Qualifications:

  • Bachelor’s degree in Computer Science or related field.
  • Experience in JavaScript, Python, Go, or other comparable programming language for web and/or microservices development
  • Experience with contemporary software development tools and processes, such as git, CI/CD, and containerized deployments
  • Experience with at least one of the following:
    • RESTful APIs and modeling contemporary best practices e.g. OpenAPI and Swagger
    • Web-based networking communication, protocols, and security issues
    • Creating software using databases, such as MySQL, PostgreSQL, MongoDB, Redis, or Neo4j
  • Demonstrable ability to meet deadlines and work with limited supervision
  • Have a mindset to collaborative with management, user experience designers, and other software engineers
  • Must have excellent written and verbal communication skills
  • Must have an excellent customer service attitude
  • Requirement to program at a higher technical plane and apply broad and extensive research software engineering experience to discover and develop novel, creative, and robust software solutions to the most challenging research problems
  • Responsibility to lead and mentor other RSEs within the group.
  • Responsibility to instruct and educate non-senior Research Software Engineers in advanced computational techniques
  • Responsibility to work with the Director and other RSE leads on strategic planning activities centered around the RSE group

Preferred Qualifications:

  • Experience with one or more of the following:
    • Developing using microservices, containerized services, or distributed systems, including using with Docker and Kubernetes
    • Event-driven services and architecture
    • Automating deployments using CI/CD, container orchestration, or ansible
    • Developing user interfaces using React, Next.js, Express, or other JavaScript frameworks is beneficial
  • Experience debugging, monitoring, benchmarking, and optimizing the performance of web applications
  • Software development in a Linux environment, including management of underlying Linux network services is beneficial
  • Advanced degree in computer science or equivalent

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 PI154901045

Princeton University is an equal opportunity/affirmative action employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability status, protected veteran status, or any other characteristic protected by law.


Source link

Give a Comment