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

Alexander Sokolov

Verified Expert  in Engineering

Software Developer

Location
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

Ravnur, Inc.
FFmpeg, TeamCity, xUnit, Entity Framework, Microsoft SQL Server, Vue, Kestrel...
Cantaloupe Systems
Entity Framework, Microsoft SQL Server, jQuery, Knockout (Knockout.js)...
Sitecore
Azure Search, Sinon.JS, Mocha, SpecFlow, Moq, NSubstitute, NUnit, xUnit...

Experience

Availability

Part-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 .NET Developer

2017 - PRESENT
Ravnur, Inc.
  • Developed a video transcoding module which is able to transcode videos into different formats using Azure AMS or FFmpeg; create subtitles using Azure Indexing.
  • Created a universal Windows app which 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.js which utilized our REST API.
  • Improved the performance of the transcoding in 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

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

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

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

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

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

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

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

https://doc.sitecore.net/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

https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/the_list_manager
I managed and added support for Azure Search provider which improved the performance of importing contacts.

Sitecore | Search and indexing

https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/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.

Languages

C#, JavaScript, SQL, TypeScript

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)

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

Paradigms

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

Platforms

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

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

Storage

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

Other

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

2005 - 2010

Master's Degree in Computer Science

Oles Honchar Dnipro National University - Dnipro, Ukraine

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