Embedded Engineer

3 - 6 years

12.0 - 22.0 Lacs P.A.

Hyderabad, Bengaluru

Posted:3 weeks ago| Platform: Naukri logo

Apply Now

Skills Required

C++MultithreadingLinuxEmbedded SystemsARM

Work Mode

Work from Office

Job Type

Full Time

Job Description

We are seeking an experienced and highly motivated Embedded C++ Engineer to join our dynamic engineering team. The ideal candidate will have a strong background in developing multithreaded applications for multi-core ARM/RISC-V based System on Chips (SoCs) and be proficient in C++ development within embedded environments. As part of our team, you will work on cutting-edge AI technologies and contribute to the development of high-performance, reliable, and efficient Edge AI products/solutions. Role & Responsibilities: Design, develop, and optimize multithreaded applications in C++ for embedded systems with multiple sensors, specifically targeting muti-core ARM/RISC-V based SoCs for Edge AI products/solutions. Implement and debug complex software to meet performance and power requirements. Conduct performance profiling and optimization for both CPU and memory in resource-constrained environments. Write unit tests, perform code reviews, and ensure code quality through adherence to best practices. Collaborate with hardware engineers to understand SoC architecture and integrate low-level driver components. Participate in the team's software processes, including requirements and design documentation, test-plan generation and execution, peer design and code reviews, process feedback and improvements Stay current with industry trends, tools, and technologies relevant to Embedded Systems, Edge AI and C++ development. Required skills: Bachelor's or master's degree in related engineering field with 3 + years of hands-on experience in embedded C++ software development Experience in developing C / C++ multi-threaded applications, ideally for Embedded Linux targeting SoCs/Processors with multiple ARM cores Proficiency in C++11/14/17 or higher, with solid knowledge of object-oriented programming principles. Strong understanding of multithreading concepts, synchronization techniques, and concurrency issues in embedded systems. Familiarity with debugging tools such as GDB, JTAG, and performance profiling tools. Strong understanding of Processor/SoC architecture, memory management, interrupt handling, and low-level programming. Familiarity with hardware/software interfacing, including peripheral drivers, I2C, SPI, UART, etc. Experience with version control systems such as Git or SVN. Experience with industry-standard development tools (e.g.,GCC, Eclipse, Visual Studio, ARM Development Tools). Excellent problem-solving skills with a focus on optimizing software for embedded hardware. Strong communication skills and the ability to work effectively in a collaborative, cross-functional team environment. Detail-oriented with a focus on delivering high-quality, reliable software. Self-motivated with a strong passion for embedded AI systems and technology.

RecommendedJobs for You