We're a small, distributed team building creative tools for the next decade on the web – starting with our open source publishing platform, WriteFreely. We're looking for an experienced Go developer to help build our ecosystem of tools, from the WriteFreely web application to client libraries, command-line utilities, and complementary add-ons.

Here, you'll play a crucial role in the growth of our bootstrapped company, building sustainable open source software. You'll get to work on projects that help advance digital privacy, the open web, and the ActivityPub-powered fediverse. Your work will be used by 50,000+ people around the world, on both Write.as and the 100+ other WriteFreely instances running on the web today.

What you’ll do

In this position, you’ll work closely with our founder, other developers, and the wider community to develop our various projects. You'll take ownership of features on our roadmap and collaborate with developers and users on our Phabricator instance and forum. You’ll respond to bug reports on GitHub related to tasks you’ve worked on, and lend your knowledge to help build this robust, federated publishing platform. Most of your work will be open source and written in Go (golang).

Requirements

We’re looking for engineers with:

  • Experience writing idiomatic Go / golang
  • Good git habits (granular commits, descriptive commit messages)
  • Experience with relational databases (particularly MySQL and SQLite)
  • Good self-motivation; comfortable setting and meeting deadlines
  • Good self-direction; comfortable making reasonable design decisions based on their knowledge of the product and business
  • A strong command of English; comfortable communicating clearly and professionally in public (digital) spaces

Though not required, we’d particularly like to hire someone with:

  • Experience developing and deploying Go web applications
  • Experience contributing to open source projects
  • Knowledge of UI, UX, and accessibility best practices
  • Proficiency with plain, modern Javascript and semantic HTML
  • Experience with ActivityPub / the fediverse

How we hire

We're more interested in candidates that can get a job done than master the art of interviewing, so we make our hiring decisions largely from demonstrated performance.

After you apply, we'll do a video interview, just to get a feel for one another. If all goes well, we'll start you off with a short, paid project. This will be your opportunity to show off your abilities, see what the work environment is like, and overall see if we work well together. Then, if the project goes well, we'll make it official.