Alexander Sokolov, Developer in Dnipro, Dnipropetrovsk Oblast, Ukraine
Alexander is available for hire
Hire Alexander

Alexander Sokolov

Verified Expert  in Engineering

.NET 8 Developer

Dnipro, Dnipropetrovsk Oblast, Ukraine

Toptal member since June 14, 2018

Bio

Alexander is a veteran developer with more than eight years of experience with C#, Sitecore, .NET Core, and Azure. He's an excellent overall developer, but where he really shines is in his code quality, application of various development practices, and building solid architecture. Alexander enjoys taking on new challenges and learning new approaches.

Portfolio

Communauto
ASP.NET Core, .NET Core, SQL, REST APIs, VB.NET, Visual Basic 6 (VB6), VBScript...
Ravnur, Inc.
FFmpeg, TeamCity, xUnit, Entity Framework, Microsoft SQL Server, Vue, Kestrel...
Cantaloupe Systems
Entity Framework, Microsoft SQL Server, jQuery, Knockout (Knockout.js)...

Experience

  • C# - 16 years
  • JavaScript - 11 years
  • TypeScript - 8 years
  • .NET 8 - 3 years
  • Elasticsearch - 3 years
  • Azure - 2 years
  • .NET Core - 2 years

Availability

Full-time

Preferred Environment

Git, Visual Studio Code (VS Code), Visual Studio, Windows

The most amazing...

...project I've developed is a competitor for Google Earth that’s written on C# and WPF 3D engine with satellite and height tiles where you can “virtually” fly ove

Work Experience

Senior ASP.NET Core Developer

2019 - 2025
Communauto
  • Implemented 50+ new API endpoints for Mobile and React integrations. Enhanced security with OAuth2 for new and old services. Ensured high code quality with 5-10 integration tests per endpoint using XUnit and FluentAssertions.
  • Contributed to security enhancements. Resolved 20+ security issues identified by a pentest audit company in both front-end and back-end code. Implemented best practices to enhance the overall security posture of the application.
  • Integrated Azure ADB2C for user authentication and management. Developed solution for Azure ADB2C user migration and client credential validation. Implemented custom profiles and validation mechanisms for Azure ADB2C client credentials.
  • Integrated Duende Identity Server for secure and scalable identity management. Configured OAuth2 flows and security definitions for the new security service.
  • Migrated legacy VB6 and VB.NET code to .NET 8. Refactored and optimized the migrated code to leverage modern .NET features and best practices. Ensured compatibility and performance improvements through thorough testing and validation.
  • Addressed Redis cache performance issues, memory leaks, and slow API endpoints. Enhanced application performance and stability through targeted optimizations. Integrated third-party APIs to extend functionality and improve user experience.
  • Implemented and supported Azure DevOps build and deployment pipelines. Ensured smooth and automated CI/CD processes for the project.
Technologies: ASP.NET Core, .NET Core, SQL, REST APIs, VB.NET, Visual Basic 6 (VB6), VBScript, .NET 8, Entity Framework Core, Azure Active Directory B2C (ADB2C), IdentityServer 4, Duende, Azure, Azure SQL, React, TypeScript, Redis, Azure DevOps, C#, Azure Table Storage, Azure Blob Storage API, Microsoft SQL Server, Visual Studio, .NET, Multithreading

Senior .NET Developer

2017 - 2019
Ravnur, Inc.
  • Developed a video transcoding module that can transcode videos into different formats using Azure AMS or FFmpeg; created subtitles using Azure Indexing.
  • Created a universal Windows app that integrates into the current portal version; used Azure AMS for transcoding and key delivery, authorization via ACS, and Bento4 for DRM encryption.
  • Migrated an Azure SDK for media services to .NET Standard 2.0 (in my GitHub repository).
  • Developed various pages with Vue, which utilized our REST API.
  • Improved the performance of the transcoding in the current portal version.
  • Set up continuous integration using TeamCity.
Technologies: FFmpeg, TeamCity, xUnit, Entity Framework, Microsoft SQL Server, Vue, Kestrel, Nancy, .NET Core, .NET, RabbitMQ, Azure, C#, Azure Blob Storage API, Azure Table Storage, Azure Media Services API, Visual Studio, Multithreading

Senior .NET Developer

2016 - 2017
Cantaloupe Systems
  • Integrated an existing solution with an Elevio service.
  • Extended a complex price calculation module with new rules.
  • Designed and programmed various pages using MVVM (Knockout.js and TypeScript).
  • Contributed to a SQL database design.
  • Wrote integration/browser tests.
Technologies: Entity Framework, Microsoft SQL Server, jQuery, Knockout (Knockout.js), TypeScript, ASP.NET MVC, C#, Visual Studio, .NET, Multithreading

Senior .NET Developer

2013 - 2016
Sitecore
  • Migrated an email experience manager's UI from an old framework based on Web Forms to ASP.NET Web API controllers; used an internal SPEAK framework, jQuery, and Knockout.js.
  • Added support for the above project via a new XDB Analytics API released in Sitecore 7.5; developed the code for storing contacts and dispatching the data to MongoDB.
  • Refactored, for the email experience manager, a dispatch module to redistribute the load between dedicated Sitecore servers for email sending.
  • Redesigned a list manager's contact importing pipeline for multi-threaded support.
  • Added support for the list manager's Azure Search provider.
  • Migrated a CI system so that it would use a NuGet package approach in a module delivery; for the list manager project.
  • Collaborated in various agile practices like pair programming, mob programming, and TDD.
  • Released hot fixes on demand.
  • Introduced support for Solr Cloud in query providers.
  • Extended LINQ to Solr queries provider with a new functionality.
  • Supervised new developers in various aspects of the project lifecycle.
Technologies: Azure Search, Sinon.JS, Mocha, SpecFlow, Moq, NSubstitute, NUnit, xUnit, Microsoft Unit Tests, RequireJS, Knockout (Knockout.js), jQuery, MongoDB, Microsoft SQL Server, ASP.NET, Sitecore, C#, Visual Studio, .NET

.NET Developer

2011 - 2013
Robosoft | City Control Center Project
  • Analyzed customers' business processes.
  • Designed and created a new WinForms client-server subsystem according to the needs of those business processes.
  • Solved performances issues with building big reports via refactoring and implementing multithreading patterns.
  • Developed an API based on WCF for digital boards at bus stops in order to show bus movement in real time.
  • Created a MySQL database design.
Technologies: Windows Communication Foundation (WCF), DevExpress, MySQL, TPL, Windows Forms (WinForms), C#, Visual Studio, .NET

.NET Developer

2010 - 2013
Robosoft | GIS API Library Project
  • Designed and developed an internal converter that converts from and to third-party map formats.
  • Implemented a module for finding a route between two points that was based on the A* search algorithm.
  • Created a new binary format for storing maps.
  • Added support for viewing maps stored on a remote server.
Technologies: ANTS Memory Profiler, ANTS Performance Profiler, ArcGIS, TPL, Multithreading, Windows Forms (WinForms), C#, Visual Studio, .NET

.NET Developer

2010 - 2013
Robosoft | Navis Project
  • Implemented a new custom access rights system based on user roles.
  • Created a background report building module, based on DevExpress controls, with scheduling, email sending and so on.
  • Designed and implemented a real-time analytical system for sensor values and GPS coordinates which also used TPL to boost performance.
  • Created prototypes of mobile and web clients based on ASP.NET MVC, SignalR, and WCF.
  • Continuously improved on the client and server side performance by refactoring which created multi-thread data processing workflows.
  • Supported engineering and discovered memory leaks in the production servers.
Technologies: Windows Phone 7, SignalR, Windows Communication Foundation (WCF), ASP.NET MVC, WPF 3D, Ninject, Microsoft Unit Tests, DevExpress, MySQL, Task Parallel Library (TPL), Windows Forms (WinForms), C#, Visual Studio, .NET

.NET Developer

2009 - 2010
Optisoft
  • Implemented a system for replaying user actions.
  • Covered reports with unit tests.
  • Migrated a database from MS Access to MS SQL.
  • Eliminated performance bottlenecks in the program.
Technologies: Unit, Microsoft Access, Microsoft SQL Server, DevExpress, Windows Presentation Foundation (WPF), Windows Forms (WinForms), C#, Visual Studio, .NET

Experience

Ravnur DRM Player

I created a universal Windows application for playing encrypted DRM video files. With this app, a user could request a permanent license from the server, download the videos, and play subtitles.

Ravnur Video Portal

http://www.ravnur.com
I created the architecture for a new video platform version with various modules like video transcoding and email delivery.

Cantaloupe Systems SaaS Portal

https://cantaloupesys.com
As a full-stack developer, I designed and created new features, specified the requirements, and created a delivery plan for production.

Sitecore | Email Experience Manager

On this project, I worked as a full-stack developer. I worked with different UI frameworks, back-end parts, added new features, and solved integration issues with other modules.

Sitecore | List Manager

I managed and added support for Azure Search provider which improved the performance of importing contacts.

Sitecore | Search and Indexing

On this project, I worked as a back-end developer with tasks related to working with Solr. This included adding new abilities to the Expression Tree provider, fixing bugs in it, and providing support for Solr Cloud.

Navis

I developed a high-load client-server system for the online tracking of vehicles. It required developing a customized custom map control and creating various business logic types and reports. An important part of the job was the performance optimization as we tried to keep the database as tiny as possible and handle all requests using a single server.

Navis 2 City

Based on Navis project, I designed and developed the new product for municipal transport tracking. It included route compliance, a Web API for bus stops where you could see the arrival time, and various other reports.

GIS API Library

I developed a new version of the internal maps format with routing support based on the A* search algorithm.

Education

2005 - 2010

Master's Degree in Computer Science

Oles Honchar Dnipro National University - Dnipro, Ukraine

Skills

Libraries/APIs

Azure Media Services API, Azure Blob Storage API, Task Parallel Library (TPL), TPL, Entity Framework, Windows Forms (WinForms), Vue, FFmpeg, SignalR, ArcGIS, RequireJS, Sinon.JS, NSubstitute, Moq, Vue 2, jQuery, Plivo, REST APIs, React

Tools

Git, Subversion (SVN), TFS, RabbitMQ, Visual Studio, Microsoft Unit Tests, WPF 3D, xUnit, Microsoft Access, Kestrel, TeamCity, Ninject, ANTS Performance Profiler, ANTS Memory Profiler, Azure Search, Mocha, Azure Active Directory B2C (ADB2C)

Languages

C#, C#.NET, JavaScript, SQL, TypeScript, VB.NET, Visual Basic 6 (VB6), VBScript

Frameworks

.NET 4, .NET Core, ASP.NET Core 2, ASP.NET, Windows Presentation Foundation (WPF), .NET, Nancy, ASP.NET MVC, SpecFlow, NUnit, Knockout (Knockout.js), ASP.NET Core, Entity Framework Core, IdentityServer 4

Paradigms

Object-oriented Design (OOD), Dependency Injection, Test-driven Development (TDD), Behavior-driven Development (BDD), Azure DevOps

Platforms

Visual Studio 2017, Windows, Windows Phone 7, Azure, Universal Windows Platform (UWP), Twilio, Visual Studio Code (VS Code)

Storage

Azure Table Storage, Elasticsearch, MySQL, Microsoft SQL Server, MongoDB, Azure SQL, Redis

Other

Multithreading, Domain-driven Design (DDD), Sitecore, Unit, DevExpress, Windows Communication Foundation (WCF), .NET 8, Duende

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring