Closing Date: 24 OCT 2026

Software Engineer

Hamad Bin Khalifa University (HBKU), a member of the Qatar Foundation for Education, Science, and Community Development (QF), was founded in 2010 to continue fulfilling QF’s vision of unlocking human potential. HBKU is a homegrown research and graduate studies University that acts as a catalyst for positive transformation in Qatar and the region while having a global impact.

The College of Science and Engineering (CSE) currently offers the largest selection of programs within the university and aspires to be a leading college committed to excellence in research and education with a major emphasis on interdisciplinary research and scholarship. It has established three divisions: the Division of Information and Computing Technology, the Division of Sustainable Development, and the Division of Engineering Management and Decisions Sciences. CSE faculty members are internationally recognized for pursuing high-impact research addressing societal and economic needs in Qatar and globally.

HBKU seeks applications for the position of Software Engineer. The applicant will be responsible for designing, developing, testing, deploying, and maintaining reliable, scalable, and maintainable software systems that support the College's research, teaching, and innovation activities. The Software Engineer works closely with faculty, researchers, students, and technical staff to translate research prototypes and technical requirements into robust software solutions, reusable platforms, APIs, tools, and services.

  • Design modular, maintainable, secure, and scalable software systems based on research and operational requirements.
  • Evaluate technical alternatives and recommend appropriate languages, frameworks, libraries, databases, and infrastructure. 
  • Develop production-quality software using appropriate programming languages and engineering frameworks. 
  • Translate research algorithms and prototypes into robust, reusable, and maintainable software implementations. 
  • Develop backend services, APIs, data-processing pipelines, web applications, research tools, or other software systems as required by CSE projects. 
  • Develop and maintain unit tests for individual software modules as well as integration, regression, and system tests. 
  • Perform code reviews and apply coding standards, design patterns, and software engineering best practices. 
  • Diagnose software defects, conduct root-cause analysis, and implement reliable corrective actions. 
  • Build and maintain automated build, testing, deployment, and CI/CD workflows. 
  • Package and deploy applications using appropriate containerization and cloud/on-premises infrastructure. 
  • Monitor deployed systems and improve their reliability, availability, and performance. 
  • Collaborate with faculty and researchers to convert proof-of-concept research code into well-engineered software. 
  • Refactor experimental implementations to improve correctness, reproducibility, performance, maintainability, and usability. 
  • Support reproducible research through version control, dependency management, testing, documentation, and software release practices. 
  • Maintain architecture documentation, API documentation, developer guides, deployment instructions, and operational documentation. 
  • Document important technical decisions and software interfaces to facilitate long-term maintenance and knowledge transfer.
  • Work closely with faculty, researchers, students, lab staff, and other stakeholders to understand requirements and deliver effective technical solutions. 
  • Provide technical guidance to research teams on software engineering practices. 
  • Other reasonable tasks as assigned by the supervisor.

  • Bachelor’s degree in computer science, computer engineering, or a related engineering field.
  • 6-8 years of relevant full-time work experience. 
  • Design experience on large-scale distributed applications is preferred.
  • Strong software development experience in two or more modern programming languages such as Python, C++, Java, JavaScript/TypeScript, Go, Rust, or equivalent, with the ability to select appropriate technologies according to project requirements.
  • Experience with automated testing, continuous integration, and continuous deployment. 
  • Experience developing software in Linux environments. 
  • Familiarity with container technologies such as Docker and modern deployment environments. 
  • Strong debugging, profiling, performance optimization, and root-cause-analysis skills.
  • Excellent experience with developing and documenting software applications.
  • Ability to interpret written requirements and technical specification documents.
  • Overall awareness of current trends in applications and software development methodologies.
  • Exposure to project management techniques.
  • Effective written and oral communication and presentation skills.
  • Excellent writing skills with the ability to draft and edit a variety of written reports and communications and to articulate ideas clearly and concisely; Arabic proficiency is an advantage.
  • Proficiency in MS Office applications.

To apply, please follow this link

Additional documents may be solicited from short-listed candidates.

Applications will be reviewed immediately and continue on a rolling basis until the position is filled. Shortlisted candidates will be contacted for interviews. 

HBKU offers an attractive compensation package that includes a tax-free salary and additional benefits such as an accommodation allowance, annual paid leave, and medical insurance.

Hamad Bin Khalifa University is an equal opportunity educator and employer. We are committed to maintaining a culturally and academically diverse staff of the highest caliber.