9 Web Services jobs in Bahrain
Senior Backend Software Engineer - Cloud Services
Posted today
Job Viewed
Job Description
Key Responsibilities:
- Design, develop, and maintain scalable, high-performance backend services and APIs.
- Build and manage microservices architecture ensuring reliability and efficiency.
- Implement and optimize database solutions (SQL and NoSQL).
- Develop and maintain efficient, reusable, and reliable code.
- Write comprehensive unit, integration, and end-to-end tests.
- Collaborate with frontend developers and product managers to define and implement new features.
- Deploy and manage applications on cloud platforms (AWS, Azure, GCP).
- Participate in code reviews to ensure code quality and adherence to best practices.
- Troubleshoot and debug complex technical issues.
- Optimize applications for maximum speed and scalability.
- Contribute to architectural decisions and technical roadmap planning.
- Stay up-to-date with emerging technologies and industry trends.
- Mentor junior engineers and promote knowledge sharing within the team.
- Ensure security best practices are implemented in all aspects of development.
- Document technical designs and solutions clearly and thoroughly.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
- 5+ years of professional experience in backend software development.
- Proven experience with cloud platforms such as AWS, Azure, or Google Cloud.
- Strong proficiency in at least one backend programming language (e.g., Python, Java, Node.js, Go).
- Experience with database technologies (e.g., PostgreSQL, MySQL, MongoDB, Redis).
- Solid understanding of RESTful APIs and microservices architecture.
- Familiarity with containerization technologies like Docker and Kubernetes.
- Experience with CI/CD pipelines and tools.
- Strong problem-solving and analytical skills.
- Excellent communication and teamwork abilities.
- Experience with agile development methodologies.
This is an exciting opportunity to shape the future of cloud technology and make a significant impact on our client's offerings.
Cloud Professional Services Manager
Posted 7 days ago
Job Viewed
Job Description
This is an opportunity to run a Professional Services team (also known as Field Engineering) team, helping customers understand and implement Canonical's open source solutions in public clouds and in their own data centers. We work across the entire spectrum of cloud offerings, from Ubuntu itself to virtualisation and private cloud, Kubernetes, and the implementation of sophisticated open source solutions such as MLops platforms, data platforms and more. We are rapidly expanding the range of open source solutions we offer and deliver to customers, as we move into new industries like telco, finance, health care and media we design and develop new open source solutions to meet their needs.
We believe that Engineering Managers should be outstanding engineers themselves. They should feel completely at home troubleshooting technical issues and having technical presales conversations with customers. They should contribute to project delivery themselves, but know that the technical contributions they bring are far less significant than their ability to shape the whole team's direction, focus and delivery. We grow management skills and train engineers, who are interested in soft skills, to be managers.
We believe that open source is just starting to transform the tech sector and enterprise compute. Our goal is to make open source easier, more reliable and more secure for deployment and development. We strive to be the provider of 'most software to most companies'. To deliver on that ambition, our engineers are carefully selected from the applicants across the globe. We select for brilliance and motivation to take open source to the next level. Our engineering managers help teams achieve more than they realised they could, and feel proud of the result.
The role of a Cloud Professional Services Manager at Canonical
The Field Engineering team is our team of cloud solutions architects at Canonical, working directly with our customers, designing private and public cloud solutions fitting their workload needs. The portfolio of products includes on-premise cloud solutions such as Openstack, MicroCloud and Ceph, and solutions that could be deployed either on-premises or in public clouds such as Kubernetes, Kubeflow, Spark, PostgreSQL, etc. The team works hands-on with the technologies by deploying, testing and handing over the solution to our support or managed services team at the end of a project. Managers and team members also take part in presales conversations to provide technical advice during the sales process.
A Cloud Professional Services Manager is responsible for line management and career guidance. The ability to develop engineering talent, to represent your team from a technical perspective, and to drive collaboration with other teams and customers are all critical to success in this role. You are also expected to actively participate in technical presales to help our department achieve our quarterly goals.
Location: This role will be home based, managing a team in your time zone.
What your day will look like
- Lead and develop a team of engineers, ranging from graduate to senior
- Work remotely in a single major time zone
- Coach, mentor, and offer career development feedback
- Identify and measure team health indicators
- Implement disciplined engineering processes
- Represent your team and product to stakeholders, partners, and customers
- Develop and evangelise great engineering and organisational practices
- Plan and manage progress on agreed goals and projects
- Be an active part of the leadership team, collaborating with other leaders
- Knowledge of cloud computing concepts & technologies, such as Kubernetes, Openstack, AWS, GCP, Azure, Ceph, etc.
- Practical knowledge of Linux and networking
- Experience in technical presales
- You are a dynamic person who loves to jump in new projects and interact with people
- Excellent verbal and written communication skills in English
- Passion and a track record of developing and growing people
- Experience in leading, coaching and mentoring engineers
- Organised and able to ensure your team delivers timely, high quality results
- An exceptional academic track record from high school and, preferably, university as well
- Willingness to travel up to 40% of the time. Field Engineers attend internal company events, external tech events and customer meetings.
- Second language - Spanish or French preferred
- Python knowledge
- Experience collaborating with external partners
- Experience collaborating with several internal teams and providing stakeholder feedback for engineering roadmaps
We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.
- Distributed work environment with twice-yearly team sprints in person
- Personal learning and development budget of USD 2,000 per year
- Annual compensation review
- Recognition rewards
- Annual holiday leave
- Maternity and paternity leave
- Employee Assistance Programme
- Opportunity to travel to new locations to meet colleagues from your team and others
- Priority Pass for travel and travel upgrades for long haul company events
Canonical is a pioneering tech firm that is at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud, we are changing the world on a daily basis. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence - in order to succeed, we need to be the best at what we do.
Canonical has been a remote-first company since its inception in 2004. Work at Canonical is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game. Canonical provides a unique window into the world of 21st-century digital business.
Canonical is an equal opportunity employer
We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, we will give your application fair consideration.
#J-18808-Ljbffr
Junior Software Development Apprentice
Posted today
Job Viewed
Job Description
Key responsibilities include:
- Assisting senior developers in writing, testing, and debugging code for various software applications.
- Learning and applying programming languages such as Java, Python, C++, or JavaScript under guidance.
- Participating in code reviews to understand best practices and improve code quality.
- Contributing to the development of new features and the maintenance of existing software systems.
- Learning to use development tools and platforms, including IDEs, version control systems (e.g., Git), and project management software.
- Collaborating with team members on software design and architecture discussions.
- Documenting code and software processes to ensure clarity and maintainability.
- Troubleshooting and resolving software defects and issues identified during testing or by users.
- Participating in daily stand-up meetings and sprint planning sessions to stay aligned with project goals.
- Gaining exposure to agile development methodologies and best practices.
- Researching and evaluating new technologies and tools to improve development processes.
- Assisting with the preparation of technical documentation and user guides.
- Shadowing experienced developers to gain insights into different aspects of software engineering.
- Contributing to team problem-solving and innovation efforts.
- Actively seeking feedback and opportunities for continuous learning and skill development.
The ideal candidate will have a strong academic background, preferably with a diploma or Bachelor's degree in Computer Science, Information Technology, or a related field. However, individuals with demonstrable passion and self-taught coding skills will also be considered. Basic understanding of programming concepts and logical thinking is required. Eagerness to learn new technologies and adapt to evolving project requirements. Good problem-solving skills and attention to detail. Ability to work effectively in a team environment and communicate clearly. Enthusiasm for technology and software development. A proactive attitude and a willingness to take on new challenges. Previous personal coding projects or contributions to open-source projects are a significant advantage. While formal experience is not mandatory, a genuine interest and foundational knowledge in programming languages are beneficial. This apprenticeship provides a structured learning path and practical experience to build a successful career in the tech industry.
Junior Software Development Apprentice
Posted today
Job Viewed
Job Description
Key Responsibilities:
- Assist in the design, development, and testing of software applications.
- Write clean, efficient, and well-documented code under supervision.
- Debug and resolve software defects and issues.
- Contribute to the development of unit tests and integration tests.
- Participate in code reviews to ensure code quality and adherence to standards.
- Learn and apply agile development methodologies.
- Collaborate with team members to understand project requirements.
- High School Diploma or equivalent.
- Basic understanding of programming concepts and logic.
- Familiarity with at least one programming language (e.g., Python, Java, JavaScript) is a plus.
- Strong analytical and problem-solving abilities.
- Excellent communication and teamwork skills.
- Eagerness to learn and adapt to new technologies.
- Attention to detail and a commitment to delivering quality work.
Senior Software Development Engineer
Posted today
Job Viewed
Job Description
Key responsibilities include:
- Designing, developing, and maintaining high-quality, scalable, and performant software applications.
- Writing clean, efficient, and well-documented code in accordance with coding standards.
- Collaborating with cross-functional teams, including product management, design, and QA, to define software requirements and features.
- Participating in the entire software development lifecycle, from requirements gathering to deployment and maintenance.
- Conducting code reviews to ensure code quality, consistency, and adherence to best practices.
- Troubleshooting, debugging, and resolving software defects and issues.
- Developing and implementing unit tests, integration tests, and end-to-end tests.
- Designing and implementing robust APIs and system architectures.
- Mentoring and guiding junior software engineers, providing technical leadership and support.
- Staying up-to-date with emerging technologies and industry trends, and evaluating their applicability.
- Contributing to technical design discussions and architectural decisions.
- Ensuring the security and performance of applications.
- Optimizing application performance and scalability.
- Working within an Agile/Scrum development environment.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related technical field.
- A minimum of 6 years of professional experience in software development.
- Proficiency in one or more modern programming languages such as Java, Python, C#, or JavaScript.
- Extensive experience with software architecture patterns and design principles.
- Strong understanding of relational databases (e.g., SQL, PostgreSQL) and/or NoSQL databases.
- Experience with cloud platforms (e.g., AWS, Azure, GCP) is highly desirable.
- Familiarity with front-end frameworks (e.g., React, Angular, Vue.js) is a plus.
- Proven experience with Agile development methodologies.
- Excellent problem-solving, analytical, and critical thinking skills.
- Strong communication and collaboration abilities.
- Experience with version control systems like Git.
- Demonstrated ability to lead technical initiatives and mentor team members.
Senior Software Development Engineer
Posted today
Job Viewed
Job Description
Key responsibilities include architecting complex software systems, developing APIs, and ensuring the performance, quality, and responsiveness of applications. You will mentor junior developers, conduct code reviews, and promote best practices in software engineering. Identifying and resolving technical issues, debugging code, and implementing solutions are integral parts of this role. Contributing to the continuous improvement of our client's development processes and methodologies will be highly valued. Staying current with emerging technologies and proposing innovative solutions to technical challenges is expected.
The ideal candidate possesses strong problem-solving skills, a deep understanding of software architecture patterns, and expertise in multiple programming languages and frameworks. Excellent analytical and debugging capabilities are essential. Strong collaboration and communication skills are necessary for working effectively within a team environment. A passion for writing clean, maintainable, and efficient code, along with a commitment to delivering high-quality software, is a must. Proven ability to lead projects and mentor team members is also highly desirable.
Qualifications include a Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field. A minimum of 7-10 years of professional software development experience is required. Proficiency in languages such as Java, Python, C++, or similar is essential. Experience with cloud platforms like AWS or Azure, containerization technologies (Docker, Kubernetes), and database systems (SQL, NoSQL) is highly advantageous. Experience with Agile development methodologies is a must.
Senior Software Development Lead
Posted today
Job Viewed
Job Description
- Lead and mentor software development teams.
- Architect, design, and develop scalable and robust software applications.
- Oversee the full software development lifecycle (SDLC).
- Define and enforce coding standards, best practices, and architectural patterns.
- Collaborate with product managers and stakeholders to define technical roadmaps.
- Conduct code reviews and provide constructive feedback.
- Ensure the quality, performance, and security of software solutions.
- Drive continuous improvement in development processes and tools.
- Manage project timelines and deliverables.
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
- Minimum of 7 years of experience in software development, with at least 2 years in a leadership role.
- Proficiency in multiple programming languages (e.g., Java, Python, C#, JavaScript).
- Strong experience with cloud platforms (AWS, Azure, GCP).
- Expertise in software architecture and design patterns.
- Experience with Agile/Scrum methodologies.
- Excellent problem-solving, analytical, and communication skills.
- Proven ability to lead and motivate technical teams.
- Experience with CI/CD pipelines and DevOps practices.
- Strong understanding of database technologies.
Be The First To Know
About the latest Web services Jobs in Bahrain !
Junior Software Development Apprentice
Posted today
Job Viewed
Job Description
As an apprentice, you will work closely with experienced software engineers, contributing to various stages of the software development lifecycle. This includes assisting with coding, testing, debugging, and documenting software applications. You will learn to develop, implement, and maintain software solutions across different platforms. Responsibilities may involve front-end development using modern JavaScript frameworks, back-end development with popular server-side languages, and database management. You will participate in code reviews, team meetings, and contribute to agile development processes. The goal is to provide comprehensive training and practical exposure to build a strong foundation in software engineering.
We are seeking individuals with a strong passion for technology and a foundational understanding of programming concepts. While formal experience is not required, a demonstrable interest in software development through personal projects, coding bootcamps, or relevant coursework is highly valued. You should possess strong analytical and problem-solving skills, a willingness to learn quickly, and excellent attention to detail. Good communication and teamwork abilities are essential. Familiarity with at least one programming language (e.g., Python, Java, JavaScript) is preferred. A Bachelor's degree in Computer Science, Information Technology, or a related field is a plus but not strictly necessary if other relevant experience or demonstrable aptitude exists.
This apprenticeship provides a fantastic pathway into a career in software development. You will receive mentorship, training, and the opportunity to work on real-world projects. Upon successful completion of the apprenticeship, there may be opportunities for full-time employment. Join our client's forward-thinking company and kick-start your career in the rapidly evolving tech industry. This role is perfect for a proactive learner eager to absorb knowledge and contribute meaningfully to software projects.
Senior Software Development Lead
Posted today
Job Viewed
Job Description
The Senior Software Development Lead will be responsible for overseeing the entire software development lifecycle, from requirement gathering and architectural design to coding, testing, and deployment. You will mentor and guide a team of software engineers, foster best practices in coding and software architecture, and ensure the delivery of high-quality, scalable, and maintainable software.
Key responsibilities include collaborating with product managers and stakeholders to define project scope and technical requirements, making critical architectural decisions, and ensuring adherence to development timelines and quality standards. You will also be instrumental in troubleshooting complex technical issues, conducting code reviews, and promoting a culture of innovation and continuous learning within the development team.
Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related field. A Master's degree or equivalent experience is preferred.
- A minimum of 7 years of professional experience in software development, with a significant portion in a leadership or senior technical role.
- Proven experience in leading software development teams and managing project lifecycles.
- Expertise in multiple programming languages and frameworks relevant to our client's tech stack (e.g., Java, Python, C#, .NET, React, Angular).
- Strong understanding of software architecture patterns, design principles, and best practices (e.g., SOLID, microservices).
- Experience with cloud platforms (AWS, Azure, GCP) and DevOps practices.
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication, interpersonal, and team-building abilities.
- Experience with Agile methodologies (Scrum, Kanban).
- Ability to influence technical direction and mentor junior developers.
This is an exceptional opportunity to lead a talented team and contribute to the development of groundbreaking software solutions. If you are a seasoned technologist with strong leadership capabilities, we encourage you to apply.