Embedded Software Engineer
Years of Experience:
5-8 Years
Job Summary:
We are seeking a skilled Embedded Software Engineer with a strong background in C programming and embedded systems. The ideal candidate will have extensive experience in software development from scratch, utilizing software programming principles, quality coding techniques, and data structures. This role requires a deep understanding of Linux ethernet drivers and the ability to design and implement software solutions that meet performance and reliability standards.
Responsibilities
-
Develop and maintain embedded software applications using C programming language.
-
Design software architecture, including APIs, libraries, and frameworks, ensuring adherence to best practices and quality coding techniques.
-
Implement and optimize Linux ethernet drivers, ensuring robust performance and reliability.
-
Collaborate with cross-functional teams to define software requirements and specifications.
-
Utilize software debugging techniques in a Linux environment to troubleshoot and resolve issues.
-
Optimize software for performance, power consumption, and memory usage.
-
Engage in code reviews, regression testing, and automation processes to ensure high-quality deliverables.
-
Stay updated with industry trends and emerging technologies related to embedded systems and software development.
Required Skills
-
Solid Programming experience in C with emphasis on Embedded Systems.
-
Experience of Programming from scratch, using Software Programming Principles, Quality Coding Techniques, Data Structures.
-
Experience in Software Design, knowledge of how APIs, Libraries, Frameworks and Applications are designed.
-
Must Have ? Strong experience in Linux ethernet Driver.
-
Good to Have -Experience in one or more Connectivity Interfaces/Protocols like TSN, PTP, ORAN, etc.
-
Experience in Linux Kernel, Ethernet device driver, Linux Userspace Frameworks and Applications.
-
Knowledge of Linux OS techniques such as multi-threading, IPC, etc.
-
Familiarity with Linux build systems (Yocto), code management tools (bitbucket and git), code review, regression and automation tools.
-
Software debugging in Linux environment, tuning & optimizing software for performance, power and memory.
-
Understanding of Hardware and Software subsystems, interfaces for hardware and software debugging methods.
-
FPGA and RISC-V processors knowledge is a plus.
-
Knowledge of usage of AI Agents and Prompt Engineering is a plus.
-
5+ yrs of relevant experience
Qualifications
-
Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
-
Proven track record of developing high-quality embedded software solutions.
-
Strong analytical and problem-solving skills.
-
Excellent communication and teamwork abilities.
Embedded Development, Linux, Embedded C, Ethernet