unit logo

Research Software Engineer IV

Summary

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. The Research Software Engineer IV will work independently and in a leading and consulting role, applying software engineering principles and providing guidance to design software to improve research processes, participating in project planning and execution, and assisting in reporting.

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

Education and Experience

A Bachelor’s Degree in computer or physical science, statistics, bioinformatics, analytics, or similar field and seven years of experience; Master’s Degree in computer or physical science, software engineering, statistics, bioinformatics, analytics, or similar field and five years of experience; Doctoral Degree in computer or physical science, statistics, bioinformatics, analytics, or similar field and three years of experience.

Licensure and Certification

N/A

Supervision

This position will not have supervisory responsibilities. Responsible for the leadership of small/medium sized projects and the direction of project efforts of 1-2 people. May be responsible for mentoring junior software engineers and student interns.

Competencies

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