Research Software Engineer II
Summary
This role is crucial for driving innovative research, with minimal supervision, 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 independently 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 and guidance 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 independently
- Design software for parallel processing of high-performance computing and high-performance data analytics workflows with a researcher team
- Incorporate usability and performance considerations into software designs with a researcher team
- Incorporate cybersecurity principles in software designs apply them in coding independently
- 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 a researcher team
- Work with project management to set milestones for software engineering projects and to provide project reporting
- Contribute to management of complex open source projects
Education and Experience
A Bachelor’s Degree in computer or physical science, statistics, bioinformatics, analytics, or similar field and three years of experience; Master’s Degree in computer or physical science, statistics, bioinformatics, analytics, or similar field and one year of experience; Doctoral Degree in computer or physical science, statistics, bioinformatics, analytics, or similar field.
Licensure and Certification
N/A
Supervision
This position will not have supervisory responsibilities. May be responsible for teaching graduate students in research projects.
Competencies
- Accuracy And Attention To Detail
- Active Learning
- Accountability*
- Producing Results
- Effective Communication**
- Project Management
- Application Testing
- Application Maintenance
- Application Design, Architecture
- Application Development Tools
- Application Delivery Process
- Software Development
To see common career pathways for each position at the University of Florida please visit the Career Paths section of the UFHR website.