Senior Backend Engineer
since 12.2022 - Till the present day |NDA
PostgreSQL, Entity Framework, Redis, Kafka, RabbitMQ, Quartz.NET, PlantUML, xUnit, Moq, Fluent Assertions, Azure pipelines, Kubernetes, Open Telemetry, Prometheus
Developing system for broadcasting information about sport events for bidding on match results or specific actions (total number of goals, goal difference, etc.). Supports several sports, pre-match team coefficients and scouting information sources (stadium signals).
● Designed, developed and deployed a service that downloads match fixture list and fixture changes from another vendor and sends them to downstream services for processing.
● Adding support for new sport in existing services.
● Extending one of communication channels to consumer by adding new message types signaling for bet cancellation main achievements.
● Helped automate DB schema migration process. Before that developers applied migration scripts manually for each environment.
● Led the effort for using backward-compatible migrations so we can roll out schema changes without breaking existing services.
● Advocated for refactoring and extracting infrastructure code to common libraries (config validation, event dispatcher, caching).
● Participating in code review, shipping releases to live environment, taking part in system architecture meetups.
Senior Backend Engineer
11.2019 - 12.2022 |Zeal Group
ASP.NET Core, Entity Framework, Quartz.NET, MySQL, Redis, Minio, Evolve, ELK, Sentry, Prometheus, Grafana, MailKit, Twilio, SendGrid, Kafka, xunit, Moq, Fluent Assertions, Gitlab, Terraform, Vue 2, TypeScript, axios, moment
Leading the team in charge of modernized clients private area for an online brokerage.
Main achievements:
● Rebuilt registration workflow (was in legacy system).
● Provided architectural input and fixed multiple bugs for new authentication service.
● Rebuild document verification (was in legacy system).
● Migrated documents from various legacy systems to centralized object storage.
● Implemented copytrading in the system – including payment request handling and CRM display.
Regular activities:
● Part of a platform team - maintaining foundational libraries other developers use (metrics, notifications, object storage, etc.).
● Part of an architectural committee meetings that advise on how to gradually move off legacy services.
● Code reviews.
● Speed optimization in various services.
● For an earlier project I did fullstack work in Vue.js and TypeScript.
● For recent projects, frontend tasks are done by a separate team.
Senior Backend Developer
05.2017 - 11.2019 |Tinkoff.ru (one of the biggest financial institutions in Russia)
ASP.NET MVC 5, WebApi 2, JQuery, Twitter Bootstrap, IIS, Nginx, Entity Framework/ Dapper, SQL Server, Elasticsearch, Kibana
Developing several projects for small business’ private area:
● Set of microservices built with ASP.NET Core, Postgresql, Redis, Kafka, MongoDb; writing e2e tests in Typescript with Jasmine.
● ASP.NET MVC 5, WebApi 2, JQuery, Twitter Bootstrap, IIS, Nginx, Entity Framework/Dapper, SQL Server for data storage, integrating with various internal systems for authentication/authorization and getting new data (HTTP or async messaging). setting up TeamCity builds for one-click releases to test and live environments.
● Messaging solution - Scala 2.12, Slick to access Postgresql, akka-http, integrating with push notification provider via Kafka, IBM MQ, Redis + Infinispan for storing session cache, Monix, Play json, akka streams, ScalaTest for writing unit tests.
● Gained rather good Postgresql knowledge including how it internally handles things like MVCC and vacuum, plus basic pgbouncer setup common project infrastructure -Elasticsearch, Kibana, elastalert, filebeat for logs management, setting up Grafana dashboards
Backend Developer
06.2015 - 05.2017 |Apostol
Couchbase, Elasticsearch
● Developed monitoring system for mass media and social networks - integrating with external services for loading data.
● Supporting data processing system built with TPL Dataflow.
● Writing code for site backend.
● Helping perform some administrative tasks (because I was curious) - migration and expanding Couchbase, Elasticsearch clusters.
● Setting up periodic backups.
● Writing Powershell scripts to deploy background services and web applications.
Backend Developer
10.2013 - 05.2015 |SyncCloud
ASP.NET MVC, Web API, Dapper, Redis, Amazon Web Services, Calendar, Storage, TimeZone
● Developing task and project management system using ASP.NET MVC, Web API, Dapper,
Redis, Amazon Web Services.
● Integrating with Google services - Calendar, Storage, TimeZone.
● Writing unit and integration tests.
● Continuous code refactoring.
● Writing release scripts.
● Load testing using Yandex Tank tool.
● Built an authorization service prototype that used Neo4j as underlying datastore.
● Separate team handled frontend development.
Web Developer
01.2012 - 10.2013 |Europlan (one of the largest privately-held car leasing companies in Europe)
ASP.NET MVC/Web API, Entity Framework, SQL Server 2012, Knockout, Angular, TeamCity, RabbitMQ
● Developed several systems that help automate interval business-processes (mainly for car leasing and insurance) using ASP.NET MVC/Web API, Entity Framework, SQL Server 2012, Knockout and Angular.
● I took part in developing current version of a public website, leasing.ru.
● I’ve set up TeamCity for continuous integration and deployment and communicated with 3rd party services using RabbitMQ message broker.
Software Developer
05.2010 - 10.2011 |Startup developing document workflow application
.NET 4.0, WPF, WCF, Windows Azure, Entity Framework 4, Managed Extensibility Framework (MEF), Visual Studio 2010, Team Foundation Server 2010, SQL Server 2008 R2, Expression Blend 4, Windows Azure SDK, ASP.NET MVC 3, TPL (Task Parallel Library)
While developing a system I’ve gained experience in developing projects from the ground-up, designing user interface, working on functional requirements for various system components, developing architecture of a distributed application, optimizing data access code so it can scale to higher load.
● Designing user interface in Expression Blend 4.
● Writing and extending UI logic using MVVM pattern.
● Developing web services using WCF and Windows Azure SDK.
● Designing data access code.
● Evolving application architecture using Inversion of Control principle with StructureMap and MEF.
● Web application development using ASP.NET MVC 3, Entity Framework, Windows Azure.
Software Developer
12.2008 - 05.2010 |Moscow State University of Economics, Statistics and Computers
ASP.NET, MS SQL Server 2008, ADO.NET, LINQ
● Support and feature development of a website providing access to students and teachers regular and exam timetable; refactoring, applying new technologies.