Senior Software Engineer (Scala)

Job description

What we are doing

Kaizo aims to actively guide employees towards achieving their goals and making an impact at their companies.

We are building a performance development platform for customer support teams that leverages gamification and AI to improve operational efficiency, elevate teams' performance and retention with actionable goals. We are a product-led, fast-growing SaaS company with a diverse team and a globally active customer base.

  • Kaizo is leveraging gamification and machine learning to make the daily work experience for customer support agents more engaging, fun and productive.
  • We run a microservice-based stream processing platform which processes 200+ million events every day using Akka Streams and Kafka.
  • Those services are deployed to Kubernetes on Google Cloud and feed data into Elasticsearch and Mongodb.
  • Our systems are designed to be reactive, e.g. responsive, resilient, elastic, and message-driven.
  • We are building a realtime Machine Learning engine to continuously adjust the gamification parameters that keep our users motivated and productive.
  • We are always scaling up to handle more data with lower latencies.

Your role in our team

As a Senior Software Engineer, you will be responsible for designing and implementing backend services on existing or new microservices, integrate with third-party APIs, and help run all of this in production. You will work tightly with our frontend developers as well as with our AI Engineers.

You will also be focused on:

  • Playing an integral part in the design and architecture of our gamification platform
  • Developing features in a fast paced startup environment without compromising automated tests or neglecting software craftsmanship
  • Working on our distributed, real-time engine that handles millions of events per day
  • Getting our system ready to scale by one order of magnitude
  • 'Big Picture' thinking
  • Help the AI team implement distributed machine learning algorithms
  • Coaching and mentoring Juniors in the team

Job requirements

What you bring to the table

  • 6+ years professional experience with Scala Software Engineering
  • 4 years experience working with complex data sets in a data driven company
  • experiences with stream processing as well as with designing and implementing REST APIs
  • diverse technology knowledge and a sense of curiosity combined with strong problem solving skills
  • experience with at least some of the technologies used: Akka, Akka-Stream, Akka-Http, Kafka, ElasticSearch, MongoDB
  • experience with deploying services to Kubernetes and running software in production on Google Cloud (or AWS/Azure)
  • BS/Masters degree in Computer Science or equivalent experience
  • a Github or StackOverflow profile is always a good way to impress us; so feel free to include it in your application!

Being part of an early stage startup we sometimes need you to wear multiple hats just to keep things going, hence being a team player is a must have.

What we bring to the table

You will work with some of the best global talent to build a tool used by great companies like Marleyspoon, Footlocker, Soundcloud, Tripaneer or WeTransfer. You will be part of a team of diverse and passionate people with a culture that empowers great work.

We do everything to make sure you feel nourished, motivated, and supported by offering:

  • Teamwork & fun perks when full remote work is required (weekly team games & drinks, morning coffee chats and more)
  • Investment into your personal development using our network of internal and external mentors
  • New laptop & tools
  • Free lunch (even while working from home)
  • Flexible working hours and unlimited holiday policy
  • Workations (2019: Tuscany, 2020: Zoom 😢, 2021: ???)