Embedded C DeveloperThis on-site Embedded C Developer role focuses on designing, developing, and maintaining firmware and embedded software that powers advanced building automation systems used in major commercial and industrial facilities worldwide. You will work as a mid-level developer in a collaborative, agile environment, contributing across the full software development lifecycle while solving complex technical problems and supporting high-quality, integrated solutions. The position is structured as a contract-to-hire opportunity, offering strong potential for long-term growth and career advancement within a dynamic and innovative team.ResponsibilitiesDesign, develop, and maintain robust firmware and embedded software solutions using the C programming language.Collaborate closely with cross-functional teams, including development, quality assurance, and product management, to deliver high-quality, integrated solutions.Engage with Product Owners and business stakeholders to understand requirements, provide technical insights, and contribute to strategic decision-making.Participate actively in the full software development lifecycle, including coding, comprehensive testing, detailed documentation, and presenting proofs of concept.Prepare and present clear, concise technical documentation and reports to support ongoing development and maintenance activities.Analyze complex code bases to identify defects, propose innovative solutions, and implement effective fixes in a timely manner.Apply strong debugging skills to diagnose and resolve issues in embedded systems, ensuring reliability and performance.Contribute to continuous improvement of development processes, coding standards, and best practices within an agile team environment.Essential SkillsProven professional experience in C development, ideally within an embedded systems context.Hands-on experience with firmware and embedded development, with a solid understanding of hardware–software interaction.Demonstrated experience debugging embedded systems using tools such as GDB or similar debuggers.Ability to analyze and debug complex embedded systems and code bases.Experience working effectively and collaboratively as part of an agile development team.Strong communication skills, with the ability to explain technical concepts clearly to both technical and non-technical stakeholders, including Product Owners and business partners.A solutions-oriented mindset with strong problem-solving skills.Experience with embedded software and embedded software development environments.Experience or qualification in Embedded C++ development.Additional Skills & QualificationsGood knowledge of networking concepts and protocols.Familiarity with Linux as both a development and target operating system.Experience with scripting languages for automation or tool development.Familiarity with agile methodologies and practices such as Scrum or Kanban.Experience with version control systems, particularly Git.Familiarity with development tools such as CMake and Visual Studio Code (VSCode).Ability to adapt quickly to changing requirements and thrive in a fast-paced, evolving environment.Interest in continuous learning, professional development, and mentorship opportunities.