по-русски

  • 2021-06-01 — 2022-09-30 full time
  • Company: Revolut, Credit department
  • Kotlin developer

A solo maintainer of a CRM backend microservice.

One-go achievments:

  • Implemented a bunch of features of manual stage of credit department journey.
  • Implemented unit- and functional tests.
  • Customized Newrelic to have relevant alerts (and not useless ones).

Repetitive practices:

  • watchman: reaction production alerts by fixing a root case and supplying with post-mortem;
  • code refactoring;
  • cross-cutting features;

Stack:

  • kotlin, Spark;
  • Postgress, SQL, JOOQ, Flyway;
  • JUnit, Mockito, Wiremock, Docker+testcontainers;
  • NewRelic, GCP, Gradle, Teamcity, Bitbucket, git;
  • An in-house alternative of Kafka.

Technicalities:

  • modular microservice, DDD (bounded context, ubiquitous language);
  • layered architecture, CQRS, pessimistic locking;
  • idempotency, strategy, permission check, status transitions, decorator, factory, manual DI (no Spring),
  • doc: C4, ADR.

Multiplayer:

  • process: 1-week sprints; daily;
  • 25 developers in a credit department microservice;
  • my sub-team: initially 3 developers, then 1 developer (me, no QA); 1 cross-team buddy; 1 cross-team product owner;