- Home
- Jobs
- Hamad Bin Khalifa University
- Software Engineer
Software Engineer
Job Overview
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. Job Role Description 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.
Desired Candidate Profile
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.
Ready to apply?
You are viewing this role on JobSphere AI. Applications are completed on the original employer / source website.
Apply NowOpens the employer's site in a new tab
- CompanyHamad Bin Khalifa University
- LocationDoha, Qatar
- CategoryDevOps
- SourceNaukrigulf
- Listed1h ago
Related DevOps jobs
Senior C# / .NET Core Developer
Backend Development: Design, build, and maintain backend and background services using modern .NET Develop and maintain REST and gRPC APIs Work within a large…
Storekeeper – MEP Maintenance
Receive, inspect, and properly store MEP materials, tools, spare parts, and equipment. Issue materials to maintenance teams based on approved requests…
Senior Business Analyst
Project description Senior business analyst owning requirements for the Client's digital products: stakeholder discovery, process mapping, BRD/FRD and…
DevOps Engineer
Support application deployment and maintenance across different environments. Monitor live applications and production environments. Manage and support Docker…