Senior Embedded Software Engineer
Job Summary:
We are seeking a highly skilled and experienced Senior Embedded Software Engineer to join our client's innovative and dynamic team. The ideal candidate will have 5-10 years of professional experience in C programming and a strong background in embedded systems development. This position offers an exciting opportunity to work on challenging projects with significant potential for professional growth and impact.
Key Responsibilities:
- Design, develop, and maintain embedded software solutions in C for various platforms and operating environments.
- Work closely with cross-functional teams to optimize software performance for hardware platforms.
- Implement and troubleshoot networking protocols, security features, and hardware-level optimizations.
- Develop and integrate encryption and cryptography solutions, including hardware-based cryptography, as needed.
- Contribute to projects involving Linux kernel development and embedded operating systems (e.g., VxWorks, QNX, ThreadX, FreeRTOS).
- Collaborate with stakeholders to define software requirements and deliver high-quality, robust code.
- Perform code reviews, debugging, and testing to ensure reliability and performance.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- 5-10 years of experience in embedded software development, with a strong focus on C programming.
- Proficiency in developing and debugging software for Linux, Windows, and embedded operating systems.
- Experience with Linux kernel development is highly desirable.
- Knowledge of SSL/TLS protocols and encryption software is a significant advantage.
- Familiarity with RTOS environments such as VxWorks, QNX, ThreadX, FreeRTOS, and others.
- Experience with mobile operating environments (Android and iOS) is a plus.
- Understanding of hardware-based cryptography and assembly programming is beneficial.
- Strong problem-solving skills, attention to detail, and the ability to work independently or in a team setting.
Preferred Skills:
- Experience with hardware optimizations and performance tuning.
- Familiarity with network protocols and secure communication standards.
- Ability to work effectively in a fast-paced and collaborative environment.
- Excellent verbal and written communication skills.