144 Software Development jobs in Bahrain
Lead Software Development Engineer
Posted 16 days ago
Job Viewed
Job Description
Key Responsibilities:
- Lead and mentor a team of software engineers, fostering a collaborative and high-performance environment.
- Architect, design, develop, and maintain complex software applications and systems.
- Provide technical leadership and guidance throughout the entire software development lifecycle.
- Conduct code reviews, ensuring adherence to coding standards, best practices, and system architecture.
- Collaborate with product managers, UX/UI designers, and other stakeholders to define project requirements and technical specifications.
- Oversee the development of technical documentation, including design specifications and API documentation.
- Troubleshoot and resolve complex technical issues, providing expert-level support.
- Implement and promote agile development methodologies.
- Research and evaluate new technologies, tools, and frameworks to improve development processes and product quality.
- Contribute to the strategic planning and roadmap for software development initiatives.
- Manage project timelines and deliverables, ensuring projects are completed on schedule and within budget.
- Drive continuous improvement in code quality, performance, and scalability.
- Participate in recruitment and onboarding of new team members.
- Foster a culture of innovation, learning, and continuous improvement within the engineering team.
- Ensure the security and reliability of developed software solutions.
- Present technical concepts and project progress to both technical and non-technical audiences.
Qualifications:
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
- Minimum of 8 years of progressive experience in software development, with at least 3 years in a lead or senior technical role.
- Strong proficiency in multiple programming languages such as Java, Python, C#, JavaScript, or Go.
- Extensive experience with various software architectures (e.g., microservices, monolithic, event-driven).
- Demonstrated experience with cloud platforms (AWS, Azure, GCP) and containerization technologies (Docker, Kubernetes).
- Strong understanding of database systems (SQL and NoSQL).
- Proficiency with modern front-end frameworks (e.g., React, Angular, Vue.js) is a plus.
- Excellent leadership, communication, and interpersonal skills.
- Proven ability to manage and motivate a technical team.
- Strong problem-solving abilities and a keen eye for detail.
- Experience with Agile/Scrum development methodologies.
- Ability to manage multiple priorities and projects simultaneously.
- Fluency in English is essential for this role.
- A portfolio of successful software projects is highly desirable.
Join our client's team in Sitra and lead the charge in building the next generation of innovative software.
Senior Software Development Engineer
Posted 16 days ago
Job Viewed
Job Description
Key Responsibilities:
- Design, develop, and implement robust, scalable, and secure software solutions using modern programming languages and frameworks (e.g., Python, Java, .NET, Node.js).
- Lead technical design discussions and provide architectural guidance for new features and system enhancements.
- Collaborate closely with product managers, QA engineers, and other stakeholders to understand requirements and translate them into technical specifications.
- Conduct code reviews, ensuring adherence to best practices, coding standards, and performance optimization.
- Troubleshoot and debug complex issues, providing timely and effective resolutions.
- Mentor and coach junior developers, fostering a culture of continuous learning and improvement.
- Contribute to the full software development lifecycle, from concept and design to testing, deployment, and support.
- Stay abreast of emerging technologies and industry trends, evaluating their potential impact and applicability to our client's products.
- Participate in agile ceremonies, including sprint planning, daily stand-ups, and retrospectives.
- Document technical designs, processes, and procedures thoroughly.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Minimum of 7 years of progressive experience in software development, with a strong portfolio of successful projects.
- Expertise in at least one major programming language (e.g., Java, Python, C#, JavaScript) and associated frameworks.
- Proficiency in database technologies (SQL and NoSQL).
- Experience with cloud platforms (AWS, Azure, GCP) and microservices architecture is highly desirable.
- Strong understanding of software design patterns, data structures, and algorithms.
- Excellent problem-solving, analytical, and communication skills.
- Ability to work independently and as part of a collaborative team in a fast-paced environment.
- Experience with DevOps practices and CI/CD pipelines is a plus.
Our client offers a competitive salary, comprehensive benefits package, and a stimulating work environment where innovation is encouraged. They are committed to fostering professional growth and providing opportunities for career advancement. If you are a passionate and dedicated Senior Software Development Engineer looking to make a significant impact, we encourage you to apply.
Junior Software Development Apprentice
Posted 16 days ago
Job Viewed
Job Description
Job Summary:
The Junior Software Development Apprentice will assist in the design, development, testing, and deployment of software applications. This role involves learning various programming languages, frameworks, and development methodologies. The apprentice will work on coding tasks, debug issues, write documentation, and participate in code reviews, all under the guidance of senior developers.
Key Responsibilities:
- Assist senior developers in writing clean, efficient, and well-documented code in languages such as Python, Java, JavaScript, or C#.
- Participate in code reviews, providing and receiving constructive feedback.
- Help in identifying, diagnosing, and resolving software bugs and issues.
- Contribute to the design and implementation of new features and functionalities.
- Write and maintain technical documentation, including design specifications and user manuals.
- Learn and apply software development best practices, including version control (e.g., Git), agile methodologies, and testing procedures.
- Collaborate with quality assurance (QA) teams to ensure software quality and performance.
- Attend team meetings, stand-ups, and contribute to project discussions.
- Research new technologies and tools to improve development processes.
- Support the deployment and maintenance of software applications.
- Participate in problem-solving and brainstorming sessions to overcome technical challenges.
- Continuously learn and expand knowledge in various software development areas.
Qualifications and Requirements:
- Currently enrolled in or recently graduated from a Bachelor's degree program in Computer Science, Software Engineering, or a related technical field.
- Basic understanding of at least one programming language (e.g., Python, Java, JavaScript, C++).
- Familiarity with fundamental computer science concepts (data structures, algorithms).
- Strong problem-solving skills and a logical approach to challenges.
- Eagerness to learn, proactive attitude, and ability to grasp new concepts quickly.
- Excellent attention to detail and ability to follow instructions precisely.
- Good written and verbal communication skills in English.
- Ability to work effectively both independently and as part of a collaborative team.
- Experience with version control systems (e.g., Git) is a plus.
- Personal projects or contributions to open-source initiatives are highly regarded.
- Strong analytical and debugging skills.
Benefits:
Our client offers a competitive monthly stipend, hands-on project experience, mentorship from senior engineers, exposure to cutting-edge technologies, and potential for full-time employment upon successful completion of the apprenticeship. Kickstart your software development career with a company that fosters innovation and growth.
Project Coordinator (Software Development)
Posted 16 days ago
Job Viewed
Job Description
Key Responsibilities:
- Assist Project Managers in planning, executing, and monitoring software development projects.
- Coordinate project activities, resources, equipment, and information, ensuring tasks are completed on schedule.
- Liaise with internal teams (developers, QA, designers) and external stakeholders to gather project requirements and updates.
- Maintain and update project documentation, including project plans, schedules, meeting minutes, and status reports.
- Track project progress, identify potential bottlenecks, and assist in resolving issues to keep projects on track.
- Schedule and facilitate project meetings, prepare agendas, and distribute relevant materials.
- Monitor project budgets, track expenses, and flag any deviations to the Project Manager.
- Manage project communication, ensuring all team members and stakeholders are informed of project status and changes.
- Assist in the preparation of project presentations and reports for senior management and clients.
- Support the Project Manager in risk assessment and mitigation activities.
- Onboard new project team members and ensure they have access to necessary tools and resources.
- Utilize project management tools (e.g., Jira, Asana, Trello) to track tasks and team progress.
- Contribute to process improvement initiatives within the project management office.
Qualifications:
- Bachelor's degree in Computer Science, Information Technology, Business Administration, or a related field.
- 1-2 years of experience in a project coordination, administrative support, or similar role, preferably within a technology or software development environment.
- Familiarity with software development life cycles (SDLC) and Agile methodologies is a strong plus.
- Proficiency in Microsoft Office Suite (Word, Excel, PowerPoint) and collaboration tools.
- Experience with project management software (e.g., Jira, Confluence) is highly desirable.
- Excellent organizational and time management skills with strong attention to detail.
- Exceptional verbal and written communication skills in English; Arabic is an asset.
- Strong problem-solving abilities and a proactive approach to task completion.
- Ability to work effectively both independently and as part of a team.
- Strong interpersonal skills and ability to build rapport with diverse teams.
- Ability to manage multiple priorities and work under pressure.
What Our Client Offers:
- Competitive salary and benefits package.
- Exposure to cutting-edge software development projects.
- Opportunities for professional growth and career advancement in project management.
- A supportive, innovative, and collaborative work environment.
- Mentorship from experienced Project Managers.
- Hybrid work flexibility.
If you are a highly organized individual with a passion for technology and a desire to contribute to successful project delivery, we invite you to apply for this exciting opportunity with our client.
Junior Software Development Apprentice
Posted 16 days ago
Job Viewed
Job Description
As a Junior Software Development Apprentice, you will embark on a comprehensive learning journey, working alongside experienced developers on live projects. Your responsibilities will include assisting in coding, debugging applications, writing and maintaining documentation, and participating in code reviews. You will receive mentorship, training, and exposure to various programming languages, development methodologies (e.g., Agile), and software development tools. This apprenticeship is designed to provide a solid foundation in software engineering principles, best practices, and collaborative development. The ideal candidate will possess a strong aptitude for logical thinking, a passion for technology, and a proactive attitude towards learning. No prior professional experience is required, but a genuine interest in coding and problem-solving is essential. This is a unique chance to jumpstart your tech career in a supportive and fast-paced environment, contributing to innovative software products.
Key Responsibilities:
- Assist senior developers in writing, testing, and debugging code for various software applications.
- Contribute to the development of new features and functionalities under supervision.
- Learn and apply best practices in software development, including clean code principles and version control (Git).
- Participate in code reviews, providing and receiving constructive feedback.
- Write and maintain technical documentation, including user manuals and API documentation.
- Troubleshoot and resolve software defects and issues.
- Collaborate effectively with team members in an Agile development environment.
- Actively participate in training sessions and mentorship programs to enhance coding skills.
- Research and explore new technologies and programming concepts.
- Contribute to daily stand-ups and project meetings.
Qualifications:
- Currently enrolled in or recently completed a Bachelor’s degree in Computer Science, Software Engineering, or a related field, or completion of a reputable coding bootcamp.
- Basic understanding of at least one programming language (e.g., Python, Java, JavaScript, C++).
- Strong logical thinking and problem-solving abilities.
- Genuine interest in software development and a desire to learn new technologies.
- Ability to follow instructions, ask questions, and take initiative.
- Good communication skills, both written and verbal.
- Familiarity with basic development tools like Git is a plus.
- A personal coding project or portfolio is highly regarded.
Our client offers a structured apprenticeship program, mentorship from industry experts, a competitive stipend, and the potential for full-time employment upon successful completion. If you are an aspiring software developer eager to learn and grow, we encourage you to apply for this exciting opportunity.
Software Developer
Posted 16 days ago
Job Viewed
Job Description
Key Responsibilities:
- Design, develop, test, deploy, and maintain high-quality software applications using modern programming languages and frameworks.
- Collaborate closely with product managers, UX/UI designers, and other engineers to understand requirements and translate them into technical specifications.
- Write clean, efficient, well-documented, and maintainable code following best practices and coding standards.
- Participate in code reviews to ensure code quality, share knowledge, and foster a collaborative development environment.
- Troubleshoot, debug, and resolve software defects and issues in a timely manner.
- Contribute to the continuous improvement of software development processes and tools.
- Research and evaluate new technologies to enhance existing systems and build innovative features.
- Work within Agile/Scrum methodologies, participating in daily stand-ups, sprint planning, and retrospectives.
- Develop and maintain unit, integration, and end-to-end tests to ensure application reliability and performance.
- Ensure the security and scalability of developed applications.
Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related technical field.
- Minimum of 3-5 years of professional experience in software development.
- Proficiency in at least one modern programming language such as Python, Java, C#, Node.js, or Go.
- Experience with front-end technologies (e.g., React, Angular, Vue.js) and/or back-end frameworks.
- Strong understanding of relational databases (e.g., PostgreSQL, MySQL) and/or NoSQL databases (e.g., MongoDB).
- Familiarity with cloud platforms (e.g., AWS, Azure, GCP) and containerization technologies (e.g., Docker, Kubernetes) is a plus.
- Experience with version control systems (e.g., Git).
- Solid understanding of software development lifecycle (SDLC) and Agile methodologies.
- Excellent problem-solving skills and attention to detail.
- Strong communication and teamwork abilities.
If you are a driven Software Developer eager to contribute to innovative projects and grow your skills in a dynamic environment, our client invites you to apply.
Software Developer
Posted 16 days ago
Job Viewed
Job Description
As a Software Developer, you will be involved in the full software development lifecycle, from conceptualization and design to testing and deployment. You will collaborate closely with product managers, UX/UI designers, and other engineers to deliver high-quality, scalable, and robust applications. Our client fosters a culture of innovation, continuous learning, and teamwork. If you are a problem-solver who enjoys tackling complex challenges and building elegant solutions, we encourage you to apply.
Key Responsibilities:
- Software Design & Development: Design, develop, and maintain high-quality, efficient, and reliable code using best practices. Contribute to the architecture and technical design of new features and applications.
- Code Review & Testing: Participate in code reviews to ensure code quality, maintainability, and adherence to coding standards. Write and execute unit, integration, and system tests to ensure software reliability.
- Troubleshooting & Debugging: Identify and resolve software defects, bugs, and performance issues. Provide technical support for existing applications as needed.
- Collaboration: Work effectively within an Agile/Scrum team, participating in daily stand-ups, sprint planning, and retrospectives. Collaborate with cross-functional teams to gather requirements and deliver solutions that meet business needs.
- Documentation: Create and maintain technical documentation, including design specifications, API documentation, and user manuals.
- Continuous Improvement: Stay updated with emerging technologies, programming languages, and industry trends. Proactively suggest improvements to existing systems and development processes.
- Scalability & Performance: Ensure developed software is scalable, performant, and secure. Optimize applications for maximum speed and efficiency.
- Version Control: Utilize version control systems (e.g., Git) effectively for collaborative development and code management.
Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related technical field.
- 3-5 years of professional experience in software development, with proficiency in at least one modern programming language such as Python, Java, C#, JavaScript (Node.js/React), or Go.
- Solid understanding of data structures, algorithms, object-oriented programming, and design patterns.
- Experience with relational databases (e.g., SQL Server, PostgreSQL, MySQL) and/or NoSQL databases (e.g., MongoDB, Redis).
- Familiarity with web frameworks (e.g., Django, Spring Boot, ASP.NET Core, React, Angular, Vue.js).
- Experience with cloud platforms (e.g., AWS, Azure, GCP) and containerization technologies (e.g., Docker, Kubernetes) is a plus.
- Strong problem-solving skills and a meticulous attention to detail.
- Excellent communication and teamwork abilities.
- Ability to adapt to new technologies and learn quickly.
Our client offers a competitive compensation package, flexible hybrid work options, and a commitment to employee growth through training and challenging projects. Join a team where innovation is at the core of everything we do!
Be The First To Know
About the latest Software development Jobs in Bahrain !
Software Developer
Posted 16 days ago
Job Viewed
Job Description
Key Responsibilities:
- Design, code, test, and debug robust software applications according to detailed specifications and evolving business requirements.
- Collaborate effectively with product managers, UX/UI designers, and other developers to understand user needs and translate them into efficient technical solutions.
- Write clean, well-documented, efficient, and maintainable code in relevant programming languages (e.g., Python, Java, C#, JavaScript/TypeScript, Go).
- Participate actively in code reviews, providing constructive feedback to peers and ensuring adherence to coding standards and best practices.
- Develop and maintain comprehensive unit tests, integration tests, and system tests to ensure software reliability, performance, and correctness.
- Troubleshoot and resolve complex software defects, bugs, and issues in a timely and effective manner.
- Contribute to the entire software development lifecycle, from initial concept and detailed design to deployment, monitoring, and ongoing maintenance.
- Stay consistently updated with emerging technologies, programming languages, software development methodologies, and industry best practices.
- Optimize application performance, scalability, security, and responsiveness for various user loads and environments.
- Document software designs, technical specifications, API contracts, and internal processes clearly and thoroughly.
- Work proficiently with version control systems (e.g., Git, GitLab, GitHub) and agile development methodologies (Scrum, Kanban).
- Assist in the deployment and release management of software applications to production and staging environments.
- Provide technical support and guidance to end-users or clients when required, resolving technical queries.
- Identify and implement opportunities for automation and process improvement within the development pipeline.
- Participate actively in daily stand-ups, sprint planning meetings, and sprint retrospectives.
- Ensure compliance with coding standards, security policies, and data privacy regulations.
- Research and evaluate new tools, frameworks, and technologies for potential adoption and integration.
- Contribute to building and maintaining a positive, collaborative, and high-performing team culture.
- Develop and maintain APIs (RESTful, GraphQL) and integrations with other internal and external systems.
- Help estimate efforts for development tasks, provide realistic timelines, and contribute to project planning.
Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a closely related technical field.
- Minimum of 2-4 years of professional experience in full-stack, front-end, or back-end software development.
- Strong proficiency in at least one modern programming language (e.g., Python, Java, C#, JavaScript/TypeScript, Go).
- Experience with relevant web development frameworks (e.g., React, Angular, Vue.js for frontend; Node.js, Spring Boot, ASP.NET Core for backend) or mobile development (iOS/Android) is a strong plus.
- Solid understanding of data structures, algorithms, object-oriented programming (OOP), and design patterns.
- Experience with relational databases (e.g., SQL Server, PostgreSQL, MySQL) and/or NoSQL databases (e.g., MongoDB, Redis).
- Familiarity with cloud platforms (AWS, Azure, GCP) and containerization technologies (Docker, Kubernetes) is an advantage.
- Proficiency with version control systems (Git) and agile development methodologies (Scrum, Kanban).
- Excellent problem-solving and debugging skills, with a methodical approach to complex issues.
- Strong written and verbal communication skills in English, able to articulate technical concepts clearly.
- Ability to work effectively both independently and as part of a collaborative team in a hybrid setup.
- Proactive, detail-oriented, and passionate about building high-quality software solutions.
- A portfolio of personal projects, open-source contributions, or code samples is a plus.
- Understanding of software testing principles, test-driven development (TDD), and continuous integration/continuous deployment (CI/CD) pipelines.
Software Developer
Posted 16 days ago
Job Viewed
Job Description
Our client is a leading-edge technology company located in Muharraq, Muharraq, BH , specializing in developing innovative software solutions for diverse industries, including fintech, logistics, and e-commerce. They are renowned for their agile development methodologies, commitment to quality code, and user-centric design approach. With a portfolio of impactful products and a focus on continuous innovation, they are dedicated to transforming digital experiences. They foster a collaborative and dynamic work environment, valuing professional growth and employee well-being. This is an exciting opportunity to join a forward-thinking organization that makes a real impact in its sector.
Job Summary:
Our client is seeking a highly skilled and passionate Software Developer to join their growing engineering team. This role is crucial for designing, developing, and maintaining high-quality software applications that meet client requirements and industry standards. The successful candidate will be responsible for writing clean and efficient code, conducting rigorous testing, troubleshooting issues, and contributing to the entire software development lifecycle. You will work within a supportive team, contributing to the creation of groundbreaking software products. This position offers a unique chance to apply your coding expertise, develop specialized skills in various programming languages and frameworks, and advance your career within a reputable firm. Ideal candidates will possess a strong foundational knowledge in software engineering principles and a proactive approach to problem-solving and continuous learning. This role demands attention to detail and a commitment to achieving outstanding results.
Key Responsibilities:
- Designing, developing, and maintaining scalable and robust software applications.
- Writing clean, well-documented, and efficient code in relevant programming languages (e.g., Python, Java, C#, JavaScript).
- Performing rigorous testing (unit, integration, system) and debugging to ensure software quality.
- Collaborating with product managers, UX/UI designers, and other developers to define requirements and deliver solutions.
- Participating in code reviews and contributing to team discussions on architecture and best practices.
- Troubleshooting and resolving software defects and performance issues.
- Integrating third-party APIs and libraries as required.
- Staying updated with emerging technologies and industry trends.
- Contributing to the continuous improvement of development processes and tools.
- Documenting technical specifications and application functionalities.
Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Minimum of 2-4 years of experience in software development.
- Proficiency in at least one modern programming language (e.g., Python, Java, C#, Node.js, React).
- Experience with database systems (SQL/NoSQL) and version control (Git).
- Strong problem-solving skills and an understanding of data structures and algorithms.
Benefits:
Our client offers a competitive salary and comprehensive benefits package, including health insurance, paid leave, and ample opportunities for professional development, including access to online courses and tech conferences. They believe in investing in their employees' futures and providing a stimulating environment where talent can thrive. Opportunities for career progression and continuous learning are a core part of their organizational culture.
How to Apply:
Interested candidates are invited to submit their detailed CV, a link to their GitHub profile or portfolio (if available), and a cover letter outlining their suitability for this role to our recruitment team. Please ensure your application highlights your relevant experience and qualifications against the requirements listed above. Only shortlisted candidates will be contacted for an interview. We thank all applicants for their interest in this position.
Software Developer
Posted today
Job Viewed
Job Description
- Bachelor Degree/ Masters in Computer Applications or related courses
- At least 2-3+ years of experience in coding using.Net languages (C#)
- Expertise in.NET technologies using **C#, ASP.NET Web Forms, ASP.NET MVC, ADO.NET ** in Visual Studio.NET environment
- Expertise in **MS SQL Server Database**:
- Experience with building **Web Services, WCF Services, Web APIs using REST**:
- Strong browser development skills in **HTML 5, CSS 3, JavaScript, AJAX, JQuery, JSON & Bootstrap 5**:
- Strong skill to develop the Responsive Sites
- Added advantage for having skills in **Android, IOS & React Native**
**Responsibility**
- To be part of Design, Development, Coding, Testing and implementation team
- Should be able to develop and code independently
- Should be able to handle multiple task within the department
- Work confidently with clients and maintain the company confidentiality
- Maintain the company reputation
**Reference**
**Job Types**: Full-time, Permanent