We are looking for a Lead Software Engineer - Core Data Services for our Open Location Platform.
The problem is to store, index, analyse and connect them together in the same making it easily available for our users. At the same time, we have be able to scale and change fast to accommodate to the needs of our current and new customers. Think about:
- durable and versioned map of whole Earth with road topology and thousands of different kinds of attributes
- fast changing volatile datasets like traffic and weather and
- streams of different kind car sensors data
The OLP provides the recognized experience of HERE to its customers in order to let them build their location based applications and run them on our cloud infrastructure with ease. Thanks to our powerful abstractions, state-of-the-art building blocks and cloud infrastructure, our customers can ingest, make sense of their location data (e.g. car sensor data for signs, warnings, roads, one way streets, but also weather, or points of interest) in real time.
The data can be mixed and matched and possibly shared with other platform members which makes it even more powerful.
As Lead Software Engineer you have can work on this amazing product. Within a co-located, multi-functional and self-organized team, you'll have fun pair-programming in Scala on systems under huge load and storing vast amount of data in very heart of the platform. You will help running it on production - so no excuses, no throwing things over the fence but full control and responsibility.
We care about software design and take the time to write quality software. We use Scala in a strongly-typed and functional way. If you are not already a Scala expert, you should possess the drive to become one. We use code reviews to learn from each other and to ensure our self-imposed bar for quality is constantly met.
Your role encompasses defining and working on features and technical tasks in a self-directed fashion, supporting your colleagues with technical challenges, working with product management to analyze requirements, talking to partners, designing, implementing and documenting solutions as well as testing and reviewing your colleagues' work.
Your team-shared responsibilities
- architecture, design, develop, test the backend components
- run, monitor and support them running in production (on-call)
- elaboration and refinement of user stories
- development infrastructure (build, testing, continuous integration)
- documentation (deliverables and wiki)
- evaluate and choose technologies suitable for work
Who are you
- have a former experience with high throughput, low latency, highly reliable systems at scale
- have solid knowledge of object oriented and functional programming languages and related technologies
- are familiar with HTTP, the REST-principles, and TCP/IP networking
- understand of the importance of producing good and readable code
- have in-depth experience of writing unit-, acceptance-, performance tests and test-driven development
- have desire to learn new things and ready to be challenged