Research Software Engineer I
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.
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
N/A
Supervision
This position will not have supervisory responsibilities.
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.