← В ленту
Регистрация: 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.

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.

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/).

Скиллы

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

Языки

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