The ideal candidate will be responsible for developing high-quality applications.
They will also be responsible for designing and implementing testable and scalable code.
Responsibilities
- Design and develop embedded software and firmware for various embedded systems, including
- microcontrollers, microprocessors, and digital signal processors.
- Collaborate with hardware engineers and system architects to define system requirements,
- hardware-software interfaces, and system integration.
- Develop low-level device drivers and interface software to facilitate communication between embedded systems and external peripherals.
- Write efficient, reliable, and scalable code for real-time operating systems (RTOS) and bare-
- metal environments.
- Conduct thorough testing, verification, and debugging of embedded software to ensure
- functionality, performance, and quality.2
- Perform code reviews and provide constructive feedback to team members to maintain code
- quality and ensure adherence to coding standards.
- Optimize system performance, memory utilization, and power consumption for embedded
- applications.
- Stay updated with the latest technologies, tools, and trends in embedded systems development
- and propose innovative solutions to improve system capabilities.
- Collaborate with cross-functional teams, including hardware engineers, firmware engineers, and
- product managers, to support product development and meet project timelines.
- Document design specifications, software architecture, and technical specifications to facilitate
- knowledge sharing and future maintenance.
Qualifications
- Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
A Master's degree is a plus.
- 3+ years of experience.
- Knowledge of C, Microcontrollers (8,32 bits).
- Proven experience in embedded software development, preferably in a professional setting.
- Proficiency in programming languages such as C, C++, OOPS, Multithreading and assembly
- language for embedded systems.
- Strong understanding of embedded systems architecture, real-time operating systems, and
- hardware-software interfaces.
- Experience with microcontrollers, microprocessors, and embedded development tools, such as
- debuggers, emulators, and compilers.
- Familiarity with communication protocols commonly used in embedded systems, such as UART,
- SPI, I2C, and Ethernet.
- Knowledge of software development methodologies, version control systems, and bug tracking
- tools.
- Excellent problem-solving skills and the ability to debug complex software and hardware issues.
Strong analytical and organizational skills with the ability to work on multiple projects - simultaneously.
- Effective verbal and written communication skills to collaborate with cross-functional teams and
- document technical specifications.