← В ленту
Senior
Регистрация: 04.10.2022

Руслан Михалев

Специализация: Lead Java Developer

Портфолио

OTB Bank

● Implemented feature-toggle. ● Changed logging stout json -> filebeat instead of writing directly to logstash. ● Installed Prometheus and started spreading the practice of collecting metrics. ● Redesigned pipelines to use semver. ● Made pipelines for publishing libraries to Nexus. ● I started work on bringing the error format to a single standard (I will implement it through a spring starter). ● My direct responsibilities include maintaining the community of developers within the tribe, as well as developing their competencies, and I also act as a java tech lead.

Alfabank

● With the team, I am working on the development of a high-performance (reactive-based), distributed, open-source authorization server according to the specification of OpenID Connect 2.0 (https://github.com/alfa-laboratory/ratauth), as well as an auxiliary stack of applications for simple integration (gateway, spring starter, java libraries, Slack/Jenkins/Jira/Bitbucket integration, admin control panel). ● The bank has created many different products written on different technologies, each of them has its own authorization system. The business idea is to integrate all applications under a single authorization system and implement seamless cross-application authentication. In addition, the integration should be simple and must be performed by the team itself. ● By the way, I implement the specification WebAuthN (https://www.w3.org/TR/webauthn/).

Mango Techsurance

● Mango is a fully digital insurance company. ● At this startup, we started to develop our event-driven backend on a greenfield project. ● In October 2019, we started sales in Russia as an insurance company. ● In the first 5 months of work, I built an infrastructure in the cloud using nomad as an orchestrator, kafka as a message broker for service communication. ● Then the infrastructure for logging and collecting metrics was set up (elk + logstash + kibana / prometheus + grafana). ● Also, in parallel with this, business features were developed. ● A month later, we set up a production stand and started selling insurance products. ● Next, we stabilized programming practices (in particular, we started using kafka-streams, and rewrote everything from reactor-kafka), and made tools so that developers can concentrate on writing business logic.

Скиллы

Java
Groovy
Kotlin
Clojure
Ruby
Python
Golang
Spring
Spring Data JDBC
Spring Cloud
Micronaut
Redis
Hazelcast
ELK MongoDB
Kafka
Pulsar
Pulsar
R2DBC
Reactor
gRPC
Docker/Kubernetes
NodeJS
React/Redux
Terraform
Gitlab-CI
Ansible
Prometheus
Loki
OpenAPI
Growthbook
Selenium/Cucumber/Selenide
JUnit5
TestContainers

Опыт работы

Lead Developer
08.2021 - 08.2022 |Saptain bank - International company
Spring Cloud, k8s, PostgreSQL, AWS, config-server, gitlab-ci, OIDC, EKS (Faregate), IAM , Aurora RDS (PostgreSQL), ElastiCache, Secrets Manager
● Designed authorization solution and RBAC model on top of the spring-authorization-server. ● Led business development in the Scrum team. ● Introduced the practice of TBD and CQRS over Kafka, Feature Toggle, DevOps practice and ci/cd. ● Set up the environment for AWS (EKS/Fargate), passwordless authentication over IAM, MSK, Aurora RDS, ElastiCache, ● Secrets Manager.
Chapter Lead/Tech Lead
08.2020 - 08.2021 |OTB Bank
Spring Cloud, k8s, PostgreSQL, Keycloak
Besides product development was done: ● Implemented feature-toggle. ● Changed logging stout json -> filebeat instead of writing directly to logstash. ● Installed Prometheus and started spreading the practice of collecting metrics. ● Redesigned pipelines to use semver. ● Made pipelines for publishing libraries to Nexus. ● I started work on bringing the error format to a single standard (I will implement it through a spring starter). ● My direct responsibilities include maintaining the community of developers within the tribe, as well as developing their competencies, and I also act as a java tech lead.
Lead developer
04.2019 - 08.2020 |Mango Techsurance
Kafka (CQRS), Kafka-Streams, Dagger (Java Compile-Time DI), gRPC (frontend/backend interaction), Reactor, Drone.io (CI/CD), Docker, Nomad (orchestration), Envoy, React, NextJS, ELK
● Mango is a fully digital insurance company. ● At this startup, we started to develop our event-driven backend on a greenfield project. ● In October 2019, we started sales in Russia as an insurance company. ● In the first 5 months of work, I built an infrastructure in the cloud using nomad as an orchestrator, kafka as a message broker for service communication. ● Then the infrastructure for logging and collecting metrics was set up (elk + logstash + kibana / prometheus + grafana). ● Also, in parallel with this, business features were developed. ● A month later, we set up a production stand and started selling insurance products. ● Next, we stabilized programming practices (in particular, we started using kafka-streams, and rewrote everything from reactor-kafka), and made tools so that developers can concentrate on writing business logic.
Lead developer/Tech Lead
09.2016 - 04.2019 |Alfabank
Java, groovy, spring 5, spring boot 2.0, spring cloud, ratpack, hystrix, rxjava, docker, mesos/marathon, MongoDB (enterprise), ELK
● With the team, I am working on the development of a high-performance (reactive-based), distributed, open-source authorization server according to the specification of OpenID Connect 2.0 (https://github.com/alfa-laboratory/ratauth), as well as an auxiliary stack of applications for simple integration (gateway, spring starter, java libraries, Slack/Jenkins/Jira/Bitbucket integration, admin control panel). ● The bank has created many different products written on different technologies, each of them has its own authorization system. The business idea is to integrate all applications under a single authorization system and implement seamless cross-application authentication. In addition, the integration should be simple and must be performed by the team itself. ● By the way, I implement the specification WebAuthN (https://www.w3.org/TR/webauthn/).
Senior Developer
07.2012 - 09.2016 |Biosoft
Java, Groovy, OSGi, JavaScript, React, Bootstrap, Docker, Xterm.js
● I worked in two divisions of the company - Biosoft and Development On The Edge. Biosoft develops BioUML (https://en.wikipedia.org/wiki/BioUML), a product for computational chemistry and biology, Development On The Edge is engaged in web-development of government systems. ● I developed BeanExplorer 5 - the internal development framework of the company Development On The Edge.

Образование

Software Development
с 2013
SibSUTIS University

Языки

АнглийскийСредний