Our customers' products enable people, enterprises, and cities to harness the power of location. By making sense of the world through the lens of location, it empowers users to achieve better outcomes from helping a city manage its infrastructure or an enterprise optimize its assets to delivering drivers to their destination safely.
We are developing a SaaS navigation solution that provides fresh, updatable and upgradable navigation content and services available on an "on-demand" basis. It provides a cloud platform, location services and a navigation software client working in symbiosis for the OEM to design and control the navigation experience in their vehicle lines. There is also a B2B marketplace for OEMs and 3rd party ISV to upgrade the navigation experience with additional content and services integrated into the core navigation experience in the vehicle.
It's a connected Navigation Application with UI.
- The UI is running in Web Views and implemented in ReactJS, it is completely reactive;
- The business logic is running in a local node.js. It is modeled as microservices implemented in TypeScript;
- Since everything is reactive, we heavily use rxjs for modeling the data flow;
- Data between Web View and Node is using GRPC as a transport which is mapped to RXJS;
- The TypeScript codebase is multiple 100000 lines of code;
- We strictly use TypeScript, everything is typed, generics are used widely, etc.
Performance critical services are implemented in C++, these implement the same microservice interfaces that we have in node but are connected via GRPC.c
- Experience with large TypeScript codebases and that have experience with RXJS. In TypeScript they should have worked with: Generics; Async/Await; Type Guards; Iterators;
- Participate in all stages of software development including analyzing, designing, programming, debugging, and modifying software enhancements and/or new products for internal or customer applications;
- Work closely with product owners and principal engineers to implement, test and continually improve the product;
- Take accountability for implementation and quality of software products as well as time and complexity estimation of own technical tasks;
- Explore the existing solution and propose optimizations, analyze and fix incoming defects;
- Develop software products using Agile methods, tools, and continuous delivery process;
- Participate in design reviews, code reviews, and product demos;
- Collaborate with other engineering teams to resolve dependencies and deliver high-quality software on time.
- Strong understanding of OOP concepts and design patterns;
- Software architecture design skills;
- Understanding of test design techniques. Experience in creating test cases;
- Experience using REST, SOAP and similar remote communication techniques;
- Upper-intermediate level of written and spoken English, ability to articulate and communicate clearly complex topics;
- Experience working with CI/CD environments, understanding of Docker concepts.
Nice to have:
- Experience with navigation/geo-location solutions.
Higher Education: Bachelor's Degree in Computer Science, Computer Engineering or Geoinformatics.