on master help sign in
Add apprenticeships page (#1328)
ec1e494Josh Lehman
content/apprenticeships.md+52−3
@@ -1,8 +1,57 @@
1+++
1+++
2−title = "Apply for an Apprenticeship"
2+title = "Become an Apprentice"
3−date = "2021-11-25"
3+date = "2022-01-27"
4weight = 1
4weight = 1
5description = "Everything you need to know about applying for an apprenticeship"
5description = "Everything you need to know about applying for an apprenticeship"
6+++
6+++
7
7
8−WIP
8+Apprenticeships are practical learning opportunities for new Urbit developers
9+provided by experienced members of the Urbit development community. As an
10+apprentice, you'll have the opportunity to:
11+
12+- Learn from an expert Urbit engineer
13+- Make real contributions to the project, and
14+- Earn address space for learning
15+
16+Becoming an apprentice is easily one of the best ways to level up your skills,
17+and perhaps even land a job.
18+
19+## Get started
20+
21+Apprenticeships are for those that are new to Urbit development (or an area of
22+it), but not new to programming. Nearly all apprenticeships involve some degree
23+of Hoon work, so you should make sure that you've completed [Hoon
24+School](/docs/hoon/hoon-school/intro) and the [Gall
25+Guide](/docs/userspace/gall-guide/intro) prior to signing up.
26+
27+There are two ways to sign up for an apprenticeship:
28+
29+1. [Apply for an open apprenticeship](/grants?program=apprenticeship&open=true&wip=false&completed=false)
30+2. [Sign up to be matched to a mentor](https://airtable.com/shrUZQpHqRtudHhAx)
31+
32+Apprenticeships are sometimes posted on the site to be claimed, but more often
33+than not they emerge out of a conversation between a mentor and an apprentice.
34+This is because mentors are generally busy engineering, and while they know many
35+things that need to be done, getting those ideas into writing is difficult.
36+
37+When you [sign up to be matched](https://airtable.com/shrUZQpHqRtudHhAx), the Urbit Foundation will review your
38+application, pass it around to available mentors, and more often than not a call
39+will get scheduled and an apprenticeship started.
40+
41+## How it works
42+
43+Once a mentor has written up an apprenticeship, approved an apprentice, and all
44+parties have signed a contract with the Urbit Foundation, work can proceed.
45+
46+Mentors and apprentices work together by having weekly pairing sessions and
47+maintaining an open line of communication over Urbit. It's expected that mentors
48+put at least two hours per week into supporting their apprentice.
49+
50+When a mentor has signed off on the apprentice's work, the mentor will notify
51+the Urbit Foundation of completion and the apprentice will invoice the UF for
52+payment.
53+
54+## Funding
55+
56+Apprenticeships pay a flat $8,000 in WSTR to the apprentice, and $2,000 WSTR to
57+the mentor.
pages/grants.js+19−18
@@ -74,7 +74,8 @@ export default function Grants({
74 const router = useRouter();
74 const router = useRouter();
75 const [activeTags, setTags] = useState([]);
75 const [activeTags, setTags] = useState([]);
76 const [activeTypes, setTypes] = useState(types);
76 const [activeTypes, setTypes] = useState(types);
77− const includeOpen = router.query.open === "true";
77+ const includeOpen =
78+ router.query.open === undefined || router.query.open === "true";
78 const includeCompleted = router.query.completed === "true";
79 const includeCompleted = router.query.completed === "true";
79 const programFilter = router.query.program;
80 const programFilter = router.query.program;
80 const post = {
81 const post = {
@@ -82,7 +83,8 @@ export default function Grants({
82 description: "Contribute to the Urbit project while earning address space.",
83 description: "Contribute to the Urbit project while earning address space.",
83 };
84 };
84
85
85− let includeInProgress = router.query.wip === "true";
86+ let includeInProgress =
87+ router.query.wip === undefined || router.query.wip === "true";
86
88
87 if (
89 if (
88 router.query.open === undefined &&
90 router.query.open === undefined &&
@@ -220,27 +222,26 @@ export default function Grants({
220 </button>
222 </button>
221 </Link>
223 </Link>
222
224
223− <p className="mb-4">
225+ {/* <p className="mb-4"> */}
224− <b>Bounties</b> are contracts for work from trusted partners in
226+ {/* <b>Bounties</b> are contracts for work from trusted partners in */}
225− our ecosystem. The Urbit Foundation matches contributors with
227+ {/* our ecosystem. The Urbit Foundation matches contributors with */}
226− projects, verifies the integrity of the poster, and will often
227− chip in on the funding.
228+ {/* projects often chip in on the funding. */}
228− </p>
229+ {/* </p> */}
229− <Link href="/grants/bounties">
230+ {/* <Link href="/grants/bounties"> */}
230− <button className="button-sm bg-yellow-300 text-black mb-8">
231+ {/* <button className="button-sm bg-yellow-300 text-black mb-8"> */}
231− Post a Bounty
232+ {/* Post a Bounty */}
232− </button>
233+ {/* </button> */}
233− </Link>
234+ {/* </Link> */}
234
235
235 <p className="mb-4">
236 <p className="mb-4">
236− <b>Apprenticeships</b> are opportunities to receive mentorship
237+ <b>Apprenticeships</b> are practical learning opportunities for
237− from an experienced Urbit developer. These don't pay as well,
238+ new Urbit developers provided by members of the Urbit community.
238− but are generally the best way to land a full-time job in Urbit
239+ They're one of the best ways to level up your skills, and often
239− development
240+ lead to full-time jobs.
240 </p>
241 </p>
241 <Link href="/grants/apprenticeships">
242 <Link href="/grants/apprenticeships">
242 <button className="button-sm bg-green-400 text-white">
243 <button className="button-sm bg-green-400 text-white">
243− Apply for an Apprenticeship
244+ Become an Apprentice
244 </button>
245 </button>
245 </Link>
246 </Link>
246 </div>
247 </div>
pages/grants/[slug].js+1−1
@@ -75,7 +75,7 @@ export default function Grant({ post, markdown, search }) {
75 </Section>
75 </Section>
76 {canApply && (
76 {canApply && (
77 <a
77 <a
78− className="bg-green-400 text-white badge-sm"
78+ className="bg-green-400 text-white button-lg"
79 href={post?.extra?.work_request_link}
79 href={post?.extra?.work_request_link}
80 target="_blank"
80 target="_blank"
81 >
81 >