How I Fell in Love with Haskell (And Why You Should Do It, Too)

Ilya Peresadin is a Serokell software engineer and one of the company’s team leads who also teaches Haskell at ITMO, a well-known Russian university. But just a couple of years ago he was a student attending a Haskell programming language course organized by ITMO together with Serokell. In this blog post, Ilya tells how he became a Haskell fan, what drives him to be a teacher and a developer at the same time, and why it is essential to share knowledge with young people.

The ITMO Haskell Course

Our teachers checked students’ tasks individually, and that was an excellent opportunity to talk to the teachers and explain your decisions, and they could see how well you understood the material.

This class gave me knowledge qualitative enough to get the job of a junior developer in a company using Haskell as the primary working language. Also, it gave me motivation for future development. Haskell is a functional language, it differs from familiar imperative languages. For this reason, many students start to hate Haskell; I am happy it didn’t happen to me, and I even became a big fan of the Haskell programming language.

Work at Serokell

I was in doubt because the position required better English language knowledge than I had those days. But my main concern was about Haskell, as starting programming in it was a big deal. Haskell wasn’t as popular as imperative languages, such as Java or C++, which I knew as well. If I gave them up, I would lose a vast developers community and infrastructure (tutorials, well-known libraries, development environment). At the same time, I would gain a chance to try something new without significant risk, as I was only a fourth-year student and didn’t have serious obligations. So, I decided to give it a try, and I’m still happy with this decision.

Teaching Haskell

Standard university training system gives future developers knowledge about imperative languages, such as Java and C++, which seem to be easier than functional ones. Thus, Haskell, OCaml, F# and other functional programming languages gain less attention at schools and universities, and that’s sad because they have quite a lot of advantages in comparison to imperative languages. I consider it important to popularize the culture of functional languages.

Also, I’m not satisfied with most of the so-called “unusual for programmers” courses we have at ITMO (for example, physics, general science, etc.) because students don’t take them seriously and often don’t even understand the basics of those subjects. I didn’t like it when I was a student, so I feel like I pay my debt showing how to teach properly. I think it’s a valuable contribution.

Students to whom I read lectures, often come to Serokell as interns and then keep working at the company. Besides, the company is becoming well-known in the whole university, not only among my students. And if some people are interested in Haskell, they know where to go to try themselves as developers.

Learning New Things

I find it funny that I had a similar situation with physics, which I hated learning at school. But in the second year at university, I had a rigorous physics teacher. If I wanted to pass an exam, I had to learn a lot, and I actually liked it.

These two stories taught me that it’s unwise to neglect what you cannot understand well. Probably the reason why you think something is rubbish lies in your ignorance. Perhaps, you need to bother a bit and try to study the subject. It’s not impossible that one day you will realize it was definitely worth your time. Never say never, that’s so true.

Originally published at https://serokell.io.

Serokell is a software development company focused on building innovative solutions for complex problems. Come visit us at serokell.io!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store