Job Summary
The FreeRTOS Developer will be responsible for designing, implementing, and maintaining embedded software solutions using FreeRTOS. This role involves working closely with hardware engineers, software developers, and other stakeholders to develop reliable and efficient real-time applications. The ideal candidate will have experience with real-time operating systems, embedded systems, and low-level programming.
Key Responsibilities
Develop and maintain embedded software using FreeRTOS for various applications and systems
Design and implement task management, inter-task communication, and synchronization mechanisms
Integrate FreeRTOS with hardware and other software components, ensuring seamless operation and performance
Troubleshoot and debug real-time systems, addressing performance issues and optimizing code
Collaborate with hardware engineers to understand requirements and constraints
Write and maintain documentation for code, system design, and testing procedures
Conduct code reviews and provide feedback to ensure adherence to best practices and coding standards
Participate in system testing and validation, including unit testing and integration testing
Stay updated with the latest developments in FreeRTOS and embedded systems technologies
Qualifications
Bachelor's degree in Computer Science, Electrical Engineering, or a related field; or equivalent experience
Proven experience developing with FreeRTOS or other real-time operating systems
Strong proficiency in C/C++ programming languages
Experience with embedded systems and microcontroller architectures (e.g., ARM, PIC, AVR)
Familiarity with debugging tools and techniques for embedded systems
Knowledge of communication protocols such as UART, SPI, I2C
Understanding of low-level hardware interactions and peripherals
Experience with version control systems (e.g., Git, SVN)
Excellent problem-solving skills and attention to detail
Strong communication skills and the ability to work effectively in a team environment
Bachelor's Degree