View job here

We’re looking for a Haskell Developer to assist our team with a project for the Tahoe-LAFS Software Foundation.

This would be a project based position and involves creating a Haskell implementation of Tahoe storage back-end for S3-compatible object store.  Additionally, this role may also have the opportunity to help with the front-end portions of the project, web/mobile/gui/tui.

 

Tahoe-LAFS storage servers presently use the local filesystem for storing encrypted shares. This can be less flexible and more expensive than other “cloud” storage options. We propose extending the Tahoe-LAFS storage server software to optionally allow shares to be stored on other “cloud” backends (such as, initially, S3-compatible object stores) and enabling Tahoe-LAFS storage grid operators to leverage cheaper cloud storage options and to make way towards realizing Tahoe-LAFS’ prior Redundant Array of Independent Clouds (“RAIC”) idea.

 

The ideal person for this role has:

  • Practical Haskell development experience.  Please list/link or shortly describe projects you have worked on.

  • Open source software development experience.  Please include links to repositories - non-Haskell is interesting here too.

  • Skills in distributed systems programming and in applying cryptography.

  • Python experience (the original implementation is mostly Python).

  • Experience with Nix/NixOS is a plus.

  • Interest in Privacy Enhancing Tech and Internet Freedom.

  • Fun sharing their wisdom:  Coaching newbies, regular and mandatory code review, pair programming... We are life-long learners here.

  • No issue with front-end code. This is a small team, and we try to avoid knowledge silos.

  • No issue with writing lots of tests and documentation.

 

Please include with your application:

  • A resume/CV.

  • A cover letter/intro email.

 

Additional information to possibly request from shortlisted candidates:

  • A Haskell snippet you find particularly nice/useful/elegant with an explanation why that is so.

  • A review (please choose a part of the code base & time-box to an hour or less) of the last work that happened on tahoe-s3’s handle-byte-ranges branch.