Image Image Image Image Image Image Image Image Image

Software Engineer – Haskell

Remote acceptable

We’re on a mission to get travel businesses online. And we want to make it super-easy for them. Which makes it super-hard for us. How hard? 247,887 lines of Rails. 90,086 lines of AngularJS. And 106 tables in Postgres.
And now, we’re building the next-gen of our platform. In Haskell.

We’ve written code in Rails and AngularJS. Shitloads of it. And we’re really proud of what we’ve built with it.

But as we engineer v2 of our platform (not a rewrite, but a system that supersedes v1), we find ourselves looking for something better. Something that will allow us to refactor our core data models fearlessly. Something that doesn’t break when a new developer makes his/her first change. Something that doesn’t require us to maintain an 80%+ test coverage.

We believe, that “something” is Haskell.


Who do we think would be a good fit for this role:

  • Someone with 2+ years of building webapps in any technology
  • At least 6 months of experience with an FP-lang, eg Haskell, Elm, Purescript, Scala, F# etc. We would expect you to be able to put the following concepts to practical use (if you aren’t confident, consider our Haskell Internship as a path to a full-time position)
    • Typeclasses
    • Functors, Monads
    • Monad transformers
  • Someone who loves to learn.
  • Ability to work across the stack (Haskell AND frontend technologies, like Angular2/Typescript or Elm or Purescript) would be a very big advantage. However, even if you’re comfortable with any one component, and have a desire to learn, we’re golden.
  • Someone who loves to code. A weekend spent learning a new language or library would be a weekend well-spent for you.
  • Someone who can take ownership and can operate in an environment of autonomy and freedom.
Apply now →

Technologies we ❤

Angular JSRedisRuby on RailsPostgreSQL Bootstrapandroid_robot_100Githaskell 

Most of our code is in Ruby on Rails, which exposes RESTful JSON APIs that the AngularJS frontend consumes. Data is stored in trusty ol’ PostgreSQL with lots of foreign-key constraints, check constraints, and what have you – we never, ever want to deal with bad data in the DB again! Redis is a caching layer for frequently used JSON APIs and might also be used as a message queue in the future (we need to decouple our, now, monolithic app). LessCSS & Bootsrap make CSS a breeze. What else? Haskell is on the way!