Valeriy Gourov
C# | .NET | ASP.NET Core | Azure developer
Location
Ukraine, Krivoy Rog
Intro
Senior .NET developer with 8+ years (20+ years total) experience in building scalable and reliable systems using C#, .NET, ASP.NET Core. I specialize in software architecture, performance optimization, integrations, and implementation of security and DevOps practices. I strive to write clean, maintainable code and build high quality products. Demanding in details, but aiming for a balance between excellence and practicality.
Achievements
- Optimized (without changing the solution architecture) the data reading process (Entity Framework) for the web page through getting rid of looping queries, bundling individual queries, and more efficient LINQ expressions. This reduced the page load time from 40 seconds to 2 seconds.
- Implemented automatic parallelization of data acquisition processes using TPL Dataflow, which increased processing speed by 2-10 times.
- Replaced inefficient stored procedures with optimized Entity Framework Core queries, speeding up data writes by 2-3x and improving data availability for end users.
- Implemented logging with ELK integration, which significantly reduced incident investigation time.
- Implemented distributed monolith configuration management via HashiCorp Consul, allowing for rapid changes in system behavior without downtime.
- Integrated Azure Key Vault to securely store secrets without committing them to source code and repository.
- Initiated migration of legacy distributed monolith to AWS using event-driven architecture (SNS, SQS), automatic scaling of instance counts, centralized and personalized resiliense tuning and retry policy.
- Implemented code style conventions, static code analysis (both locally and in the CI/CD process), and code review, which significantly increased code quality and reduced bugs in the final product.
Expertise
Application architecture
Designing architecture for scalable C#/.NET applications in a cloud environment (Azure/AWS).
Application development
Development of RESTful APIs, Blazor applications, distributed systems using SignalR, gRPC, WebSockert, RabbitMQ and others.
Performance optimization
Optimize application code and database interactions (Entity Framework Core, SQL, NoSQL).
Infrastructure
CI/CD implementation (Docker, Azure, AWS), unit, integration and other types of testing (MSTest, xUnit), security (Azure Key Vault), application health (health checks, metrics, ELK).
Integration
Use of external systems such as 1C, Twilio, bank payment systems, Telegram, for interaction and data exchange.
Technical leadership
Technical leadership, mentoring other team members, code review, implementing code standards.
Skills
C#
.NET
ASP.NET Core
Blazor
Entity Framework Core
LINQ
Web API
gRPC
WebSocket
SignalR
Azure
AWS
Microsoft SQL Server
PostgreSQL
MySQL
MongoDB, LiteDB
RabbitMQ
Docker
GitHub Actions
Prometheus
Telegram API
HashiCorp Consul
Microsoft Bot Framework
XAML, WPF
.NET MAUI
TeamCity
Azure DevOps
GitLab
.NET Aspire
MassTransit
MSTest
xUnit
1C
Twilio
Selenium WebDriver
Puppeteer
HTML, CSS
Microservices
OpenTelemetry
TPL Dataflow
OData
Redis
ElasticSearch
Apache Kafka
Experience
TemaBit
C# developer
A job management system for drivers:
- Designed and implemented the foundation of a job management system for drivers based on ASP.NET Core and Telegram, which allowed drivers to work with jobs without creating a specialized and more difficult to implement mobile application.
- Implemented a basic user interface flow subsystem for interacting with the system via a Telegram chat bot.
A system for collecting information from external sources:
- Designed a subsystem to collect data through a set of proxy servers with the ability to rotate and match them. This significantly reduced the number of failed data collection sessions, which, in turn, reduced the likelihood of users not having relevant data to analyze.
- Optimized and unified inefficient data recording in SQL Server, implemented on stored procedures, by replacing it with Entity Framework Core and more efficient processing algorithms (yes, such a paradox). This allowed to reduce the writing time by 2-3 times and increase the speed of receiving new data by end users.
- Implemented configuration management of a distributed monolith in the Production and Test environments using HashiCorp Consul, allowing the application's behavior to be changed quickly without downtime.
- Implemented a full logging system with log events sent to ELK. This significantly reduced the time required to investigate incidents.
- Implemented health monitoring (health check, metrics). This increased awareness of the operational state of the application and allowed faster response to failures.
New version of the system for collecting information from external sources:
- Initiated the implementation of a new version of the application with migration to the cloud (AWS) and using event-driven architecture (SNS and SQS), automatically scaling the number of instances of data collection modules based on the number of jobs.
- I implemented code style conventions, code analysis by syntax analyzers, code review both during local work and CI/CD process, which significantly increased the quality of the code itself and reduced the number of errors in the final product.
- Implemented unit and integration tests, which significantly increased system reliability and reduced errors in the production environment.
- Implemented automatic parallelization of the data collection process using TPL Dataflow, which allowed to increase the processing speed by 2-10 times on the same hardware resources, depending on the data source.
- Designed and implemented integration with external data sources on the web with support for retry logic, fault tolerance, etc. (with unified setting of the general policy and the possibility of flexible customization for a particular module), which allowed to significantly increase the stability of the collection process and the amount of collected data.
Visartech
C# developer
A system for processing and filtering incoming phone calls:
- Designed and implemented the server-side foundation for an incoming phone call processing and filtering system based on ASP.NET Core and Azure App Services.
- Implemented integration with Azure Key Vault to securely store application secrets.
- Integrated the app with Twilio for primary management of incoming calls and making outbound calls.
- Engaged SignalR and Azure SignalR Service to interact with the mobile app.
Must2Go
C# developer
Server part of the tourist site (ASP.NET Web API):
- Integrated the app with a banking system, allowing payments to be accepted on the site using that bank's mechanisms.
- Developed the initial version of a new mechanism for presenting the site's home page information without radical changes to the application architecture. This allowed launching the new feature as quickly as possible (with subsequent implementation of a more correct version), which significantly increased the attractiveness of the site from the end users' point of view.
TQM systems
C# developer
An integration platform for data exchange:
- Developed and implemented the architecture of exchange modules (ASP.NET Core) with "1C:Enterprise 8" (several different configurations), "Nova Poshta", "Prom.ua", as well as modules for the logistics company and the main site of the system. This allowed us to add new entities to the module with minimal time consumption.
Education
Krivoy Rog Technical University
Mining Equipment
Faculty of mechanical engineering. Specialist.



