Job Title: Embedded C++ Developer
Key Responsibilities:
As an Embedded C++ Developer, you will:
- Design, develop, and maintain robust software solutions using C++ for firmware and embedded systems.
- Collaborate closely with cross-functional teams, including development, QA, and product management, to ensure the delivery of high-quality, integrated solutions.
- Engage effectively with Product Owners and various business stakeholders to thoroughly understand requirements, provide technical insights, and contribute to strategic decision-making.
- Actively participate in the full software development lifecycle, including coding, comprehensive testing, detailed documentation, and presenting compelling proofs of concept.
- Contribute to the preparation and presentation of clear, concise technical documentation and reports.
- Analyze complex code bases to identify defects, propose innovative solutions, and implement effective fixes.
What You'll Bring (Qualifications):
- Proven professional experience in C++ development, ideally within an embedded systems context.
- Hands-on experience with firmware and embedded development, demonstrating a solid understanding of hardware-software interaction.
- Ability to work effectively and collaboratively as part of an agile development team.
- Strong communication skills, with the ability to articulate technical concepts clearly to both technical and non-technical audiences, including Product Owners and business stakeholders.
- Demonstrated experience in debugging embedded systems using tools like GDB or similar, and the ability to analyze and debug complex systems.
- A solutions-oriented mindset with strong problem-solving skills.
Bonus Points If You Have (Preferred Skills & Experience):
- Good knowledge of networking concepts and protocols.
- Familiarity with Linux as a development and target operating system.
- Experience with scripting languages for automation or tool development.
- Familiarity with agile methodologies and practices (e.g., Scrum, Kanban).
- Experience with version control systems, particularly Git.
- Familiarity with development tools such as CMake and VSCode.
- Ability to adapt quickly to changing requirements and thrive in a fast-paced, evolving environment.