We are seeking a skilled Embedded Software Engineer with a strong background in computer architecture and embedded systems. The ideal candidate will have extensive experience in developing software for embedded platforms, with a focus on CPU architecture, operating systems, and low-level programming. This role requires a proactive individual who is passionate about learning new technologies and committed to delivering high-quality code and documentation. The position is full-time and on-site, offering an opportunity to work collaboratively with a diverse team across various disciplines and time zones.
Key Responsibilities
- Develop and maintain embedded software for platforms based on RISC-V and ARM architectures.
- Work on system-level concepts including device boot processes, program linking and loading, interrupt handling, virtual memory management, cache utilization, and communication protocols.
- Write efficient and reliable code primarily in C/C++, with potential use of assembly language where necessary.
- Collaborate with cross-functional teams to integrate software with hardware components and ensure seamless system operation.
- Contribute to software development for real-time operating systems (RTOS) or embedded Linux environments.
- Participate in code reviews and maintain comprehensive documentation to uphold coding standards and quality.
- Stay updated on emerging technologies and incorporate relevant advancements into development processes.
Required Qualifications
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field, with a focus on embedded software development, operating systems, or computer architecture.
- Minimum of 5 years of professional experience in embedded software engineering or a closely related area.
- Solid understanding of RISC-V architecture and CPU/system-level concepts such as device boot, interrupt handling, virtual memory, caches, buses, and communication protocols.
- Strong programming skills in C and C++, with experience in assembly language considered a significant advantage.
- Proven experience developing software for RTOS or embedded Linux platforms.
- Hands-on experience with embedded systems such as Raspberry Pi, Beagle Bone, Arduino, or ARM-Cortex-M and RISC-V boards.
Preferred Qualifications and Benefits
- Familiarity with Python programming is desirable.
- Experience working with AI frameworks such as TensorFlow Lite, PyTorch, or TinyML is a plus.
- Demonstrated passion for continuous learning and adapting to new technologies.
- Excellent communication skills and the ability to collaborate effectively with team members across different disciplines and time zones.
Benefits
- Bi-annual performance-based salary increments and bonuses.
- Comprehensive medical insurance covering both inpatient and outpatient care.
- Leave encashment options.
- Gym allowance to support employee wellness.
- Engaging recreational activities to foster team bonding and work-life balance.
This role offers a dynamic work environment where technical expertise and innovation are highly valued. If you are driven by challenges in embedded systems and eager to contribute to cutting-edge projects, we encourage you to apply.