Software Developer
Role details
Job location
Tech stack
Job description
We are seeking a skilled and motivated Embedded C++ Developer to join our innovative engineering team supporting building automation systems used in commercial and industrial facilities worldwide. This role is ideal for a mid-level developer with strong experience in C++ and embedded systems who thrives in a collaborative and agile environment.
As part of the team, you will contribute to the development and maintenance of embedded software solutions that power intelligent building technologies. You will work closely with cross-functional teams to deliver high-quality, scalable, and reliable software products.
Key Responsibilities
Design, develop, test, and maintain embedded software applications using C++.
Develop firmware and embedded system solutions with strong hardware-software integration.
Collaborate with development, QA, product management, and business stakeholders to deliver integrated solutions.
Participate in the full software development lifecycle including design, coding, testing, debugging, documentation, and deployment.
Analyze and troubleshoot complex embedded systems and software defects.
Create and maintain technical documentation, reports, and proof-of-concept demonstrations.
Communicate technical concepts effectively to both technical and non-technical stakeholders.
Contribute to agile development activities including sprint planning, stand-ups, and retrospectives.
Requirements
Professional experience in C++ software development.
Hands-on experience with embedded systems and firmware development.
Strong understanding of hardware-software interaction principles.
Experience debugging embedded systems using tools such as GDB or equivalent debuggers.
Strong analytical and problem-solving skills.
Excellent communication and collaboration skills.
Ability to work effectively in an agile team environment.
Preferred Qualifications
Knowledge of networking concepts and communication protocols.
Familiarity with Linux development environments and operating systems.
Experience with scripting languages for automation or tooling.
Understanding of Agile methodologies such as Scrum or Kanban.
Experience with version control systems, especially Git.
Familiarity with development tools such as CMake and VS Code.
Ability to adapt quickly in fast-paced and evolving technical environments.
Why Join Us
Work on impactful embedded technologies used in intelligent commercial and industrial building systems.