Position: Senior Data Engineer (Poland/Bulgaria)
Company: DataArt
Category: Data Engineer
Experience required: 5y
English level: upper

**Client**
Our client belongs to the domain of cars.

**Project overview**
Team augmentation for world-leading automotive company.

**Team**
The Data Engineering team enables and manages the ingestion of low latency, high volume car telemetry data that powers our engineering and data science teams to build smart and insightful products.

**Position Overview**
We are looking for an experienced Senior Data Engineer to join the team who will have a critical role in the design, development, implementation and documentation of large-scale, distributed software applications, systems and services. You will engineer data pipelines which will enable our vehicles to communicate to the cloud. The features you build will power driving experiences across the world.

**Responsibilities**
- Work closely with Data Engineering Lead and Product to shape and deliver features
- Help drive the adoption of modern principles, techniques, and technology to the team, raising software quality, value, and delivery
- Design, implement, and maintain complex data engineering solutions to acquire and prepare data.
- Design system components and complex software applications and modules using appropriate modeling techniques
- Create and communicate multiple design views to balance stakeholders' concerns and satisfy functional and non-functional requirements.
- Model, simulate or prototype the behavior of the proposed software
- Verify software design by constructing and applying appropriate methods
- Design, code, verify, test, document, amend, and refactors complex programs/scripts and integration software services
- Work in a team-oriented, agile software engineering environment

**Requirements**
- Experience/knowledge of at least one of the major real-time data processing frameworks, preferably Apache Flink (Kafka Streams, Apache Spark Streams, or similar)  
- Experience/knowledge with at least one major messaging stack (Kafka / Pulsar / RabbitMQ or similar)  
- Strong programming experience in Java (11+) 
- Experience in NoSQL databases as well as relational databases in use often with large data volumes
- Strong data modeling concepts and principles having extensive experience in building data architectures consolidating multiple complex sources  
- Excellent communication skills 
- Experience with modern software and data engineering patterns, including those used in highly scalable, distributed, and resilient systems 
- Experience working with APIs and web services, CI/CD pipelines and automated testing (BDD, Performance, Security), Kubernetes and cloud-native practices, containerized workloads with tools such as Docker
- Experience developing and delivering systems on at least one major public cloud provider; preferably AWS 
- Aspiration to take a mentoring role within a team 
- Passion for agile practices, DevSecOps, incremental delivery, continuous improvement
- Willingness to get involved in problem resolution and initiatives to smooth operational maintenance of production services which might be spread across geographic boundaries
- Spoken English

**Nice to have**
- Experience in building and designing event-driven and/or streaming data services, the IoT domain 
- Experience with testing frameworks JUnit5, Mockito, and Spring Integration
- Experience designing with OpenAPI
- Experience with Git-lab
- Experience developing microservices-based architectures, including distributed messaging patterns
- A BS in Computer Science, Engineering, Mathematics, or a related field