7 354 Systems Software Engineer jobs in Bahrain
Automotive Systems Software Engineer
Posted 5 days ago
Job Viewed
Job Description
Responsibilities:
- Design, develop, and maintain embedded software for automotive control units and systems.
- Implement software solutions using C/C++ in accordance with coding standards and best practices.
- Develop and integrate software components for various automotive applications (e.g., powertrain, infotainment, ADAS).
- Work with real-time operating systems (RTOS) and ensure efficient resource management.
- Define and document software requirements, architecture, and design specifications.
- Perform software testing, including unit testing, integration testing, and system testing.
- Debug and troubleshoot software issues, identifying root causes and implementing fixes.
- Collaborate with hardware engineers, systems engineers, and validation teams to ensure seamless integration.
- Participate in code reviews to ensure code quality and adherence to standards.
- Contribute to the continuous improvement of software development processes and tools.
- Stay updated with the latest automotive software technologies and industry trends.
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 3-5 years of experience in embedded software development, preferably within the automotive industry.
- Proficiency in C/C++ programming languages.
- Experience with real-time operating systems (RTOS) such as FreeRTOS, QNX, or VxWorks.
- Familiarity with automotive communication protocols like CAN, LIN, and Ethernet.
- Knowledge of automotive safety standards (e.g., ISO 26262) is a plus.
- Experience with software development tools (e.g., compilers, debuggers, version control systems like Git).
- Strong analytical and problem-solving skills.
- Excellent teamwork and communication abilities.
- Ability to work effectively in a collaborative, on-site engineering environment.
Remote Aviation Systems Software Engineer
Posted 2 days ago
Job Viewed
Job Description
Responsibilities:
- Design, develop, and implement software for aviation systems.
- Write and maintain high-quality, efficient, and well-documented code.
- Perform unit testing, integration testing, and system testing.
- Collaborate with cross-functional teams, including systems engineers and hardware developers.
- Participate in architectural design and technical reviews.
- Ensure software compliance with industry standards and regulations.
- Troubleshoot and resolve software defects and issues.
- Contribute to the continuous improvement of software development processes.
- Bachelor's or Master's degree in Computer Science, Aerospace Engineering, or a related field.
- 5+ years of experience in software development, with a focus on embedded systems.
- Proficiency in C/C++ or Ada programming languages.
- Experience with real-time operating systems (RTOS).
- Knowledge of aerospace communication protocols (e.g., ARINC 429, MIL-STD-1553).
- Familiarity with safety-critical software development standards (e.g., DO-178C).
- Excellent analytical and debugging skills.
- Ability to work independently and as part of a distributed team.
Remote Aviation Systems Software Engineer
Posted 5 days ago
Job Viewed
Job Description
Distributed Systems Software Engineer, Python / Go
Posted 5 days ago
Job Viewed
Job Description
Overview
We are seeking a software engineer with a passion for building and validating resilient distributed systems. At Canonical you can build a career and drive the success of those leveraging Canonical's Ubuntu and Juju to build multi-cloud deployable cloud applications. We see quality engineering as a first class engineering practice and are looking for people who can bring deep engineering insights and a data driven approach to test automation, reporting and data analytics. The Distributed Systems testing team at Canonical is responsible for ensuring the high quality of Canonical's Cloud solutions based on Juju, Terraform, OpenStack, Kubernetes when deployed under highly diverse conditions, from bare metal in customer data centers to public clouds like AWS, GCE, Azure. As a software engineer you will have the opportunity to develop CI pipelines which power Canonical's cloud integration testing and reporting. Upcoming initiatives you will have the opportunity to contribute to include expanding deployment capabilities to new clouds and developing AI/ML pipelines for automatic analysis of test results. A successful candidate is interested in tackling these problems, as well as imagining and leading new initiatives within the team and across Canonical.
Location: this is a Globally remote role
What your day will look like- Create automated testing approaches and infrastructure for validating reliability, performance, and resilience of cloud orchestration tools and applications
- Enable engineering teams across Canonical to develop software with confidence by making distributed system testing tooling available across the company
- Enhance continuous integration pipelines for deploying and testing Canonical's cloud native products such as Kubeflow
- Deploy, manage, and debug highly distributed systems
- Monitor and report on automated testing efforts
- Collaborate daily with a globally distributed team
- Solid background in modern test processes and strategies
- Experience with Python or Go development
- Strong object oriented development skills
- Ability to develop and ship production grade modern web applications
- Working knowledge of continuous integration tools such as Jenkins, CircleCI, GitHub CI
- Knowledge of networking technologies and fundamentals
- Solid understanding of Linux system architecture
- A capacity for complex abstract thinking
- Capability for 2-4 weeks of international travel per year
- Collecting and analyzing large multidimensional datasets
- Operating data platforms: key-value stores, relational or document databases, event buses
- Work with cloud technologies such as OpenStack, Kubernetes, Terraform and AWS
- Developing AI/ML pipelines
- Distributed work environment with twice-yearly team sprints in person - we've been working remotely since 2004!
- 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 believes a diverse workforce enhances our ability to deliver world class software and services which meet the world's computing needs. We are committed to ensuring equal employment opportunities to all qualified individuals. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.
#J-18808-LjbffrSenior Automotive Software Development Engineer - Embedded Systems
Posted 3 days ago
Job Viewed
Job Description
Responsibilities:
- Design, develop, implement, and maintain embedded software for automotive ECUs using C/C++.
- Develop and integrate software components for various automotive systems, including infotainment, ADAS, body control modules, and powertrain.
- Work with real-time operating systems (RTOS) and develop low-level drivers.
- Create and execute unit tests, integration tests, and system tests to ensure software quality and reliability.
- Debug and resolve complex software issues, often involving hardware-software interaction.
- Collaborate closely with hardware engineers, system architects, and other software developers in a distributed team environment.
- Participate in code reviews to ensure adherence to coding standards and best practices.
- Contribute to the definition and refinement of software architecture and design patterns.
- Stay abreast of the latest advancements in automotive software technologies and industry trends.
- Document software designs, implementation details, and test procedures thoroughly.
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Minimum of 5-7 years of experience in embedded software development, with a significant focus on automotive applications.
- Strong proficiency in C and C++ programming languages.
- Experience with automotive communication protocols such as CAN, LIN, Ethernet, and FlexRay.
- Familiarity with automotive software development processes (e.g., AUTOSAR, ASPICE).
- Experience with real-time operating systems (RTOS) and debugging tools.
- Knowledge of automotive ECUs, microcontrollers, and hardware interfaces.
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication and collaboration abilities, especially in a remote setting.
- Experience with version control systems (e.g., Git) and agile development methodologies.
Software Development Apprentice
Posted 5 days ago
Job Viewed
Job Description
Program Overview:
- Gain practical experience in full-stack development, including front-end and back-end technologies.
- Learn to design, develop, test, and deploy software applications under the guidance of mentors.
- Participate in coding challenges, workshops, and team projects to build a strong foundation in software engineering.
- Develop proficiency in programming languages such as Python, Java, JavaScript, or similar.
- Understand software development lifecycle (SDLC) and agile methodologies.
- Contribute to real-world projects, gaining exposure to industry best practices.
- Receive continuous feedback and mentorship to support learning and career growth.
- Build a professional portfolio showcasing acquired skills and completed projects.
- Explore career paths within software development, such as front-end, back-end, or full-stack engineering.
- Develop essential soft skills, including teamwork, communication, and problem-solving.
- High school diploma or equivalent.
- A strong passion for technology and software development.
- Aptitude for logical thinking and problem-solving.
- Eagerness to learn and adapt to new technologies.
- Good communication and interpersonal skills.
- Ability to work independently and collaborate effectively in a remote team environment.
- Basic understanding of computer science concepts is a plus, but not required.
- Motivated to complete a structured learning program and achieve career goals.
Software Development Apprentice
Posted 5 days ago
Job Viewed
Job Description
Be The First To Know
About the latest Systems software engineer Jobs in Bahrain !
Software Development Apprentice
Posted 5 days ago
Job Viewed
Job Description
Apprentices will receive intensive training in various programming languages, software development methodologies, and best practices. You will work alongside senior engineers, assisting in coding, testing, debugging, and documentation tasks. The program focuses on building a solid foundation in software engineering principles and practical application. Responsibilities may include assisting with front-end and back-end development, participating in code reviews, and contributing to project planning sessions. This is an excellent opportunity for individuals looking to start a career in software development without prior formal experience. A keen interest in technology, strong analytical thinking, and a collaborative spirit are essential. While this program is primarily on-site to facilitate hands-on learning and team integration, there may be occasional opportunities for remote work on specific tasks as the apprenticeship progresses. Successful completion of the program can lead to full-time employment opportunities within our organization. We are committed to nurturing talent and providing a supportive environment for professional growth.
Software Development Apprentice
Posted 5 days ago
Job Viewed
Job Description
Key Responsibilities:
- Assist senior developers in writing, testing, and debugging code.
- Learn and apply software development best practices and methodologies.
- Contribute to the development of new features and enhancements for existing software applications.
- Participate in code reviews and provide constructive feedback.
- Collaborate with team members in an agile development environment.
- Troubleshoot and resolve software defects.
- Document code and technical specifications.
- Engage in continuous learning and skill development.
- Assist with unit testing and integration testing.
- Support the deployment and maintenance of software solutions.
Qualifications:
- Basic understanding of programming principles and logic.
- Familiarity with at least one programming language (e.g., Python, Java, JavaScript).
- Eagerness to learn and a strong work ethic.
- Ability to work independently and as part of a remote team.
- Good communication and problem-solving skills.
- A passion for technology and software development.
- High school diploma or equivalent required; current enrollment or recent graduation from a relevant technical program or degree is a plus.
This is a fantastic entry-level opportunity for individuals looking to build a career in software development. This remote apprenticeship allows you to gain valuable experience without geographical limitations, ideal for residents of **Manama, Capital, BH** and beyond.
Software Development Apprentice
Posted 5 days ago
Job Viewed