Research Software Engineer Position

Do you want to help enable groundbreaking research at the University of Alabama?

Do you love to write software, and also have a genuine interest in research? Are you interested in applying your programming experience to a novel set of research problems?

Do you want to help lay the foundation for Research Software Engineering at the University of Alabama?

If so, the University of Alabama is recruiting a Research Software Engineer to work in the Office of Research and Economic Development.

In this position, you will have the opportunity to be an integral member of a small number (2-3) of research teams, from different research domains across the University of Alabama's campus. Potential projects come from researchers in Science (Physics & Astronomy, Biology, Geology), Engineering (Civil, Chemical, Biological), Mathematics, Social Science, and Business. You will provide computational expertise in algorithm development and software design to help create high-quality and sustainable research code. In addition, you will have the opportunity to contribute to the building of a community of researchers interested in developing and using research software at the University of Alabama.

If you have a strong background in academic research, a specific research discipline (engineering, science, math), and research programming, you have the right skill set to make an immediate impact on multiple, diverse research projects at the University of Alabama.

Job Duties

  • Lead and co-lead the design and construction of increasingly complex research software systems in various research domains.
  • Provide technical expertise and guidance for improving the performance and quality of existing computational codebases.
  • Maintain updated knowledge of software tools and techniques, programming languages, and computing hardware.
  • Transfer software best practices (knowledge, expertise, and methodologies) to UA postdocs and graduate students by providing limited technical assistance and mentorship.
For a more detailed description of job duties click here.


  • Bachelor's degree or M.S. degree in computer science or a computational research field or equivalent experience.
  • Strong programming skills, particularly in languages used in research software applications (e.g., Python, C, C++, R, MATLAB, Fortran).
  • Ability to work collaboratively with researchers and research groups as well as the ability work independently.
  • Ability to learn new research domains and systems.
  • Ability to communicate effectively with diverse university personnel, including researchers, software engineers, and administrators.

Preferred Qualifications

  • PhD in computer science or a computational research field
  • Experience in a non-commercial (e.g. academic or government) research environment
  • Experience with software development methodologies
  • Experience using multiple programming languages such as R, C/C++, Java, Python
  • Experience with open-source software development

Application Information

To apply, please visit the UA Jobs Portal.

Please note, salary is negotiable depending upon qualifications.

Last Updated on June 6, 2019 by Jeffrey Carver