unit logo

Research Software Engineer I


This role is crucial for driving innovative research that involves complex computations, large data analysis, and artificial intelligence in science, engineering, mathematics, statistics, finance, language, history, and fine arts. The role is to create software to solve complex problems in close collaboration with research teams and make sure the software meets software design principles to ensure stability, security, and maintainability.

Examples of Work

Job functions are specific duties that would be included in the essential functions of the job description.  These functions are not all-inclusive nor do they cover the full extent of the duties performed.

  • Provide expertise in collaboration with a researcher team in gathering software requirements from researcher-provided use cases and project goals
  • Develop software architecture and design within a team, delivering flow-charts and diagrams
  • Develop modular software architectures with supervisor and collaborators
  • Design software for parallel processing of high-performance computing and high-performance data analytics workflows
  • Incorporate usability and performance considerations into software designs with supervisor and collaborators
  • Incorporate cybersecurity principles in software designs apply them in coding with supervisor and collaborators
  • Write software in high-level languages like C/C++, Java, Scala, Julia, Fortran independently
  • Build software frameworks by assembling components using scripting languages like Python independently
  • Build software using frameworks and libraries independently
  • Create software documentation independently
  • Develop software testing methods within a team and program them independently
  • Use software version tracking and continuous integration tools
  • Design and implement software maintenance processes with supervisor and collaborators
  • Work with project management to set milestones for software engineering projects and to provide project reporting
  • Contribute to open source projects

Education and Experience

A Bachelor’s Degree in computer or physical science, statistics, bioinformatics, analytics, or similar field and two years of experience; Master’s Degree in computer or physical science, statistics, bioinformatics, analytics, or similar field.

Licensure and Certification



This position will not have supervisory responsibilities.


To see common career pathways for each position at the University of Florida please visit the Career Paths section of the UFHR website.