The Embedded Software Engineer will work closely with our R&D team to develop and maintain high-quality embedded software systems. You will have the responsibility of working through the complete life-cycle of embedded software, from concept to deployment.
Who We Are:
Kluren is a leading and innovative software development company that serves various sectors including Defense, Homeland Security, Media, and Technology organizations. We focus on delivering high-end software engineering solutions combined with innovative strategy, consulting, and design capabilities. Our extensive experience in web, mobile, and various complex systems application development allows us to offer a wide range of end-to-end services and solutions, customized to meet the needs and requirements of our clients.
About Our Client:
Solutions provider specializing in areas of homeland security, communication infrastructure, and tactical communication. They offer a range of services from Command & Control Platforms to Intelligence Training, and have a global presence with operations in Asia, Europe, Africa, and the Americas.
Responsibilities:
- Design, implement, test, and maintain embedded software written primarily in C and C++.
- Debug and optimize system-level issues related to the embedded software.
- Work with TI processors, specifically with CPUs and DSPs.
- Operate and debug software within the CCS environment.
- Develop and optimize Embedded Linux drivers and kernel modules.
- Collaborate with cross-functional teams, including hardware engineers and product managers, to meet project goals.
- Analyze and enhance efficiency, stability, and scalability of system resources.
- Provide software configuration management support.
Requirements:
- Bachelor’s degree in computer science or computer engineering.
- Experience (10+ years) with a complete life-cycle of an embedded software system.
- Expert in the next technologies:
TI processors family (CPU - must, DSP - big advantage)
CCS environment and debugging methodology
Embedded Linux (Kernel, drivers, device tree configuration).
- Proficient in C and C++.
- Deep knowledge of modern OS coding techniques (Linux, RTOS), IP protocols, and hardware interfaces.
- Familiarity with software configuration tools.
- Strong analytical and problem-solving skills.
- Excellent problem-solving skills.
- Strong communication skills, both written and verbal.
- Ability to hold a conversation in English.