
Oleg Khymchenko
Verified Expert in Engineering
Full-stack Developer
Kharkiv, Kharkiv Oblast, Ukraine
Toptal member since October 1, 2018
Since the early 2000s, Oleg has been making a living as a full-stack developer—working on a number of projects utilizing a wide variety of languages and technologies. He's taken part in developing big complex solutions as well as small apps for the web, desktop, mobile, and so on. Oleg's strongest skill is with C#/.NET but he's also developed with ASP.NET MVC, ASP.NET Core, Entity Framework, HTML/CSS, JavaScript, jQuery, Angular, SQL, and iOS.
Portfolio
Experience
- C# - 15 years
- JavaScript - 10 years
- ASP.NET MVC - 7 years
- Angular - 5 years
- Windows Presentation Foundation (WPF) - 5 years
- React - 4 years
- SQL Server 2016 - 2 years
- ASP.NET Core 2 - 1 year
Availability
Preferred Environment
Azure DevOps, Web MVC, Angular, WebStorm, Bitbucket, GitHub, RubyMine, Visual Studio
The most amazing...
...thing I’ve built was a complex system: a site that works with a SQL database and exposes an API that’s used by Android/iOS apps that sync data with the server.
Work Experience
Senior Software Developer
Synergy Solutions, lnc.
- Developed a custom SharePoint intranet solution that was used by many departments of the UK's largest woodland conservation charity, the Woodland Trust.
- Migrated multiple MS Access databases to MS SQL server.
- Took over a number of different applications written by different developers—improving, refactoring, optimizing, and rewriting them from scratch.
- Created an ASP.NET MVC application that manages a client's properties (such as woods, land plots, and more) and stored the information in MS SQL databases.
- Developed iOS and Android mobile clients that helps woodland officers to perform their daily tasks. The clients stored data in a local SQLite database and synchronize them with the server when an internet connection is available.
- Built an Outlook add-in for a CRM system (OroCRM) that allows the user to synchronize their contacts, events, and tasks with a CRM server.
Development Lead
GlobalLogic
- Led a team of 5-20 .NET developers to launch and maintain a complex B2B solution.
- Collected and analyzed the requirements then designed the web application, databases, and services.
- Made the key architectural decisions.
- Redesigned, refactored, and migrated existing applications to use modern technologies.
- Optimized a web application and SQL databases to cope with the high workload produced by a very large number of users across Europe and the UK.
- Took over big projects from other companies that did not manage to deliver on time or on their promises.
- Developed key components for ASP.NET web applications.
- Created database structures, views, indexes, and stored procedures for an MS SQL database.
Experience
Project ED | ASP.NET MVC
Project Details:
· The system was implemented as an intranet website using the .NET and ASP.NET MVC technologies.
· The site is hosted using IIS installed on a dedicated server within the client’s local network.
· Windows authentication is used to authenticate domain users.
· The data is stored in an MS SQL database located on an MS SQL Server installed on a separate physical server.
· The system uses the Entity Framework for accessing the database data.
· SSRS reporting services are used to generate various reports.
· AJAX and jQuery are widely used to create a convenient-and-comfortable user interface.
· Project ED integrates with other systems such as the mobile version of ED system using the ASP.NET Web Services located on the web server.
· MSMQ is used to deliver messages between a number of ED subsystems.
tED (iOS)
The purpose of the implemented application was to compile the most valuable ED modules and allow the users to execute their duties without connecting to the Internet.
A Few of the Required Features:
· Updating and synchronizing sites’ tasks, condition assessments.
· The full-stack of site administration and management activities including grant contracts, objectives, key features, generation of purchase and sales orders, tracking of monitoring and harvesting activities.
· The users’ permissions and access levels in tED were to be identical to ED.
· The user interface needed to be simple, welcoming, and intelligent.
Shoplinkz | Ruby on Rails
I joined the project in the middle of the development and was requested to apply new look and feel (created by a dedicated designer), rewrite some parts of the system, and implement new features.
Art Design Carta | AngularJS and Ruby on Rails
As a member of a development team (about ten members), I was involved with different tasks such as system design, programming, bug fixing, deployment, and more. I also developed some parts of the website using AngularJS and Ruby on Rails. In addition, I created many subsystems for the Android mobile client using Android Studio and Java.
Outlook Add-in for OroCRM System | WPF
https://oroinc.com/doc/orocrm/2.3/admin-guide/integrations/outlook-syncTo accomplish this, I created an Outlook add-in using Visual Studio Tools for Office (VSTO) and Windows Presentation Foundation (WPF). The add-in communicated with the OroCRM server via a RESTful web service exposed by the OroCRM system.
I also created a custom installation that supports both per-user and per-machine installation. WiX toolset was used to create the installation. An automatic update of the add-in was implemented as well.
Enterprise Intranet | SharePoint
Permissions can be assigned on a site, library, and document level. Users can choose to keep track of updates in a document by a means of automatic system notifications or through the document version history feature.
Each team area can be uniquely customized, extended, and adjusted to best suit the team's specific needs and tastes. The portal is integrated with other internal systems like the photo library, PDR, help desk, and the HR system. An integration with the HR system ensures the portal gets automatically updated with the most recent HR information.
Users also have the ability to manage and customize their publicly accessible profile personal data. A separate area is dedicated to internal communication within the company, where employees can share news and invite to events.
Efficient HTTP Request Handling
It can also retry requests in case of failure. It receives a server response and parses the response header to extract the metadata returned by the server; then an HTTP request should be sent from a background thread. The main (UI) thread also can monitor all of the requests from all of the background threads and abort any of them if necessary.
Education
Engineer's Degree in Computers and Networks
Kharkiv National University of Radio Electronics - Kharkiv, Ukraine
Certifications
Exam MB6-890: Microsoft Dynamics AX Development Introduction
Microsoft
Exam 70-486: Developing ASP.NET MVC Web Applications
Microsoft
Skills
Libraries/APIs
Web API, Node.js, React, Stripe API, PayPal API
Tools
Bitbucket, TFS, GitHub, Microsoft Visual Studio, Git, Visual Studio, WebStorm, RubyMine, PhpStorm, Jira
Languages
C#, HTML, CSS, JavaScript, SQL, PHP, Delphi, VB, Java, Ruby, PHP 7, Swift, VBScript
Frameworks
ASP.NET Core 2, Angular, ASP.NET MVC, .NET, .NET Core, ASP.NET, Ruby on Rails (RoR), Symfony 4, Windows Presentation Foundation (WPF), Entity
Platforms
Windows, Azure, Firebase, iOS, Android, Visual Studio Code (VS Code), SharePoint
Storage
MySQL, SQL Server 2016, Azure Cosmos DB, Cloud Firestore, Microsoft SQL Server, Firebird, SQLite
Paradigms
Azure DevOps, Agile, Scrum
Other
Web MVC, Outlook Add-ons, HTTP
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