Job Description
AmaliTech seeks a highly skilled and experienced C++ Developer with in-depth expertise in embedded systems programming, particularly with Microcontroller Units (MCUs),Renesas platforms, and CMAKE build systems. The ideal candidate will have a strong background in developing and optimizing software for resource-constrained environments, with a focus on performance, reliability, and maintainability.
This role involves designing, developing, and debugging embedded software solutions for cutting-edge products in industries such as automotive, IoT, industrial automation, or consumer electronics. You will work closely with cross-functional teams to deliver high-quality, efficient, and scalable embedded systems.
Key Responsibilities
- Design, develop, and maintain embedded software applications inC++forRenesas MCUsand other embedded platforms
- Optimize code for performance, memory usage, and power efficiency in resource-constrained environments
- Develop and maintainCMAKE-based build systemsfor embedded projects, ensuring seamless integration with CI/CD pipelines
- Collaborate with hardware engineers to define software requirements and interfaces for embedded systems
- Debug and troubleshoot complex issues in embedded systems, including hardware-software interactions
- Implement and maintain real-time operating systems (RTOS) and bare-metal firmware solution
- Write clean, modular, and well-documented code following industry best practices
- Participate in code reviews, design discussions, and technical documentation
- Stay up to date with the latest trends and advancements in embedded systems, C++ standards, and development tools.
Qualifications
- 5+ years of professional experience in embedded software development using C++
- Strong expertise in Microcontroller Units (MCUs) and embedded systems programming
- Hands-on experience with Renesas microcontrollers (e.g., RX, RA, RL78 families) and associated development tools (e.g., e² studio, CS+)
- Proficiency in CMAKE for building and configuring embedded software projects
- Experience with automotive embedded systems and standards (e.g., MISRA, ISO 26262)
- Solid understanding of real-time operating systems (RTOS) and bare-metal programming
- Experience with low-level hardware interfaces such as UART, SPI, I2C, CAN, and GPIO
- Familiarity with debugging tools (e.g., JTAG, oscilloscopes, logic analyzers) and techniques for embedded systems
- Knowledge of software development lifecycle (SDLC) and version control systems (e.g., Git)
- Strong problem-solving skills and the ability to work independently or in a team environment
- Excellent communication skills, both written and verbal