Job responsibilities
- Executes standard software solutions, design, development, and technical troubleshooting
- Writes secure and high-quality code using the syntax of at least one programming language with limited guidance
- Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
- Applies knowledge of tools within the Software Development Life Cycle toolchain to improve the value realized by automation
- Applies technical troubleshooting to break down solutions and solve technical problems of basic complexity
- Gathers, analyzes, and draws conclusions from large, diverse data sets to identify problems and contribute to decision-making in service of secure, stable application development
- Learns and applies system processes, methodologies, and skills for the development of secure, stable code and systems
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on computer science or STEM (science, technology, engineering or mathematics) concepts and proficient advanced experience.
- At least 5 years of recent hands-on professional experience (actively coding) working as a data engineer (back-end software engineer considered)
- Understanding of distributed systems and cloud technologies (AWS, GCP, Azure, etc.)
- Understanding of data streaming and scalable data processing frameworks (Kafka, Spark Structured Streaming, Flink, Beam etc.)
- Experience with SQL (any dialect) and Data tools (ie. Dbt)
- Experience in the all stages of software development lifecycle (requirements, design, architecture, development, testing, deployment, release and support)
- Experience with large scale datasets , data lake and data warehouse technologies on at least TB scale (ideally PB scale of datasets) with at least one of {BigQuery, Redshift, Snowflake}
- Experience in Infrastructure as Code (ideally Terraform) for Cloud based data infrastructure
- Good experience with using a JVM language (Java/Scala/Kotlin, preferably Java 8+) or extensive knowledge of Python
- Excellent written and verbal communication skills in English
- Willingness to work under employment contract on a hybrid model (60% per quarter from the office in Warsaw)
Preferred qualifications, capabilities and skills
- Experience with a scheduling system (Airflow, Azkaban, etc.)
- Understanding of (distributed and non-distributed) data structures, caching concepts, CAP theorem
- Understanding of security frameworks / standards and privacy
- Desired – experience in automating deployment, releases and testing in continuous integration, continuous delivery pipelines
- A solid approach to writing unit level tests using mocking frameworks, as well as automating component, integration and end-to-end tests
- Experience with containers and container-based deployment environment (Docker, Kubernetes, etc.)