How to Grow As a Haskeller: #SerokellChat Wrap-up

Last week, we organized out first-ever #SerokellChat. This is a social media activity where we gather together Haskell professionals to talk about promises and issues of the field and give them the possibility to share helpful tips with other developers.

While we had several different participants, our first special guest was Serokell CTO Kirill Elagin. (I highly encourage you to go back and check his answers: they are incredibly thoughtful and informative.)

To guide the discussion, we had six questions:

  1. What fascinates you the most while writing Haskell?
  2. Which parts of Haskell or its ecosystem show the greatest promise today?
  3. What are the main advantages of using Haskell in industry?
  4. What advice would you give to someone that is looking for a Haskell job?
  5. What are the most common mistakes that Haskell programmers do, and how should one avoid them?
  6. If you could suggest one thing for an intermediate developer to grow as a Haskeller, what would it be?

Let’s see what our participants had to say about them!

What fascinates you the most while writing Haskell?

The first question was rather general (and there are many possible answers), so we were surprised when most of the answers hit one domain: types, and how one can use the structure they provide to guide the development.

While hijacking out test-driven development out of the TDD abbreviation is hard work, Haskell certainly has the potential.

Which parts of Haskell or its ecosystem show the greatest promise today?

In this question, the answers are split. Our chat participants’ candidates are type-level programming (which is the backbone of multiple Haskell applications), GHC, and ghcide, a library for building Haskell IDE tooling.

What are the main advantages of using Haskell in industry?

As we have heard time and time again, both from surveys and industry practitioners, Haskell’s greatest advantage for the pragmatic programmer is its maintainability. With GHC holding your hand, refactoring is a blast and no rewrite is too ambitious.

What advice would you give to someone that is looking for a Haskell job?

The advice is somewhat predictable: write and share lots of Haskell code, get noticed, and get to know people that are already working with it.

But if you are searching for things to include in your Haskell pet projects, here are some ideas from @kirelagin: use type-level programming for static correctness guarantees or “profile the hell out of your code”, as those are valuable skills on the job.

What are the most common mistakes that Haskell programmers do, and how should one avoid them?

The message was clear: keep it simple, stupid. :)

Focus on simplifying your Haskell code and make sure you still apply reasonable programming practices even when the compiler is (mostly) always there to help you.

Haskell is a great language even when we don’t transcend the boundary of what was known to be possible every day, and the answers reflect this insight.

If you could suggest one thing for an intermediate developer to grow as a Haskeller, what would it be?

A lot of interesting tips in this one. Both @haroldcarr and @kirelagin mention that you have to interact with others and their code, but list different ways of doing that. Also, check out the GHC User’s Guide. While it’s lengthy, understanding your compiler better is a great step towards advancing your Haskell.


And that’s it, folks. Running it was certainly fun, and we would like to thank everybody that participated. This is something that we definitely will try again, so stay in touch and suggest future topics you would like to learn about!

Haskell courses by Serokell
More from Serokell
10 reasons to use haskell programming language10 reasons to use haskell programming language
best haskell open source projectsbest haskell open source projects
What is functional programmingWhat is functional programming