307 Software Engineering jobs in Bahrain
Graduate Trainee - Software Engineering
Posted 1 day ago
Job Viewed
Job Description
- Participating in comprehensive training modules covering programming languages, software development methodologies, and best practices.
- Assisting senior engineers in coding, testing, and debugging software applications under guidance.
- Collaborating with team members on project tasks, contributing to code reviews, and participating in agile development ceremonies.
- Learning to design, develop, and implement software solutions to address business needs.
- Gaining exposure to various aspects of the software development lifecycle, from requirements gathering to deployment and maintenance.
- Troubleshooting and resolving technical issues that arise during development and testing phases.
- Contributing to technical documentation and knowledge sharing within the team.
- Developing a deep understanding of our client's technology stack and product offerings.
- Actively seeking feedback and opportunities for continuous learning and skill enhancement.
- Adapting to a remote work environment, effectively communicating and collaborating with colleagues through virtual channels.
- A recent Bachelor's or Master's degree in Computer Science, Software Engineering, Information Technology, or a closely related field.
- A strong academic record and a foundational understanding of programming concepts.
- Familiarity with at least one programming language (e.g., Python, Java, C++, JavaScript).
- Excellent analytical and problem-solving skills.
- Strong communication and interpersonal skills, with the ability to work effectively in a remote team.
- A proactive attitude, a strong desire to learn, and a passion for technology.
- The ability to self-manage time and responsibilities in a remote setting.
- Eligibility to work in the specified region.
Graduate Trainee - Software Engineering
Posted 1 day ago
Job Viewed
Job Description
Senior Software Engineering Manager
Posted 1 day ago
Job Viewed
Job Description
Key Responsibilities:
- Lead, mentor, and manage a team of software engineers, fostering their professional growth and development.
- Oversee the entire software development lifecycle, from design and architecture to implementation, testing, and deployment.
- Define and drive the technical vision and roadmap for software products, aligning with business objectives.
- Ensure the adoption of best practices in software engineering, including agile methodologies, code quality, and automated testing.
- Collaborate closely with product managers, designers, and other stakeholders to translate requirements into robust technical solutions.
- Champion a culture of innovation, continuous improvement, and technical excellence within the engineering team.
- Manage project timelines, resources, and deliverables, ensuring successful and timely product launches.
- Conduct performance reviews, provide regular feedback, and support career development for team members.
- Resolve technical challenges and remove roadblocks for the engineering team.
- Contribute to hiring and onboarding efforts for new engineering talent.
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- 8+ years of experience in software development, with at least 3 years in a leadership or management role.
- Proven experience in managing distributed and remote engineering teams effectively.
- Strong technical background in modern software architectures, development methodologies, and programming languages.
- Deep understanding of agile development principles and practices.
- Excellent leadership, communication, and interpersonal skills.
- Demonstrated ability to mentor and develop engineers.
- Experience with CI/CD pipelines, cloud technologies (AWS, Azure, GCP), and microservices architecture.
- Strong problem-solving and decision-making capabilities.
- Ability to thrive in a fast-paced, dynamic, and remote work environment.
Graduate Trainee - Software Engineering
Posted 3 days ago
Job Viewed
Job Description
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related technical discipline.
- Solid understanding of computer science fundamentals, data structures, and algorithms.
- Proficiency in at least one modern programming language (e.g., Java, Python, C++, JavaScript).
- Familiarity with software development methodologies (e.g., Agile).
- Strong analytical and problem-solving skills.
- Excellent communication and interpersonal abilities.
- Eagerness to learn and adapt to new technologies.
- Ability to work effectively in a remote, collaborative team environment.
- Prior internship or project experience in software development is a plus.
Graduate Software Engineering Trainee
Posted 4 days ago
Job Viewed
Job Description
- Participate in intensive training programs covering software development methodologies, programming languages (e.g., Python, Java, JavaScript), and cloud technologies.
- Gain practical experience in software design, development, testing, and deployment.
- Work on challenging projects, contributing to the enhancement of existing systems or the development of new features.
- Learn to use industry-standard tools and platforms, including version control systems (Git) and project management software.
- Collaborate with cross-functional teams, including product managers and senior engineers.
- Receive mentorship from experienced software engineers, providing guidance and career development support.
- Develop strong problem-solving and analytical skills.
- Understand and apply agile development principles.
- Contribute to code reviews and learn best practices for writing clean, efficient, and maintainable code.
- Build a foundational understanding of cloud computing concepts and services.
Advanced Software Engineering Apprentice
Posted 4 days ago
Job Viewed
Job Description
Key Responsibilities:
- Participate actively in all aspects of the software development lifecycle.
- Learn and apply modern software engineering best practices, including coding standards, testing, and version control.
- Collaborate with mentors and team members on software development projects using remote communication tools.
- Develop, test, and debug code under the guidance of senior engineers.
- Contribute to the design and implementation of software features.
- Engage in continuous learning activities, including workshops, online courses, and reading technical documentation.
- Troubleshoot technical issues and propose effective solutions.
- Participate in code reviews and provide constructive feedback.
- Assist in documenting software designs and processes.
- Develop a strong understanding of cloud platforms and deployment strategies.
- Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent demonstrable experience.
- Strong foundational knowledge of programming concepts and logic.
- Familiarity with at least one programming language (e.g., Python, Java, JavaScript).
- Excellent problem-solving, analytical, and critical thinking skills.
- Strong desire to learn and adapt to new technologies.
- Effective communication and collaboration skills, suitable for a remote team environment.
- Self-motivated and able to manage time effectively in a remote setting.
Senior Software Engineering Apprentice
Posted 10 days ago
Job Viewed
Job Description
Responsibilities:
- Learn and apply software development principles and best practices under the guidance of senior engineers.
- Write, test, and debug code for software applications, adhering to coding standards.
- Participate actively in code reviews, providing constructive feedback to peers.
- Collaborate with team members in an agile development environment to deliver software features.
- Assist in the identification and resolution of software defects and issues.
- Contribute to the documentation of software designs, processes, and procedures.
- Gain exposure to various programming languages, frameworks, and development tools.
- Engage in continuous learning and skill development throughout the apprenticeship program.
- Support the maintenance and enhancement of existing software systems.
- Participate in team meetings and contribute to project planning discussions.
- High school diploma or equivalent required.
- Strong interest and aptitude for software development and technology.
- Basic understanding of programming concepts or demonstrable experience through personal projects, bootcamps, or relevant coursework.
- Excellent problem-solving and analytical skills.
- Strong communication and interpersonal skills.
- Ability to work independently and collaboratively in a remote team setting.
- Eagerness to learn, adapt, and take on new challenges.
- Motivated, proactive, and results-oriented mindset.
- Reliable internet connection and a suitable home office environment for remote work.
- Must be legally eligible to work and complete the apprenticeship program.
Be The First To Know
About the latest Software engineering Jobs in Bahrain !
Graduate Trainee - Software Engineering
Posted 10 days ago
Job Viewed
Job Description
Key Responsibilities include:
- Assisting senior engineers in developing, testing, and deploying software applications.
- Participating in code reviews and contributing to the improvement of code quality.
- Learning and applying various programming languages and development tools.
- Collaborating with cross-functional teams to understand project requirements and contribute to solutions.
- Writing clean, maintainable, and efficient code according to established standards.
- Assisting in the debugging and troubleshooting of software defects.
- Contributing to the creation of technical documentation and user guides.
- Participating in team meetings, brainstorming sessions, and agile development processes.
- Learning about software architecture, design patterns, and best practices.
- Gaining exposure to cloud technologies, databases, and DevOps principles.
- Developing a strong understanding of the company's products and services.
- Actively seeking feedback and applying learnings to enhance skills and performance.
- Supporting ongoing maintenance and enhancements of existing software systems.
The ideal candidate will have recently graduated with a Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a closely related field. A strong academic record and a passion for software development are essential. Proficiency in at least one programming language (e.g., Java, Python, C++, JavaScript) is required. Familiarity with data structures, algorithms, and object-oriented programming concepts is expected. Excellent problem-solving skills, a keen attention to detail, and a strong desire to learn are paramount. Good communication and teamwork skills are necessary to collaborate effectively in a remote environment. While prior professional experience is not required, personal coding projects, internships, or contributions to open-source projects are considered a significant advantage. This is an exceptional opportunity to gain practical experience and kickstart a rewarding career in software engineering.
Senior Software Engineering Manager
Posted 10 days ago
Job Viewed
Job Description
Advanced Software Engineering Apprentice
Posted 10 days ago
Job Viewed
Job Description
Program Structure and Learning Opportunities:
- Structured on-the-job training and mentorship from experienced software engineers.
- Exposure to a variety of programming languages, frameworks, and technologies (e.g., Python, Java, JavaScript, React, Node.js).
- Participation in the design, development, testing, and deployment of software solutions.
- Learning industry best practices in software development, including Agile methodologies, code quality, and security.
- Opportunities to work on diverse projects across different business units.
- Development of essential soft skills, including problem-solving, critical thinking, and teamwork.
- Potential for full-time employment and career advancement within the company upon successful completion of the apprenticeship.
- Recent graduate with a degree in Computer Science, Software Engineering, or a related technical field, OR equivalent practical experience through self-study or bootcamps.
- Strong foundational knowledge of programming concepts and data structures.
- A demonstrable passion for technology and software development (e.g., personal projects, GitHub profile).
- Excellent problem-solving and analytical skills.
- Good communication and interpersonal abilities.
- Eagerness to learn, adapt, and contribute in a team environment.
- Must be legally eligible to work in the specified location.