Job Description

Job Duties
  • Design, develop, and maintain high-level embedded software modules within GNSS receiver firmware, including positioning engines, navigation filters, and data fusion logic.

  • Refactor and modernize existing legacy codebases into modular, maintainable, and testable architectures.

  • Collaborate with algorithm developers to translate mathematical models into efficient and robust C++ implementations.

  • Integrate GNSS correction services (RTK, PPP, CSSR) and ensure consistent data flow between the receiver and correction sources.

  • Implement unit tests, integration tests, and performance validation for critical firmware components.

  • Optimize resource usage, reliability, and runtime performance across diverse hardware targets and operating systems.

  • Participate in architectural reviews, code reviews, and documentation processes to ensure high engineering standards.

  • Develop advanced debugging tools for diagnosing issues, post-processing logs, and simulating positioning scenarios.

  • Port code across different firmware versions and products, ensuring compatibility and performance.

  • Collaborate with hardware teams to support new hardware development and integration.

  • Conduct field testing, debugging, and provide ongoing support for deployed products.

  • Participate in CI/CD workflows (TeamCity, Bitbucket/GitHub, Jira) for continuous integration and deployment.

  • Job Requirements:

    Education & Experience:

  • Master’s degree in Electrical Engineering, Computer Science, or related field.

  • 5+ years of industrial experience developing large-scale applications in C++ (including C++11/14/17) and CMake.

  • Experience with embedded software and real-time operating systems (RTEMS, FreeRTOS, QNX).

  • Proficiency with version control systems (Git, Mercurial, SVN), CI/CD pipelines, code quality, and refactoring.

  • Experience developing multi-threaded applications.

  • Good knowledge of Python for scripting, automation, and testing.

  • Experience with TeamCity or similar CI/CD tools.

  • Experience with Java for integration tasks is a plus.

  • Knowledge, Skills, and Abilities:

  • Long-term job orientation, responsibility, punctuality.

  • Ability to work in an international, cross-disciplinary team.

  • Strong analytical and problem-solving skills.

  • Ability to understand and extend existing architectures and codebases.

  • Understanding of model-based software design and modular architecture patterns.

  • Intermediate or higher English proficiency.

  • Excellent C++ programming skills

  • Apply for this Position

    Ready to join ? Click the button below to submit your application.

    Submit Application