Our client is a company that enables people, enterprises, and cities to harness the power of location. By making sense of the world through the lens of location, it empowers their customers to achieve better outcomes from helping a city manage its infrastructure or an enterprise optimize its assets to delivering drivers to their destination safely.
Location data can reveal sensitive information about persons, which leads to a privacy breach. Collected location data needs to be anonymized for sharing, balancing the privacy level and utility of the anonymized data.
The Senior Java Engineer we are looking for will be tasked with developing one of the mission-critical components within what we call "Anonymization Library". Our library is a set of algorithms for performing use case specific anonymization of location data, including the following features:
- Loading location data;
- Assessing suitability of location data for a specific use case;
- Configuring the anonymization method and accompanying parameters;
- Performing anonymization of location data with specific method and parameters;
- Evaluating results of anonymization.
Technological stack of the project includes but not limited: Java 11, Spring Boot 2, JUnit 5, Spring Data, Spring Flux, Kafka, PostrgeSQL, Maven, Docker, and Swagger.
- As a team member you will: * Work closely with a Product Owner and Senior Engineers to implement, test and continually improve scalable Java applications and services;
- Take accountability for implementation and quality of software products as well as time and complexity estimation of own technical tasks;
- Develop software products using Agile methods, tools, and continuous delivery process;
- Collaborate with data science team other engineering teams to resolve dependencies and deliver high-quality software on time;
- Participate in design reviews, code reviews of your work and the work of your peer engineers;
- Support production issues both directly and indirectly with customers.
- 4+ years of experience in software engineering with Java and adjacent open source technologies;
- Proficiency in Java 8-11 (Spring);
- Good understanding of basic software design approaches and architectural patterns;
- Good experience with OOPS, algorithms, data structures, multi-threading, design patterns and industry best practices
- Ability to understand and develop low-latency, high-performance backend applications;
- Experience working with CI/CD environments, understanding of Docker concepts;
- Upper-intermediate level of written and spoken English, ability to articulate and communicate clearly complex topics.
Nice to have:
- Basic experience with Python.
Higher Education: Bachelor’s Degree/Master’s Degree.