Topcon
Senior Embedded Software Engineer, GNSS Positioning Services
Topcon, Italy, New York, United States
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
#J-18808-Ljbffr
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
#J-18808-Ljbffr