- 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;