Alexander Sokolov
Verified Expert in Engineering
.NET 8 Developer
Dnipro, Dnipropetrovsk Oblast, Ukraine
Toptal member since June 14, 2018
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
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
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
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.
Senior .NET Developer
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.
Senior .NET Developer
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.
Senior .NET Developer
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.
.NET Developer
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.
.NET Developer
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.
.NET Developer
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.
.NET Developer
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.
Experience
Ravnur DRM Player
Ravnur Video Portal
http://www.ravnur.comCantaloupe Systems SaaS Portal
https://cantaloupesys.comSitecore | Email Experience Manager
Sitecore | List Manager
Sitecore | Search and Indexing
Navis
Navis 2 City
GIS API Library
Education
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring