We are seeking a skilled Embedded Application Developer to join our development team on a six-month contractual basis. The successful candidate will focus on creating and maintaining embedded, industrial, and hardware-integrated software applications. This role demands a strong foundation in C/C++ development and experience working across multiple platforms including Windows, Android, and Linux. The developer will collaborate closely with hardware teams to ensure seamless integration and optimal performance of software solutions.
Key Responsibilities
- Develop and maintain robust C/C++ software applications tailored for embedded, industrial, and hardware-integrated systems.
- Design and implement efficient software solutions utilizing object-oriented programming principles, effective memory management, multithreading, and industry best practices in software design.
- Optimize and develop applications across diverse platforms such as Windows, Windows CE/IoT, Android, and Linux.
- Create interactive graphical user interfaces using frameworks like Qt and Microsoft Foundation Classes (MFC), along with OpenGL-based 3D visualization techniques.
- Integrate hardware components and peripherals through communication protocols including CAN and UART.
- Implement GNSS/GPS and IMU sensor integration, supporting advanced features like RTK positioning and NTRIP where applicable.
- Develop and integrate HTTP-based APIs to facilitate communication between external devices and software systems.
- Perform hardware-level debugging and troubleshooting using tools such as logic analyzers, oscilloscopes, and software debuggers.
- Ensure software reliability and quality through comprehensive unit, integration, and system-level testing.
Required Qualifications
- 4 to 5 years of professional experience in C/C++ software development focused on embedded, industrial, or hardware-integrated applications.
- Strong proficiency in C/C++ programming, including expertise in object-oriented programming, memory management, multithreading, debugging, and software design best practices.
- Experience developing applications for Windows platforms, preferably including Windows CE, Windows IoT, or other embedded/industrial Windows environments, as well as Android and Linux platforms.
- Hands-on experience with Qt Framework and Microsoft Foundation Classes (MFC) is highly desirable.
- Proven ability in 3D graphics programming using OpenGL, including rendering, geometric calculations, and 3D visualization.
- Solid understanding of hardware communication protocols such as CAN and UART, alongside practical experience with hardware debugging tools like logic analyzers and oscilloscopes.
- Familiarity with GNSS/GPS and IMU sensor data integration, with added advantage if experienced in RTK positioning and NTRIP.
- Experience working with HTTP-based communication and API integration for external device connectivity.
- Demonstrated experience in unit, integration, and system-level testing, including knowledge of relevant testing frameworks.
- Strong analytical and problem-solving skills with a proactive approach to troubleshooting and system optimization.
Preferred Qualifications and Benefits
While not explicitly stated, candidates with additional experience in embedded Linux development, real-time operating systems, or advanced sensor fusion techniques will be considered favorably. This role offers the opportunity to work on cutting-edge embedded systems within a collaborative and innovative environment, contributing directly to impactful industrial and hardware-integrated applications.
This position is ideal for developers who thrive in a technically challenging environment and are eager to apply their expertise to complex embedded software projects over a defined contractual period.