Remote
Closed

Haskell Software Engineer

Become a part of an international, fully remote community! Serokell has started with Haskell and now provides services in scientific research and engineering fields using functional programming languages. We’re seeking Haskell developers to work on our new remote workspace project, Ment.

While working on the project your primary responsibility will be to develop integrations with external services/applications like JIRA and Telegram. You will maintain a zoo of microservice daemons for reliable synchronization of data from external services to our application. There will be a great deal of writing Haskell and even more of architectural decision making to ensure data synchronization is performed optimally.

Requirements

More or less required:

  • Solid knowledge of Haskell 98 features: typeclasses, аpplicative functors, monad transformers.
  • Familiarity with the modern Haskell ecosystem. You should be able to use text, mtl, basic lenses, Stack/Cabal, type families, template haskell (use existing TH generators, not write your own), QuickCheck/Hedgehog. (If one of these items is missing, it’s not critical).
  • Knowledge of the fundamental algorithms and data structures like binary search tree, DFS, hashtable, quicksort, etc.
  • Knowledge of computer networks: HTTP, understanding of poll- and push- based data synchronization models and their usage in modern service APIs.
  • Good coding culture (code structuring and decoupling, patch management with git, code review practices).
  • Good level of self-organization.

Good-to-have, but not crucial:

  • Cryptography: very basic knowledge, public/private keys, signing, encryption, hashing.
  • Parsers: writing own parsers, using parser combinators and/or parser generators.
  • Haskell: experience with popular libraries for real-world problems (web servers, streaming like conduit, serialization, databases,etc.).
  • Haskell: advanced type-level features: GADTs, DataKinds.

About us

Serokell is fully remote — our diverse background and fast-moving environment make everyday communication and workflow creative and fun. Our international team consists of talent from various spheres: software engineers, computer scientists, mathematicians, and many more inventive individuals.

We work flexible hours in small, friendly teams and abide by certain principles: as little bureaucracy as possible (no unnecessary meetings, super detailed reports, etc.), proper management, healthy work/life balance, and continuous improvement.