Blockchain TechLead


About me

My name is Alexander Kalankhodzhaev, MSc in Computer Science. I work as a TechLead of the blockchain lab of the largest Russian oil company. I am a developer, a big fan of computer technologies, an amateur racer and a father of two kids.


  • Blockchain
  • Functional programming
  • Dependent types


  • MSc in Business informatics, 2009

    Higher School of Economics

  • BSc in Business informatics, 2007

    Higher School of Economics



Blockchain TechLead

Sibintek (Rosneft IT company)

Aug 2018 – Present Russia, Moscow

Mobile API Developer


Jul 2017 – Jul 2018 Thailand, Bangkok

Lead Developer


Jul 2013 – Jun 2017 Russia, Moscow

Senior Developer

Uralsib Bank

Oct 2011 – Feb 2013 Russia, Moscow

Senior Developer

YAM International

Mar 2010 – Apr 2011 Russia, Moscow

Software Engineer

Ernst & Young

Oct 2007 – Sep 2009 Russia, Moscow


Kubernetes Quick Start

See certificate

Applied Machine Learning

See certificate

The Rust Programming Language

See certificate

API Development in .NET with GraphQL

See certificate

Functional Programming in Scala Specialization

See certificate

Functional Programming in Scala Capstone

See certificate

Big Data Analysis with Scala and Spark

See certificate

Parallel programming

See certificate

Functional Program Design in Scala

See certificate

Functional Programming Principles in Scala

See certificate

Supervised learning

See certificate

Math and Python for data analysis

See certificate

M101N: MongoDB for .NET Developers

See certificate

Microsoft Certified Professional

See certificate

Programming in HTML5 with JavaScript and CSS3

See certificate

Quantum Mechanics and Quantum Computation

See certificate

Recent Posts

Reducing the size of MongoDB document in c#

Storing data in MongoDB with the official C# driver sooner or later you might run into the following exception:

System.IO.FileFormatException: Size 22327168 is larger than MaxDocumentSize 16777216.

This is happening because of the limitation of a single document size that exists in MongoDB by design.

The maximum BSON document size is 16 megabytes. The maximum document size helps ensure that a single document cannot use excessive amount of RAM or, during transmission, excessive amount of bandwidth.

Though there is a JIRA ticket called Increase max document size to at least 64mb, it doesn’t seem likely to be done in the near future. Geert Bosch, senior software engineer at MongoDB, wrote the following comment:

In order to support much larger documents, such as the 64Mb documents suggested, assumptions such as that we can easily allocate copies of documents for modification will no longer hold. Transactions could grow extremely large (just think of a 64Mb array of elements to index). We would need to significantly throttle the number of concurrent operations, or raise the memory requirements for mongod.

But, if you find yourself stuck in such a situation, don’t get frustrated – there is a solution.

go-linq v3.0: Emulating generics in Go

About a month ago we welcomed a new developer to our go-linq maintainers team  cleitonmarx (Cleiton Marques) who introduced an interesting pattern for emulating generics in Go and became the main show-maker of the third version of the library. Here is a small story of how the generics behavior was emulated in go-linq.

Announcement: go2linq is now in the go-linq repository

I am happy to announce that my  go2linq (a powerful language integrated query (LINQ) library for Go) project has been merged into the go-linq’s master branch. Now it is available as the newest version of go-linq library (v2.0.0).



A powerful language integrated query (LINQ) library for Go