97 Software Architecture jobs in Bahrain
Senior Software Developer – Architecture Designing
Posted 1 day ago
Job Viewed
Job Description
MAIN DUTIES:
- Design, build, debug, optimize and deploy the various tiers of the money-services-business applications developed by the company.
- Develop high-quality, efficient, and fast code.
- Work with and support System Architects with the design of the overall architecture of the core business application and other specific products/applications, and apply principles that promote the availability, reusability, interoperability, and security into the design framework.
- Perform development, debugging, optimization, and automation activities to support product implementation and deployments.
- Adopt engineering best practices to deliver higher quality and scalable solutions.
- Develop and document standards and best practices, and mentor other Software Developers working on a specific application tier.
- Identify deficiencies within the application’s codebase and identify opportunities to improve overall code quality.
- Demonstrate a strong understanding of emerging technologies to support the development of new solutions.
- Establish Continuous Integration (CI) and Continuous Delivery (CD) pipelines.
- Collaborate with departments (e.g., Business Solutions, Quality Assurance, Business units, and Infrastructure) to define project specifications and release documentation for all phases of the development cycle from product definition to design, through implementation.
- Conduct peer code reviews for the software changes made by other engineers on the team.
- Understand the full technology stack and underlying applications, services, and databases to ensure optimal performance.
- Monitor changes of relevant vendor-provided software, such as the .Net framework, and ensure that relevant updates and upgrades are adopted in a timely and well-planned manner into the company’s stack.
- Support the team by providing directions to the developers; designing solutions and ensuring the solutions are approved by the Architecture Review Board.
EDUCATION & TRAINING:
- A Bachelor’s degree in Computer Science, Computer Engineering, or a related field.
EXPERIENCE:
- Minimum 10 years of total software engineering experience predominantly in Microsoft Dot Net technology stack, Angular 5+, HTML, and CSS.
- Minimum 7 years’ experience with ASP.net (C#), HTMLS, JavaScript, JQuery, CSS/SASS/LESS concepts and design patterns.
- Proficiency with the .NET Core framework version 3.0 and higher.
- Experience with containerization & deploying code on the cloud, preferably AWS cloud’s EKS.
- Must have a working knowledge of Web Services, SOAP, and XML technologies.
- Experience with building Web APls using REST.
- Experience programming in major databases such as Microsoft SQL, PostgreSQL, and any NoSQL databases.
- Experience programming in middleware technologies, ESB, and Message Queue.
- Experience working with Microservices technologies and Microsoft Service Fabric.
- Proficient working knowledge of code versioning tools such as Git.
- Strong knowledge of object-oriented concepts.
- Must have strong communication skills, both oral and written.
- Strong ability to collaborate with other technical experts, develop solutions and functional design documents to support the development of final solutions, and provide project estimates and lead technical teams to consistently meet commitments.
- Must have high integrity, accountability, a positive attitude, and be willing to do what it takes to make the team successful.
- Must have proven ability to manage priorities and timelines.
- Must have proven ability to provide project estimates and work-breakdown schedules.
- Must be responsive and able to work under pressure with a strong sense of urgency.
- Responsible, conscientious, organized, self-motivated, and able to work with limited supervision.
- Must be detail-oriented and possess strong problem-solving skills and abilities to analyze potential future issues.
- 24/7 on-call responsibilities for production-related issues.
Senior Software Engineer - Cloud Architecture
Posted today
Job Viewed
Job Description
Responsibilities:
- Design, develop, and deploy scalable cloud-native applications and microservices.
- Architect and implement robust cloud infrastructure on platforms like AWS, Azure, or GCP.
- Develop and maintain CI/CD pipelines for automated testing and deployment.
- Write high-quality, maintainable, and efficient code in relevant programming languages.
- Collaborate with product managers and other engineers to define software requirements.
- Optimize application performance, scalability, and reliability.
- Implement security best practices for cloud environments and applications.
- Mentor junior software engineers and conduct code reviews.
- Troubleshoot and resolve complex technical issues.
- Stay current with emerging cloud technologies and industry trends.
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Minimum of 7 years of experience in software development.
- Minimum of 3 years of experience with cloud platforms (AWS, Azure, GCP).
- Strong proficiency in one or more programming languages (Java, Python, Go, C#, Node.js).
- Experience with microservices architecture, RESTful APIs, and distributed systems.
- Hands-on experience with containerization (Docker, Kubernetes).
- Knowledge of CI/CD tools and practices (Jenkins, GitLab CI, GitHub Actions).
- Familiarity with infrastructure-as-code (Terraform, CloudFormation).
- Experience with relational databases (e.g., PostgreSQL, MySQL) and NoSQL databases (e.g., MongoDB, Cassandra).
- Excellent problem-solving, analytical, and communication skills.
Senior Software Engineer (Cloud Architecture)
Posted today
Job Viewed
Job Description
Key Responsibilities:
- Design, develop, and manage scalable and secure cloud infrastructure and services.
- Architect cloud-native solutions using AWS, Azure, or GCP.
- Implement and maintain CI/CD pipelines for automated deployment.
- Develop and deploy microservices-based applications.
- Ensure the security, reliability, and performance of cloud environments.
- Optimize cloud resource utilization and manage costs effectively.
- Collaborate with development teams to integrate cloud solutions into applications.
- Provide technical leadership and mentorship to junior engineers.
- Stay current with emerging cloud technologies and best practices.
- Implement infrastructure as code using tools like Terraform or CloudFormation.
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
- Minimum of 5-7 years of experience in software engineering, with a focus on cloud architecture.
- Proven experience designing and implementing solutions on AWS, Azure, or GCP.
- Strong proficiency in at least one programming language (e.g., Python, Java, Go).
- Expertise in containerization technologies like Docker and Kubernetes.
- Solid understanding of microservices architecture, networking, and databases.
- Experience with CI/CD tools and practices.
- Excellent problem-solving, analytical, and communication skills.
- Experience with infrastructure as code tools (e.g., Terraform, Ansible).
- Ability to work independently and as part of a remote team.
Software Development Intern
Posted today
Job Viewed
Job Description
As a Software Development Intern, you will work alongside experienced developers, learning about the software development lifecycle, participating in coding, testing, and debugging activities, and gaining exposure to modern development methodologies. You will have the chance to apply your academic knowledge to practical challenges and contribute to the creation of high-quality software products. This internship is designed to provide a comprehensive learning experience and potential career pathways.
Key Responsibilities:
- Assist in the design, development, and implementation of software applications.
- Write clean, efficient, and well-documented code in relevant programming languages.
- Participate in code reviews and contribute to improving code quality.
- Collaborate with senior developers and cross-functional teams to understand project requirements.
- Test software components and systems to identify and resolve bugs.
- Assist in the development of user interfaces and user experience elements.
- Learn and apply principles of software architecture and design.
- Contribute to the creation of technical documentation and user guides.
- Support the deployment and maintenance of software applications.
- Research and evaluate new technologies and tools to improve development processes.
- Participate in agile development ceremonies, such as daily stand-ups and sprint planning.
- Troubleshoot and debug issues reported by QA or end-users.
- Work on assigned tasks within project timelines.
- Develop a foundational understanding of database management and querying.
- Engage in continuous learning to enhance programming skills and knowledge.
Qualifications:
- Currently pursuing or recently completed a Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Foundational knowledge of programming languages such as Java, Python, C++, or JavaScript.
- Understanding of data structures, algorithms, and object-oriented programming concepts.
- Familiarity with version control systems, such as Git.
- Basic knowledge of software development methodologies (e.g., Agile, Scrum).
- Strong analytical and problem-solving skills.
- Excellent communication and teamwork abilities.
- Eagerness to learn and a proactive approach to tackling challenges.
- Ability to work independently and manage time effectively.
- Passion for technology and software development.
- Experience with web development frameworks (e.g., React, Angular, Node.js) is a plus.
- Knowledge of cloud platforms (AWS, Azure, GCP) is beneficial.
- Strong attention to detail and commitment to producing quality work.
- Enthusiasm for collaborating with experienced professionals.
This internship provides a valuable opportunity to build your professional network and gain hands-on experience in a fast-growing industry.
Software Development Apprentice
Posted today
Job Viewed
Job Description
Responsibilities:
- Assist experienced developers in coding and debugging software applications.
- Learn and apply programming languages and development tools.
- Participate in the testing and quality assurance of software.
- Contribute to the creation of technical documentation.
- Collaborate with team members in an agile development environment.
- Learn about software development lifecycle and best practices.
- Shadow senior developers and gain practical experience.
- Support the maintenance and enhancement of existing software.
- Participate in team meetings and training sessions.
- Develop foundational skills in software design and architecture.
- High school diploma or equivalent.
- Strong interest and passion for software development and technology.
- Good problem-solving and logical thinking skills.
- Basic understanding of computer science concepts is a plus.
- Willingness to learn and adapt to new technologies.
- Good communication and interpersonal skills.
- Ability to work effectively in a team environment.
- Motivation to complete an apprenticeship program and pursue a career in software development.
- Previous exposure to coding (personal projects, online courses) is beneficial.
Senior Software Development Lead
Posted today
Job Viewed
Job Description
Key Responsibilities:
- Lead, mentor, and manage a team of software engineers, fostering a collaborative and productive work environment.
- Architect and design scalable, maintainable, and high-performance software solutions.
- Oversee the entire software development lifecycle, from requirements gathering and design to implementation, testing, deployment, and maintenance.
- Drive best practices in coding, testing, and deployment (CI/CD).
- Collaborate with product managers, designers, and other stakeholders to define project scope, technical requirements, and roadmaps.
- Conduct code reviews, provide constructive feedback, and ensure adherence to coding standards.
- Identify and address technical debt, performance bottlenecks, and security vulnerabilities.
- Evaluate and adopt new technologies, tools, and methodologies to improve development processes and product quality.
- Manage project timelines, resource allocation, and stakeholder communication.
- Champion a culture of continuous improvement and innovation within the engineering team.
- Participate in technical interviews and contribute to the hiring process.
Required Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related technical field. Master's degree is a plus.
- Minimum of 8 years of experience in software development, with at least 3 years in a lead or senior technical role.
- Proven experience in designing and developing complex software systems using modern programming languages (e.g., Java, Python, C#, Node.js).
- Strong understanding of software architecture patterns (e.g., Microservices, MVC, SOA).
- Expertise in database design and management (SQL and NoSQL).
- Experience with cloud platforms (AWS, Azure, GCP) and containerization technologies (Docker, Kubernetes).
- Proficiency in agile development methodologies (Scrum, Kanban).
- Excellent leadership, communication, and interpersonal skills.
- Strong problem-solving and analytical abilities.
- Experience with CI/CD pipelines and tools.
This is a key leadership opportunity to significantly impact the company's technological direction.
Lead Software Development Engineer
Posted today
Job Viewed
Job Description
Key responsibilities include designing and architecting scalable and robust software systems, leading a team of software engineers through the entire software development lifecycle (SDLC), and ensuring adherence to coding standards, best practices, and quality assurance processes. You will be responsible for code reviews, mentoring junior developers, and collaborating with product managers and other stakeholders to define software requirements and roadmaps. The Lead Software Development Engineer will also play a crucial role in evaluating and implementing new technologies and methodologies to improve development efficiency and product quality. Strong communication and interpersonal skills are essential for effective team collaboration and stakeholder management.
Requirements include a Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field. A minimum of 8-10 years of experience in software development, with at least 3-5 years in a lead or senior engineering role, is mandatory. Proficiency in multiple programming languages (e.g., Java, Python, C++, JavaScript) and experience with modern software development frameworks and tools are essential. Demonstrable experience with cloud platforms (AWS, Azure, GCP), databases (SQL, NoSQL), and CI/CD pipelines is highly desirable. Strong understanding of software architecture patterns, agile methodologies, and DevOps principles is required. Excellent problem-solving abilities, a passion for technology, and the ability to mentor and guide a team effectively are critical for success in this role. Experience with microservices architecture and containerization technologies (Docker, Kubernetes) is a significant advantage.
Key Responsibilities:
- Design and architect scalable software solutions.
- Lead software development teams through the SDLC.
- Write high-quality, maintainable code.
- Conduct code reviews and mentor junior engineers.
- Collaborate with product managers and stakeholders.
- Implement CI/CD pipelines and DevOps practices.
- Evaluate and adopt new technologies.
- Ensure software quality and performance.
Be The First To Know
About the latest Software architecture Jobs in Bahrain !
Senior Software Development Lead
Posted today
Job Viewed
Job Description
- Leading and mentoring a team of software engineers throughout the development lifecycle
- Designing and implementing robust, scalable, and maintainable software architectures
- Writing high-quality, efficient, and well-documented code
- Collaborating with product managers and stakeholders to define project requirements and technical specifications
- Conducting code reviews and ensuring adherence to coding standards and best practices
- Troubleshooting and debugging complex software issues
- Driving the adoption of new technologies and development methodologies
- Managing project timelines, resources, and deliverables
- Facilitating technical discussions and ensuring effective knowledge sharing within the team
- Contributing to the continuous improvement of development processes and tools
- Ensuring the security and performance of software applications
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field
- Minimum of 7-10 years of experience in software development, with at least 2-3 years in a lead or supervisory role
- Proven experience in designing and developing complex software systems
- Expertise in one or more programming languages (e.g., Java, Python, C#, JavaScript)
- Strong understanding of software architecture patterns (e.g., microservices, MVC) and design principles
- Experience with cloud platforms (AWS, Azure, GCP) is highly desirable
- Knowledge of database technologies (SQL, NoSQL)
- Familiarity with Agile development methodologies (Scrum, Kanban)
- Excellent problem-solving, analytical, and communication skills
- Ability to mentor and motivate engineering teams
- Experience with CI/CD pipelines and DevOps practices is a plus
Senior Software Development Engineer
Posted today
Job Viewed
Job Description
Key Responsibilities:
- Design, develop, test, and deploy complex software applications and systems.
- Collaborate with cross-functional teams, including product managers and designers, to define software requirements and features.
- Write clean, efficient, and maintainable code in languages such as Java, Python, C++, or JavaScript.
- Participate in code reviews to ensure code quality, adherence to standards, and identify potential issues.
- Develop and maintain API integrations and microservices architecture.
- Troubleshoot and debug software defects, and provide timely resolutions.
- Contribute to the architectural design and technical decision-making process.
- Mentor junior engineers and share technical expertise.
- Stay up-to-date with emerging technologies and industry trends.
- Ensure the scalability, security, and performance of software solutions.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related technical field.
- Minimum of 7 years of professional software development experience.
- Proficiency in at least two object-oriented programming languages (e.g., Java, Python, C#).
- Experience with web development frameworks (e.g., React, Angular, Vue.js) and backend technologies (e.g., Node.js, Spring Boot).
- Solid understanding of database technologies (e.g., SQL, NoSQL) and data modeling.
- Experience with cloud platforms (e.g., AWS, Azure, GCP) and containerization technologies (e.g., Docker, Kubernetes).
- Strong knowledge of software development methodologies (e.g., Agile, Scrum).
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication and teamwork abilities.
- Proven ability to work independently and manage projects effectively.
This is a challenging and rewarding role for a talented engineer looking to make a significant impact in the tech industry.
Advanced Apprentice - Software Development
Posted today
Job Viewed
Job Description
You will receive structured training, mentorship, and support throughout the apprenticeship, covering essential programming languages, software development methodologies, and best practices. The curriculum is designed to build a strong foundation in computer science principles and practical coding skills. Key responsibilities will include assisting in coding, debugging software issues, participating in team meetings, and documenting project progress. You will gain exposure to various development tools and environments, learning to adapt to new technologies quickly.
This apprenticeship offers a unique opportunity to develop a deep understanding of the software development lifecycle, from concept to delivery. Successful completion of the program can lead to full-time employment opportunities within our client's organization. We are looking for motivated, passionate individuals with a keen interest in technology, strong problem-solving skills, and a willingness to learn. No prior professional experience is required, but a demonstrable passion for coding through personal projects or academic achievements is a plus. Join us and kick-start your career in software development with a globally recognized company.