Key Skills: Embedded C, Embedded, C++, Embedded Linux, Communication Protocol, Microcontroller
Roles and Responsibilities:
- Lead the design, development, and maintenance of embedded systems and applications.
- Work on system-level software with a focus on Linux internals, real-time operating systems, and microcontroller programming.
- Implement and optimize communication protocols for embedded platforms.
- Ensure security best practices are integrated into embedded software development.
- Troubleshoot and resolve hardware/software issues using tools such as oscilloscopes and analyzers.
- Collaborate with cross-functional teams to define system requirements, architecture, and design.
- Use development tools including IDEs, debuggers, version control, and defect management tools (e.g., JIRA, Bugzilla).
- Drive continuous improvement in embedded software design, performance, and quality.
- Contribute to Agile development processes and peer review activities.
- Mentor junior engineers and support knowledge sharing across the team.
Skills Required:
- Must-Have Skills:
- Strong proficiency in Embedded C, C++, and Embedded Linux
- Experience with microcontrollers, communication protocols, and real-time operating systems
- Hands-on experience with Linux internals and Yocto Linux (preferred)
- Knowledge of security best practices in embedded software
- Experience with debugging tools, oscilloscopes, analyzers, IDEs, and version control systems
- Proficiency in Python or other scripting languages
- Nice-to-Have Skills:
- Experience in regulated environments (e.g., medical device industry)
- Familiarity with Agile methodology
- Strong verbal and written communication skills
Education: Bachelor's degree in Computer Engineering, Computer Science, or related technical field