Skip to content

Instantly share code, notes, and snippets.

@neongreen

neongreen/job.md Secret

Last active May 15, 2018 23:25
Show Gist options
  • Star 31 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save neongreen/98d40ea2b965166001bc20b15a26a6f9 to your computer and use it in GitHub Desktop.
Save neongreen/98d40ea2b965166001bc20b15a26a6f9 to your computer and use it in GitHub Desktop.
Serokell is hiring Haskellers

You. Yes, you. Work at Serokell. Please. Please pretty please. (Haskell! Lots of Haskell.)

What

My employer, Serokell (https://serokell.io), is looking for Haskellers. This is a fully remote job; the salary is okay-ish, but not quite Silicon Valley grade. I would say that it's a great first job for someone who doesn't consider themselves a beginner Haskeller anymore, but doesn't have enough work experience and doesn't know where to get some :P

What we are working on

Cardano – a state-of-the-art general-purpose cryptocurrency, currently #6 by overall capitalization, fully open-source and written in Haskell. Philip Wadler (one of Haskell's creators) is designing a smart contracts language for Cardano. Your pull requests will quite likely be rejected merged by Duncan Coutts himself. It's not an “Ethereum but for X” kind of project – we're really trying to beat 'em all (and I'm saying it as someone who is familiar with the field).

Oh, and we've got some more blockchain-related projects going on! So, if you want to be able to code without worrying about boring stuff like “backwards compatibility” (pfft), we've got that, too.

What we *do not* require

  • Knowledge of how cryptocurrencies work, or any crypto in general.

  • Knowledge of any languages other than Haskell.

  • A college/university degree of any kind.

  • Production experience, devops experience, PostgreSQL, Azure, and whatever other stuff people love to require from everyone nowadays.

What we do require

  • Solid knowledge of Haskell 98 features. If you haven't ever written your own typeclass, if you struggle with applicative functors, if you don't know how stuff like ReaderT works – those are bad signs.

  • Familiarity with the modern ecosystem. Stuff like conduit and servant isn't required (we've got like 15 lines of conduit code in total, afaik), but you definitely should be able to use Text, liftIO, basic lenses and Stack (or Cabal) – say, at least three of the four.

Note: the above is the list of minimum requirements, but if you are an awesome libraries-publishing, posts-writing, GHC-contributing, dependent-types-waiting-for Haskeller, you can totally apply too!

How to apply

Fill this form: https://serokell.breezy.hr/p/b3c850b50abc01-software-developer/apply

A tip on what to write there – we basically need to estimate three things about you:

  • How knowledgeable you are regarding Haskell (i.e. will you be able to understand our code) – for that we need links to your libraries on Github/Hackage, tales of completed or abandoned projects, blog posts, comments on Reddit, links to advanced articles that you were able to kinda understand – anything will do!

  • How good you are at understanding new things; this one can be harder to prove, but if you tell us something like “at my previous job I implemented a new feature a week after I saw the codebase for the first time”, or “I read the Bitcoin paper a year ago and thought it was awesome”, or whatever – that'd be cool.

  • Whether you have real-world experience already. By “real-world” I don't mean “production” – what I'm talking about is all the messiness of the systems that already exist out there and which you have to interface with. For instance, if you wrote a tar archive parser, it would likely be more real-world than lots of actual production code out there. Working with filesystems, non-trivial APIs, or just writing a GUI – stuff like that all counts.

Note: of course, giving “bad” answers to those questions doesn't mean you won't get hired! We just need estimates, that's all. However, if you feel that you really aren't ready for commercial Haskell development, or are just shy, you're welcome to apply to our intern position – https://serokell.breezy.hr/p/1f1f2f3d813a01-intern/apply. It's literally the same thing and will be reviewed by the same people but your application will go to a different table in the database :)

@neongreen
Copy link
Author

neongreen commented Dec 23, 2017

When applying, please use new links at the latest revision of the gist, instead of writing me! We got about fifty applications by now so it's very hard to keep track of things that people write/mail to me :(

@neongreen
Copy link
Author

neongreen commented Dec 25, 2017

An update: since people are getting confused by my poor phrasing: “okay-ish, but not quite Silicon Valley grade” does not mean $100k/year. Disclaimer: I'm not speaking in official capacity here, I'm just a developer at Serokell. My understanding is that the fork is roughly $20–70k junior-to-teamlead depending on various things (even all else being equal, it makes sense to increase the compensation based on cost of life, taxes and so forth).

For more details, please see my /r/haskell comment:

The reason I went with vague descriptions like “okay-ish” instead of a fork is simply that I didn't know whether I was allowed to disclose the details about compensation – or whether the details I knew were even accurate. It happened roughly like that:

— guys, I'm leaving Serokell in two months
— :( can you at least help us find a replacement?

Since I don't really know any unemployed Haskellers, I just went ahead and wrote a post in functionalprogramming Slack (without showing it to management or anyone else). It wasn't intended to be an “official” vacancy – I just wanted to find 3–10 interested people, ask them some questions and then refer them to our CEO.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment