Position: Middle C++ Engineer
Company: UNIT.Recruitment
Experience required: 3y
Category: C++
English level: intermediate
Published: 2021-10-01T00:00:00+03:00

Our customer is one of the key players in the world of maps and navigation platform. We as a part of customer’s program develop data-driven location service at global scale, which operates on billions of transactions, map tiles, search and geocode requests. The goal of the project is in-car navigation product, that provide comfortable guidance services for the car driver during the trip. For this purpose, the software collects and analyzes information from other sub-systems like Map data, EV, Routing, Traffic load, etc.
Technically, it is a cross platform application (primarily targeting Linux, Android and QNX) excessively covered with automated tests at multiple levels: unit, map integration, user scenario acceptance. BDD-style acceptance tests make use of Python and Cucumber framework. Cross component integration within the SDK is ensured with mandatory Gerrit peer code reviews and verified with central CI and CD pipelines.

**Responsibilities:**
-Participate in product discussions with PO and technical discussions within the team to find the right solution architecture and design;
-Implement new features in C++, provide automated test coverage;
-Profile and optimize resulting C++ code;
-Design interfaces and implementation to support reusability, testability and modularity;
-Integrate our solution with other parts of the product and target platform in the way that meets the customer expectations.


Requirements:
-3+ years of experience in software engineering;
-Experience with embedded development;
-Excellent analytical, algorithmic and optimization skills;
-OOAD, architecture and design patterns;
-Expertise in cross-platform C++ (preferably C++11), boost;
-Knowledge of discrete mathematics will be a plus;
-At least intermediate level of English, well-developed communication skills;
-Understanding of Agile methodologies and engineering practices.

**Nice to have:**
-Low-level performance optimization;
-QNX is an advantage;
-Knowledge of QT framework and QML.