Software Engineer
Role details
Job location
Tech stack
Job description
-
Design, develop, and maintain software components across embedded and backend, systems under the guidance of senior engineers and architects
-
Implement software features end to end, from requirements and design to integration, testing, and verification
-
Develop and integrate algorithms for people sensing, positioning, or signal processing, ensuring correctness and performance
-
Contribute to software development on edge and embedded systems, including application logic, middleware, and system integration
-
Write clean, maintainable, and well-tested code following established standards and best practices
-
Optimize software for performance, reliability, and resource usage on constrained systems where applicable
-
Collaborate closely with cross-functional teams (software, hardware, algorithms, product) to deliver features aligned with customer and project requirements
-
Participate in code reviews, debugging, and continuous improvement of development workflows and tooling
Requirements
Do you have experience in Software development?, Do you have a Master's degree?, * MSc degree in Computer Science, Engineering, or a related field
-
5+ years of professional software development experience
-
Strong experience with C and/or C++ in production environments (embedded and/or systems-level software)
-
Proficiency in Python for application development, scripting, tooling, or algorithm integration
-
Experience working on multi-component software systems or modular codebases
-
Familiarity with embedded or edge environments (ARM-based systems, Linux, or RTOS)
-
Experience with debugging, performance analysis, and troubleshooting complex software systems
-
Ability to read technical documentation and translate requirements into working code
-
Good communication skills and ability to work effectively within a team
-
Curious, proactive mindset with a strong desire to learn and improve