Sergej Jakovljev

Zagreb, Croatia
+385 98 937 8686

Github: @srolija
LinkedIn: srolija

Over the years, I have tried a lot, from frontend development, over the backend, custom-made systems, to mobile applications before finally settling on distributed systems and system architecture design.

Key Technologies: Apache Kafka, Kubernetes, Docker, Node.js, Go, CockroachDB, Redis, CircleCI, Prometheus

Work Experience

Site Reliability Engineer at Superbet

Since April 2019
Still formally employed at Axilis d.o.o.

Key person for everything related to Kubernetes and other shared infrastructure since the project started in 2018., formally moved into SRE position in 2019. and remained key person until May 2020. I stayed the primary owner of Kafka and CockroachDB services since.

During that period, I made significant contributions to our Kafka pipeline, the CI/CD process, logging, and monitoring systems.

Show details Hide details

  • Researched, deployed and maintained the Apache Kafka deployments and all the supporting services on dozen of clusters, along with supporting all the product teams regarding the issues and design decisions surrounding the Kafka.
  • Implemented the complete logging system for Protobuf and JSON messages using Kafka Connect. During the process built multiple Kafka Connect transformations for easy data sinks to PSQL and MongoDB. Built ProtoGUI for easy protobuf encoding and decoding during development.
  • Built the monitoring system based on Prometheus, Grafana and Alerts Manager as well as dozen of shared dashboards used across clusters. Heavily influenced the organization and alerting of on-call team. Regularly part of on-call schedules and active responder to incidents.
  • Researched, evaluated and deployed CockroachDB to Kubernetes and supported the other teams while adopting it.
  • Implemented dozen of CI/CD pipelines using CircleCI, including the Dockerization, storage to ECR and deployments to Kubernetes. Proposed the implementation of Gitops model to existing architecture using ArgoCD. Based on that experience, designed and proposed the new pipeline that allows many micro-services to use the same pipeline using CodeFresh.
  • Collaborated both with our IT team and product teams to support the design decisions of other services and shared the knowledge many times via the internal presentations (ChCh's) and consultations to other teams.
  • Migrated legacy services running on VPS to Kubernetes as well as modernized them to get observability of the stack we have.
  • Mentored other team members, held technical interviews, talks on conferences (BTW 2021, Jobfair 2021) and was member of the employee ladder committee.

Software Engineer at Superbet

March 2018 - April 2019
Still formally employed at Axilis d.o.o.

When the Superbet project started at Axilis, I was one of the first two engineers to start working on it. I began with backend development, and at the same time, I was implementing the infrastructure components needed to deploy the service to Kubernetes.

During this period, I spent most of the time developing services, implementing the shared tools and libraries, and part-time doing the DevOps work.

Show details Hide details

  • Implemented multiple betting related services using Node.js and Go with Kafka and MongoDB, both API backends and parts of processing pipeline. Besides development, on some of them I heavily influenced the design to avoid the race-conditions and cover the edge-cases.
  • Proposed and implemented Kafka Auto Commit Queue for Go that ensures at-least-once semantic in complex parallel processing pipelines. This library was ever since used on all the services written in Go, without any production issues for more than 2 years.
  • Designed and implemented many smaller services, utilities and libraries. Including structured logging client for Go services with Sentry support and initial deployment service.

Software Engineer at Axilis

August 2016 - March 2018

I started as a JavaScript developer working on the Node.js project, moved onto React Native. During the React Native part of my career, I implemented the mobile app features. As part of those efforts, I proposed and implemented react-native-responsive-layout.

  • Worked on mix of Node.js projects based on Express and using MongoDB as a backend developer implementing API interfaces. On one of those projects moved to React Native development role.
  • For one of the projects I heavily researched Amazon Lambda and have written a blog post on the topic.
  • One of the teachers on two of JSSchool educational workshops. Implemented the entire Jobfair 2017 candy crush challenge which within week had 150M+ valid API requests, peaking at more than 4k requests per second on a single instance.

Software Engineer at Quick Response

May 2017 - February 2018

As the only developer on the project designed the system's architecture that allowed tracking and reporting of student attendance using the QR codes. This cut almost 90% of the time effort for those classes, allowed the transparency and immediate updates of student status. The system is since successfully used on three public colleges in Zagreb to track the attendances on PA courses, each having 1k+ active students each semester.

Show details Hide details

  • Platform: Backend system in Django built following all the best practices. It supports multiple courses, conditional grading, automatic score evaluation based on formula, export to the ISVU system and Excel, live scan updates and RBAC for internal users. Deployed to production using Nginx, uWSGi and virtualenv.
  • Mobile Apps: Designed and implemented the mobile application for iOS and Android using React Native. It supportes student mode for checking the score and following the current status as well as administrative mode for teachers which allowed scanning, offline mode and sync.

Education

BA in Computer Engineering

Thesis: Anomaly Detection in Distributed Data Stream Processing System
Faculty of Electrical Engineering and Computing, Zagreb
Sept 2013 - May 2019

  • Finished BA in 6 years while focusing on work and projects. During those years I completed the famous Marko Čupić's Java course and both Linux Beginner and Advanced courses.
  • During the first year built online FRISC Assembler to make it easier for students to do labs on FER ARH1 (introduction to computer architecture) which ended up being official tool for doing labs during the academic year 2014/2015.
  • Volunteered on RADDAR which was a MIOC-FER collaboration to teach elementary schoolers coding and assisted on Digital Logic and Computer Architecture labs for first 3 years.
  • Team lead on the team Midnighty that won 3rd place at App Start Contest 2017 and best pitch award. We built a React Web app with geolocation services.
  • Finished Axilis JSSchool 2018. and Infinum Academy iOS Course 2017.
  • Judge in the regional competition in software development (2016. - 2021.) and in national (2018. - 2021.).

Huh, that was a long list…

I strive to constantly improve, learn new things and solve challenging problems.
I was lucky to get into environment that offered me exactly that up to this point in my career to so I took that opportunity.

If you are the type of company that seeks to do the same and is constantly pushing the bar forward, drop me a line and let’s see if we are a fit.

Mail Github LinkedIn