About the Role
About the Role
As a Backend Engineer at Synerise, you will design, build, and evolve the backend for an event processing and analytics platform that enhances AI-driven customer experiences. You will work with a diverse team to develop architecture and design patterns for high-volume data processing while ensuring performance optimization.
About the Team
Our Backend Team works primarily with Scala, Apache Kafka, ElasticSearch, Clickhouse, Kubernetes, and cloud environments (Azure and GCP). Observability is a first-class concern: distributed tracing (OpenTelemetry, Jaeger), structured logging, and rich metrics are embedded into how we design and operate services.
What You'll Do
- Develop architecture and design patterns to process and store high volume data sets.
- Develop software with a core focus around optimisation and performance.
- Translate complex functional and technical requirements into detailed design.
- Perform analysis of vast data stores and uncover insights.
Who You Are
- Programming skills in Scala or other JVM language.
- Programming skills in Rust or willingness to learn.
- Solid understanding of Kafka and Kubernetes.
- Experience with (at least one): Akka / ZIO / Cats.
- Experience with SQL and NoSQL databases.
- Hands-on experience using AI coding (e.g., Claude Code, Cursor, GitHub Copilot) as part of daily software engineering work.
- Capacity to plan and scale systems to keep up with incredible growth.
- Excellent troubleshooting and debugging skills.
- A passion for building tools and automating everything.
- Strong analytical skills.
- Knowledge of Polish is a must.
Bonus Points
- Solid understanding of JVM internals (GC, profiling, heap and thread dumps).
- Experience designing and operating microservices architectures.
- Hands-on experience working in cloud environments (Azure and/or GCP), preferably with AKS.
- Working knowledge of Java or Python.
- Knowledge of ElasticSearch/Opensearch.
- Basic knowledge of AI/ML concepts.
What We Can Provide for You
- Work on a production-grade, large-scale system used by enterprise customers worldwide.
- Real technical challenges around performance, data volume, and distributed systems.
- Opportunities for continuous technical growth and deeper ownership over system design.
- Support from experienced engineers and a strong engineering culture.
- Influence on architectural and technical decisions within your team.
Requirements
Scala programming
Programming skills in Scala or other JVM language are essential.
Rust programming
Programming skills in Rust or willingness to learn is required.
Kafka knowledge
A solid understanding of Kafka is necessary.
Kubernetes experience
Experience with Kubernetes is important.
Database experience
Experience with SQL and NoSQL databases is required.
Nice to Have
Experience designing and operating microservices architectures is a plus.
Hands-on experience working in cloud environments (Azure and/or GCP) is beneficial.
Basic knowledge of AI/ML concepts is a bonus.
Benefits
Technical challenges
Work on real technical challenges around performance, data volume, and distributed systems.
Growth opportunities
Opportunities for continuous technical growth and deeper ownership over system design.
Supportive culture
Support from experienced engineers and a strong engineering culture.