Apprenticeships

We often get inbound inquiries that go something like: "I'm somewhat familiar with Hoon and I've gone through all the tutorials. What's a project I can work on?" Apprenticeships are our answer to that.

Apprenticeships onboard developers to the Urbit programming community. This community has a wide variety of tasks, and uses multiple languages to program the runtime and frontends, although Urbit userspace and kernel work is always Hoon.

There are two kinds of apprenticeships: userspace apprenticeships, which are oriented towards developers that are looking to build applications on Urbit—and kernelspace apprenticeships, which are oriented towards more experienced Urbit developers that want to take a stab at working on Urbit core directly.

Apprenticeships proceed in two stages:

  1. The prospective apprentice interviews with a Foundation director.
  2. If interview is passed, the apprentice works with an Urbit core or userspace developer. The apprentice works on a specific scope of work under the tutelage of the developer.

The developer offers guidance and review of the project, and the apprentice contributes directly to the Urbit project. The apprentice also receives compensation in the form of address space when the project is completed. After that, the apprentice should be equipped to contribute further to substantial grants or even apply for a job in some cases.

The resource we are trying to grow is developers, not lines of code. As a result, apprentice projects can be focused more on developer onboarding than immediate utility to Urbit, in order to speed the learning process. Check out available apprenticeships below:

Apprenticeship: Collaborative text editor and annotator

A line-based editor for looking at text and code.

Apprenticeship: Filesharer

An application that allows peers to upload files to managed storage, either on or off Urbit, and share files with each other.

Apprenticeship: Heads-up poker

A fun client app that would be a good way to get acquainted with Urbit's networking and p2p abilities.

Apprenticeship: Invoice system

A system to request and record payments made and received.

Apprenticeship: Marketplace

A marketplace in which users can post items for sale and browse goods for sale by other users.

Apprenticeship: 3rd Party Software Distribution

3rd party software distribution infrastructure

App Dev: Core 5 stars pending ~sovmep-ripsum