Learn more

Vladislav Khapin

.NET Software Developer
|

Saint-Petersburg, Russia
|

github.com/Liminiens
|

khapin.vladislav@gmail.com
A passionate .NET developer in love with F#.

Work Experience

Wavecom/Tawasal Information Technology LLC

Software Engineer, Russia/UAE, Remote
|

Jun 2019 - Nov 2021

Wavecom (June 2019 - May 2020)

As a team of three developers we started development of a messenger application based on existing MTProto protocol implementation on the server side inside company. For this task .NET Xamarin Forms framework was chosen with Fabulous (F#) MVU framework around it.

Key tasks:

  • iOS and Android UI development in cooperation with a team of UI designers. Largest impact was adding support of notifications for iOS and Android according to TL schema and development of basic chat app for iOS with support of image previews, gifs and videos.
  • Development and optimization of client MTProto protocol implementation in F# in close cooperation with backend developers. Added support for automatic resend mechanism of messages on connection loss. Reported a bug in async implementation in FSharp.Core.
  • Integration of native libraries via Xamarin binding libraries for iOS and Android. Added support for Glide, built custom library around Nuke framework for iOS for image caching, added support for gifs on both platforms.

Tawasal (May 2020 - November 2021)

We continued development with Xamarin Forms, but later started development of our own Fabulous/Xamarin Native framework for project rewrite due to performance issues of Xamarin Forms. During development found bugs in mono arm64 compiler which made impossible transition to F#5 on both platforms. Guided new developers on F# practices and learning the language, played active role in code review.

Key tasks:

  • iOS and Android UI development in cooperation with a team of UI designers, later switched to Xamarin Native. Added support for encoding of videos to platform agnostic codec. During work on native iOS app worked on Fabulous bindings for UIKit views.
  • Integration of native libraries via Xamarin binding libraries for iOS and Android. Created wrapper around SDWebImage/rLottie to support Lottie animations on iOS, also added support for Android via existing native library.

JSC «Science and Technology Center «Development. Research. Valuation.»

Software Developer, Saint-Petersburg, Russia
|

Aug 2016 - May 2019

Oracle Database 11/12c development: schema design, stored procedures, analytic views and more. Done three projects for an economic company which helped them to automate calculations, document data processing and review via Oracle Database and Oracle Apex products.

Developed a ASP .NET MVC 5 web application for exporting project data as Visio diagrams.

Developed a ASP .NET Core/Vue Js web site for iternal use inside company.

Developed a ASP .NET Core/F#/Angular web application for software updates monitoring.

Introduced and supported the use of Docker for .NET Core applications in a team. Introduced and supported Teamcity for CI\CD in a team. Introduced core Git practices for development.

JSC «Science and Technology Center « Development. Research. Valuation.»

Junior Software Developer, Saint-Petersburg, Russia
|

Oct 2014 - Aug 2016

Under supervision created a .NET/ASP .NET MVC 5 web application for verification of standard documents in Excel format. That allowed to reduce time spent on verification from days to hours. Took part in database development in other projects.

TAD Development

Software Developer, Russia, Remote
|

Jun 2018 - Aug 2018

Took part in development of a voice picking software for Manhattan SCALE Warehouse system. Did research and analysis of SDK functions which were later exposed via WCF endpoints for a picker device.

Education

ITMO University, Saint-Petersburg, Russia

Bachelor’s Degree in Business Informatics
|

2012 - 2016

Languages and Frameworks

  • F#
  • C#
  • Xamarin Forms
  • Xamarin Native
  • SQL
  • ObjC
  • Swift
  • Java/Android
  • .NET Core