Job Details
Type: Full Time
Post Date: 30+ days ago
Industry: Engineering And Technology
Job Description
We are looking for NuttX OS software developer in Abu Dhabi
At the moment we are looking for SW Developer, Nuttx OS to strengthen our team in UAE.
Location: This position is based in UAE and remote work is not possible.
We offer the following benefits for all roles in Abu Dhabi:
- MEDICAL INSURANCE (INCLUDING FAMILY)
- RELOCATION (TRAVEL EXPENSES INCLUDING FAMILY)
- VISA PROCESSING
- ALL SALARIES EARNED IN UAE ARE FREE FROM INCOME TAX (0%)
Job Description:
A NuttX OS software developer is responsible for developing and maintaining software applications and components for the NuttX real-time operating system. The work is on the firmware and software stack that powers embedded systems, including aerospace applications. Job involves writing efficient code, optimizing performance, debugging and testing software modules, and ensuring the stability and reliability of the NuttX operating system. Role requires collaboration with a cross-functional team, including hardware engineers and system integrators, to develop software that meets specific requirements and integrates seamlessly with the underlying hardware. The NuttX OS software developer may also contribute to the open-source community, participate in code reviews, and assist in troubleshooting and resolving software-related issues.
Required qualifications
To succeed as a SW Developer, Nuttx OS you should possess the following skills:
- Proficiency in C/C++: Strong programming skills in C and C++ are essential for developing and modifying software applications and components for the NuttX operating system.
- Embedded Systems Development: Understanding embedded systems principles and experience in developing software for resource-constrained platforms are important for working with the NuttX OS.
- Real-time Operating Systems (RTOS): In-depth knowledge of real-time operating systems, particularly NuttX, including its features, architecture, and APIs is crucial for developing software that operates in real-time environments.
- Device Drivers: Experience in developing device drivers for various peripherals and hardware components is valuable for integrating and controlling devices with the NuttX OS.
- System-level Programming: Understanding system-level programming concepts and techniques, such as inter-process communication, task scheduling, memory management, and file systems, is important for developing efficient and reliable software on the NuttX OS.
- Debugging and Troubleshooting: Strong problem-solving skills and the ability to debug and troubleshoot software issues are crucial for diagnosing and resolving bugs or performance problems in the NuttX OS.
- Cross-Platform Development: Familiarity with cross-compilation and porting software to different hardware platforms is beneficial for ensuring the compatibility and successful deployment of NuttX-based applications.
- Communication Protocols: Knowledge of various communication protocols, such as UART, SPI, I2C, Ethernet, and USB, is important for interfacing with external devices and networks.
- Hardware Interaction: Understanding the interaction between software and hardware components, including sensors, actuators, memory, and peripheral interfaces, is necessary for developing software that effectively utilizes the underlying hardware capabilities.
- Multithreading and Synchronization: Experience with multithreaded programming and synchronization mechanisms, such as semaphores and mutexes, is valuable for developing concurrent and efficient software applications on the NuttX OS.
- Version Control and Collaboration: Proficiency with version control systems like Git and the ability to collaborate effectively with a team of developers are important for managing software development and ensuring code quality.
- Documentation and Testing: Strong documentation skills for writing clear and concise code comments and documentation, as well as experience in unit testing and software validation techniques, are essential for maintaining software quality and facilitating code maintenance.
Why join Unikie?
At Unikie, you will get to:
- Build new solutions for our customers and work with cutting edge technologies
- Collaborate along with colleagues who are the top in their field and together with our customers to strive for understanding what they need
- Develop and challenge yourself and learn more from experienced software talents
- Work with modern technologies and be involved to solve complex difficult challenges our customers might be facing
- Have an excellent compensation for your work.
- Work in a global environment that develops modern, secure solutions for pioneers in their field
- Work in a flexible low-hierarchy organization that looks after its own
- In addition to our customer deliveries, we focus on our own R&D, where you can bring your own expertise to if you want
How to apply
Click "Apply To Job", and fill the application form on the careers website.
Our recruitment team is happy to share you more information about Unikie and our open positions, so please drop us a line if you wish to discuss with us before sending your CV or have any questions in mind!
Unikie is a software engineering and innovation company that infuses intelligence into machines, vehicles, and industrial solutions. We enable our clients to become leaders within their industries, securing their success in the evolving digital landscape of tomorrow.
View All JobsVisit WebsiteJoin Our MuslimJobs Community
Join our community of professionals looking to grow in our careers and in our deen