What Jobs are available for Algorithms in Bahrain?
Showing 956 Algorithms jobs in Bahrain
Senior Research Scientist - Quantum Computing Algorithms
Posted 11 days ago
Job Viewed
Job Description
Is this job a match or a miss?
Teaching Fellow: Computer Science/Software Engineering
Posted today
Job Viewed
Job Description
Teaching Fellow: Computer Science/Software Engineering (Bahrain
University of Strathclyde, Bahrain
(Work location: Manama, Bahrain)
Who we are
Great minds. Innovative solutions.
Be part of a vibrant community that celebrates over 200 years of academic excellence, world-class research, and impactful innovation. Located in the dynamic Bahrain Bay, the University of Strathclyde, Bahrain, offers the same high standards of academic excellence and pioneering research that our Glasgow, UK campus is renowned for.
We currently provide eight undergraduate programmes in Engineering, Science, and Business, with future phases set to expand our offerings in research and innovation. As a leading international technological university, our mission, inspired by our founding principle as 'a place of useful learning,' is to make a positive difference in the lives of our students, society, and the world.
Since 1995, we have been delivering MBA teaching at our international centre in Bahrain. Now, in partnership with S Eleven Educational, we are proud to expand our activities to create an Innovation, Research, and Education Hub.
Our department
The Department of Computer and Information Sciences (CIS), University of Strathclyde, seeks to appoint a Teaching Fellow in Computer Science/Software Engineering in order support the delivery of our BSc (Hons) Computer Science and BSc (Hons) Software Engineering programmes in Bahrain. Based within the Faculty of Science, the Department is an internationally recognised research department specialising in information science, artificial intelligence, computer security, health informatics, interactive systems, and theoretical computer science. It is home to around 900 undergraduates, taught postgraduate and PhD students with an increasing emphasis on in person and online delivery of high-quality educational programmes. The Department has a large portfolio of undergraduate and postgraduate taught programmes ranging from Computer Science/Software Engineering to more specialist programmes in areas such as Digital Health Systems, Cyber Security and Artificial Intelligence.
The opportunity
You will play a central role in the delivery of our BSc (Hons) Computer Science and BSc (Hons) Software Engineering programmes on our Bahrain campus. You should have good knowledge of computer science/software engineering as you will be expected to design/develop course materials with guidance from other colleagues and teach those programmes. Experience of teaching in one or more of the following areas is required:
Programming (Java, Python, Haskell, C, PHP, JavaScript, SQL, and covering data structures and algorithms, concurrency, software architecture, design patterns)
Theoretical computer science including quantitative methods (mathematical underpinnings), logic and complexity analysis
Computer architecture and low-level assembly-language programming
Professional issues in computing (ethics, regulatory frameworks such as data protection, etc)
Databases
Computer networks
Cyber security
Web and mobile app development
Knowledge of and the ability to teach current practices/frameworks/tools used as part of software engineering within industry
The use of technology within business
Artificial Intelligence and data analytics
You will normally be expected to have a good Honours degree and PhD in a relevant area or equivalent professional experience, to enable you to contribute to the delivery of the Bahrain programmes and provide student support. You will also be expected to develop your knowledge of appropriate teaching methods and good pedagogic practice.
We strongly encourage applications from candidates of all backgrounds, including women, minorities, individuals with disabilities.
Informal enquiries about the post can be directed to Martin Halvey, Head of Department, Computer and Information Sciences ).
Please note: Applicants who have previously submitted their candidacy for this position are advised not to reapply.
Closing date: 10 October 2025
Please click here for further details
.
Is this job a match or a miss?
Software Engineering Apprentice
Posted 23 days ago
Job Viewed
Job Description
Responsibilities:
- Assist in the design, development, and testing of software applications.
- Learn and apply various programming languages and development tools.
- Collaborate with senior engineers on real-world projects.
- Participate in code reviews and learn best practices.
- Troubleshoot and debug software issues under guidance.
- Contribute to project documentation.
- Actively participate in training sessions and team meetings.
- Develop foundational understanding of software development lifecycle.
- High school diploma or equivalent; relevant college coursework or a degree in progress is a plus.
- Basic understanding of programming concepts and computer science fundamentals.
- Strong analytical and problem-solving skills.
- Excellent communication and teamwork abilities.
- Eagerness to learn and adapt to new technologies.
- Self-motivated with the ability to work independently in a remote setting.
- Passion for technology and software development.
Is this job a match or a miss?
Graduate Trainee - Software Engineering
Posted 1 day ago
Job Viewed
Job Description
Key Responsibilities:
- Assist senior engineers in designing, coding, and debugging software applications.
- Participate in the full software development lifecycle, from requirements gathering to deployment.
- Write clean, efficient, and maintainable code in various programming languages.
- Develop and execute unit tests and integration tests to ensure software quality.
- Collaborate with team members on code reviews and knowledge sharing.
- Learn and apply software development best practices and design patterns.
- Assist in troubleshooting and resolving software defects.
- Contribute to technical documentation.
- Participate in agile development ceremonies, such as sprint planning and retrospectives.
- Stay updated on emerging software development technologies and trends.
- Recent Bachelor's or Master's degree in Computer Science, Software Engineering, or a related technical field.
- Solid understanding of programming concepts, data structures, and algorithms.
- Experience with at least one modern programming language (e.g., Python, Java, C#, JavaScript).
- Familiarity with version control systems, such as Git.
- Basic knowledge of database systems and SQL.
- Strong analytical and problem-solving skills.
- Excellent written and verbal communication abilities.
- Ability to work independently, manage time effectively, and meet project deadlines in a remote setting.
- A proactive attitude and a strong desire to learn and grow in the field of software engineering.
- Passion for technology and software development.
Is this job a match or a miss?
Remote Software Engineering Apprentice
Posted 2 days ago
Job Viewed
Job Description
Key Responsibilities:
- Assist senior developers in coding, testing, and debugging software applications.
- Participate in team meetings and contribute to project discussions.
- Learn and apply programming languages and software development tools.
- Collaborate with team members on feature development and bug fixes.
- Contribute to documentation and knowledge sharing within the team.
- Engage in continuous learning and skill development through assigned modules and projects.
- Understand and adhere to coding standards and best practices.
- Provide support for ongoing software projects.
- High school diploma or equivalent; some college-level programming coursework is a plus.
- Basic understanding of computer science fundamentals.
- Strong problem-solving and analytical skills.
- Excellent communication and teamwork abilities.
- Self-motivated and eager to learn new technologies.
- Comfortable working in a remote, collaborative environment.
- Prior exposure to programming languages like Python, Java, or JavaScript is beneficial but not required.
- Passion for technology and software development.
Is this job a match or a miss?
Graduate Trainee, Software Engineering
Posted 2 days ago
Job Viewed
Job Description
Responsibilities:
- Participate in software development projects under the guidance of senior engineers.
- Write clean, efficient, and maintainable code in various programming languages.
- Assist in the design, development, and testing of software applications.
- Learn and apply agile development methodologies.
- Contribute to code reviews and provide constructive feedback.
- Troubleshoot and debug software issues.
- Collaborate with team members in a remote environment using communication and project management tools.
- Document code, processes, and technical specifications.
- Engage in continuous learning and skill development in software engineering best practices.
- Support the deployment and maintenance of software solutions.
Qualifications:
- Recent graduate with a Bachelor's or Master's degree in Computer Science, Software Engineering, Information Technology, or a related field.
- Strong understanding of fundamental programming concepts and data structures.
- Familiarity with at least one major programming language (e.g., Java, Python, C++, JavaScript).
- Excellent problem-solving and analytical skills.
- Enthusiasm for learning new technologies and a proactive approach to self-improvement.
- Ability to work independently and as part of a remote team.
- Good communication and interpersonal skills.
- A portfolio showcasing personal coding projects or contributions to open-source projects is a strong asset.
- Academic achievements or relevant internships are preferred.
- Eligibility to work in the specified region (if applicable, though this role is fully remote).
Is this job a match or a miss?
Advanced Apprenticeship - Software Engineering
Posted 2 days ago
Job Viewed
Job Description
Responsibilities:
- Assist in the design, development, testing, and maintenance of software applications.
- Learn and apply various programming languages and development tools.
- Participate in team meetings, code reviews, and project planning sessions.
- Troubleshoot and debug software issues under guidance.
- Contribute to documentation and technical specifications.
- Gain exposure to agile development methodologies.
- Develop problem-solving skills and a strong understanding of software development lifecycle.
- Collaborate with senior team members to achieve project goals.
- Undertake formal training and achieve relevant certifications.
- Support the delivery of high-quality software solutions.
- A strong interest in software engineering and a passion for technology.
- Good analytical and logical thinking skills.
- Ability to learn quickly and adapt to new technologies.
- Basic understanding of computer science fundamentals is a plus.
- Good communication and teamwork skills.
- Minimum of a high school diploma or equivalent.
- Eligibility to work in Bahrain.
- A willingness to commit to the full apprenticeship program.
- Ability to work effectively in a hybrid environment.
- Prior coding experience is not required, but a demonstrated aptitude for problem-solving is valued.
Is this job a match or a miss?
Be The First To Know
About the latest Algorithms Jobs in Bahrain !
Advanced Apprenticeship - Software Engineering
Posted 3 days ago
Job Viewed
Job Description
Is this job a match or a miss?
Junior Software Engineering Apprentice
Posted 5 days ago
Job Viewed
Job Description
Is this job a match or a miss?
Remote Software Engineering Apprentice
Posted 5 days ago
Job Viewed
Job Description
Responsibilities:
- Assist senior engineers in developing and maintaining software applications.
- Learn and apply various programming languages and technologies.
- Participate in the entire software development lifecycle, from design to deployment.
- Write, test, and debug code under the guidance of mentors.
- Collaborate with team members on project tasks and problem-solving.
- Attend training sessions and workshops to enhance technical skills.
- Contribute to documentation and knowledge sharing within the team.
- Learn best practices in software engineering and agile methodologies.
- Adapt to remote work tools and communication platforms.
- Showcase a proactive attitude towards learning and skill development.
- High school diploma or equivalent; pursuing or completed a degree in Computer Science or a related field is a plus.
- Foundational knowledge of programming concepts and logic.
- Demonstrated interest in software development (personal projects, coding challenges, etc.).
- Strong analytical and problem-solving abilities.
- Excellent communication and collaboration skills.
- Ability to work independently and manage time effectively in a remote setting.
- Eagerness to learn and adapt to new technologies.
- Familiarity with version control systems (e.g., Git) is a plus.
- Must be eligible to work full-time during the apprenticeship period.
Is this job a match or a miss?