Software Engineer
- Company
- Hamad Bin Khalifa University
- Location
- Doha
- Job type
- Full Time
- Salary
- Negotiable
- Experience
- 6 - 8 Years
- Education
- Bachelor
- Deadline
- 2026-10-24
Job description
Hamad Bin Khalifa University (HBKU), a member of Qatar Foundation, seeks a Software Engineer for its College of Science and Engineering. 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, working 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.
Responsibilities
- 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 and research tools as required by CSE projects
- Develop and maintain unit tests 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
- Refactor experimental implementations to improve correctness, reproducibility, performance, maintainability and usability
- Maintain architecture documentation, API documentation, developer guides and deployment instructions
- Provide technical guidance to research teams on software engineering practices
Requirements
- 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 or Rust
- 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
- Ability to interpret written requirements and technical specification documents
- Exposure to project management techniques
- Effective written and oral communication and presentation skills; Arabic proficiency is an advantage
- Proficiency in MS Office applications
Benefits
- Tax-free salary
- Accommodation allowance
- Annual paid leave
- Medical insurance
Skills
- C++
- CI/CD
- Docker
- Java
- JavaScript
- Linux
- Python
- Software Testing