About Haskell
The name of the company is a combination of my second name and the name of the programming language Haskell. The main idea is to make this language popular — we want to show that it can be used at an industrial scale and for production. Nowadays this language is not as popular as C++ and Java. Many people believe that Haskell is a very difficult language used for math calculations. However I like this development tool more than others.
When I started studying at the Computer Technology Department, I planned to became a programmer, or mathematician or scientist or to combine all these activities. All programming languages that we studied seemed inappropriate,
When I was a second-year student, I bet with my friends that I was able to study Haskell. It turned out that it was not as difficult as I was told. It is easier for me to use its functions for coding. In comparison with object-oriented languages I need fewer steps to turn my thought into code.
Back than Jan Malakhovski who gave programming classes made me get interested in functional programming. Now I give functional programming classes at ITMO.
Haskell is a strongly typed programming language. For instance, when using Python you can add a string and a number and get an irrelevant answer. It is impossible when using Haskell — it is an advantage of this language. It guarantees that a code will work as you planned after its running. Java also has such an option as data typing but it is used only during compiling and can be lost during running. Haskell never "looses" data types. Furthermore its functions have no "side-effects" - it means that using certain inputs these functions always produce the same result.
About development
In simple words, when you code you have something that users see, it is called front-end, and the "base," which is called back-end. Haskell is very good to use when you deal with back-end. For instance, it is inappropriate when developing drivers and system software, but it has to be used when dealing with machine learning, image processing, creating of servers and user interface designing. Haskell has lots of libraries, so we don’t need to create new things. To deal with front-end, Serokell uses PureScript, which resembles Haskell and translates to JavaScript. We also code our own database management system using Rust language.
Unlike Russian companies, large European ones often use Haskell. That is why I wanted to pave the way for those Russians who do the same as I. I also want to prove that it is possible to create not only a small part of a project, but also the whole product using Haskell.
About Serokell
In 2014 when I was a fourth-year student at a Bachelor program, my father died. I couldn’t look for a position at a large company because it was necessary to stay at home and help my mother who was sick. We didn’t have enough money. One day I realized that there are impossible things, like flying using your hands. At the same time there are things that somebody has already achieved. For example, one can make a million dollars and go climb Mount Everest. It means that I also can do it or anything else. I decided that I would develop my own company, which would become my lifework. I wanted this project to give me fun, so I could share it with people.
Then I spent several months to complete my thesis. In August I discussed this idea with my friend who was also interested in functional programming and we decided to collaborate.
One of the first projects was a program for generating Linux distributions and a software for currency exchange. In February 2016 we received a startup capital and hired two programmers who studied at ITMO and a specialist from Croatia. I stopped writing code to work as a manager and communicate with clients, these days I am still doing this. In March we met with the CEO at IOHK. This company wanted to buy our project but I refused.
As of now we are outsourcing. Serokell is developing a new type of cryptocurrency for IOHK, which is called Cardano. Recently we presented a pre-alpha version. A final version is planned for release in February.
Today Serokell's staff includes 11 people. I know everyone personally, though all of them work remotely. Apart from the Croatian developer and Russians we have specialists from Portugal, Latvia and Belarus. To communicate, we use Slack and also have Skype conferences once a week. When working we mostly communicate in English.
About Cardano
Cardano differs from Bitcoin, as it uses another "consensus-algorithm" as a base. Bitcoin works like this: so called "miners" pack transactions as blocks. To present a block and get a benefit, miners have to solve a difficult task using brute force method. When the task is solved, one "presents" a solution together with transactions. This solution proves that the minor did it. Using algorithms, one controls complexity of tasks so that blocks can be presented once every ten minutes. A high computer performance is the main criteria of checking. It is called Proof-of-work system. in terms of economics and environment protection, this principle is unprofitable, as energy needed for one transaction is enough to power three houses.
IOHK is an R&D company, which publishes scientific papers. One of them is devoted to a consensus-algorithm used in Cardano, its name is Proof-of-stake. Here those nodes that have more cryptocurrencies than others are higher-priority. It gives an opportunity to waste electric power. Moreover, it will be pointless for those who have more cryptocurrencies than others, to hinder the network’s operation.
Cardano will support smart-contracts as Ethereum does. For these purposes we use Turing language. we also work on the cryptocurrency desktop wallet Daedalus, which supports other types of cryptocurrencies. Cardano serves as a gambling tool.
About launching an IT business
Don’t be afraid! To establish a company in the field of software development, you don’t need a huge startup capital. It is difficult for a young company to look for clients, but you can have a full-time job and at the same time develop your own project.
Share your project with the public, you can use GitHub and Reddit. A good idea always occupies one’s niche. Even if you don’t earn money, you will definitely gain experience and contribute to your reputation and the reputation of your company.
It was good luck for me, as I fell in love with a project, which almost had no business rivals. I recommend paying attention to cryptocurrencies, as this field is not popular in Russia, our government tries to control this by prohibitive measures. I heard that in Moscow there is only one Bitcoin cash desk. In Norway, for instance, people can pay for public utilities using Bitcoins. When you understand how this market works, you can make contacts with clients and create a unique product.
I participate in international conferences. For example, this summer I visited Osaka and Tokyo where I presented my reports on Haskell and cryptocurrencies. I don’t want to leave Russia and explain to other Russians that it is pointless. You can work as an IT expert anywhere, but you studied here, that is why you have to be grateful to your teachers and give back by increasing the quality of science and education. I appreciate ITMO and its professors, as they taught me how to learn.