Remote
Can be your first job

Haskell Internship

Serokell is a fast-growing, fully remote software development company that works on innovative solutions for complex problems.

We are eager to connect with students who are passionate about developing cutting-edge software using modern technologies such as functional programming.

The project focuses on building a unified, multi-network messaging client with an instant messenger–like interface, providing a seamless communication experience across multiple platforms.

Responsibilities:

  • Fix known bugs or errors by checking that the instructions that triggered the condition do not do it anymore. Apart from tests we look for an invariant that will forbid the reappearance of the bug.
  • Implement functionalities by following constrains on the overall architecture that restricts and delegates capabilities to trusted modules. Bonus points if you can propose architecture changes coherent with the client goals.
  • Review the merge request from other developers in the project. Propose alternative designs or simpler alternatives while keeping in mind the design document for the project.
  • Establish communications earlier and often with your peers to unblock work, delegation and common understanding.

Requirements:

  • Knowledge of Haskell 98 features, including writing your own typeclasses.
  • Experience with applicative functors and monad transformers, along with a good understanding of commonly used transformers (e.g., ReaderT and StateT).
  • Familiarity with some of the following: text, mtl, basic lenses, Stack/Cabal, type families, QuickCheck/Hedgehog, Template Haskell.
  • Knowledge of fundamental algorithms and data structures (e.g., binary search trees, DFS, hash tables, quicksort).
  • Experience working with Git.
  • Good spoken English for participating in team meetings, as well as strong written communication skills.
  • A genuine interest in functional programming, and Haskell in particular, with an open mind toward learning new things.

What we offer to you

  • Competitive salary
  • Attractive international projects
  • Participation in the leading world conferences
  • International teams and a multicultural environment
  • Fully remote work and flexible working hours
  • Possibility to take days off any time you need
  • Investment in your professional and career growth, which will correspond to wage growth
  • Mentoring and training
  • Opportunity to contribute to one of the functional programming industry’s leading blogs

By joining Serokell, you’ll become a part of a warm community of ingenious engineers, computer scientists, designers, marketing experts, and other inventive people. You will be able to take part in ambitious projects that work on building the next generation of computer software, try out crazy initiatives unhindered by bureaucracy or judgment, and have fun in our Slack channels that range from #music to #butthurt (did we mention the huge custom emoji set?).