Revolut logo

Revolut

Revolut under the hood

Try:
Revolut logo
Revolut

Improving product reliability by imposing constraints as a part of CI/CD process

Revolut AppSec built DARC (Dynamic Application Risk Calculator) and integrated it with Security Drone to centralise security findings, compute a stateless risk score (RFC + RFV using CVSS and weighted arithmetic mean), and enforce risk- and bugs-based blocking at PR time in the CI/CD pipeline. DARC includes an API, scheduled collector (apscheduler), DB and UI, supports derogations and audit logging, and improved product reliability by preventing risky PRs from merging.

Revolut logo
Revolut

Security Drone: scaling continuous security at Revolut.

Revolut built "Security Drone", a centralized, Kubernetes-hosted scanner that shifts security left by scanning pull requests (SAST via Semgrep initially, later SCA via Snyk and IaC via Checkov). The system decouples scans from CI pipelines to reduce developer friction, delivers fast parallel scans with low false positives, and scales to tens of thousands of scans per month.

Revolut logo
Revolut

iOS Screen Navigation Engine at Revolut

Describes Revolut's custom iOS navigation abstraction (Flow Engine) that moves navigation logic out of view controllers into a state-machine-based FlowEngine with FlowPerformer and FlowRunner, contrasts it with storyboard/segue/code-driven navigation, and notes benefits like reduced duplication and improved testability (TDD).

Revolut logo
Revolut

Best Practices For Unit Testing at Revolut

Revolut engineer shares unit-testing best practices: use sample/factory functions for domain models, a MockFunc abstraction to simplify mocks, and builders to reduce test-setup noise. The techniques aim to make writing unit tests easier, more fun, and maintainable across the codebase.

Revolut logo
Revolut

5 Tips for your Live Coding Interview

Practical advice for candidates facing live coding interviews: be yourself, break problems into manageable steps, think aloud and ask clarifying questions, avoid overcomplicating solutions, and practice regularly. The post stresses delivering a working, tested MVP and staying current with language features (e.g., Java Optionals).