title | description |
---|---|
Artsy Learns to Code |
Experimental structure where we teach non-engineering colleagues how to code. |
Original discussion of the timeline and scope can be found on Slack.
Let's offer a way for non-engineering Artsy staff to learn how to code. Since our entire business is built on code, it's helpful for our colleagues to have a working vocabulary and understanding of what we do. In the past, our colleagues have learned enough to understand what we mean when we say "there was a bug in a dependency" or "the callback wasn't executing"; these are phrases we use and understand implicitly, but they are specific to Engineering. Artsy Learns to Code is also a way for engineers to mentor more junior colleagues.
The project will see learners (non-engineering Artsy staff) paired off together and assigned to a mentor (an Artsy Engineer). Over the course of January–April 2019, learners will:
- Take a course in JavaScript from Udacity, with support from mentors.
- Define a small project they'd like to build with the Artsy APIs.
- Build an minimum-viable-product and present at Demo Days.
As of January 2019, we have 54 learners spread across 27 teams, being mentored by 17 engineers (out of 29 Artsy total engineers). Learners are working through the Udacity course. The scaffold for their projects has not yet been created.
Artsy Learns to Code will be structured in two parts:
- 2 months of learning JavaScript through the
Udacity course.
- 7 lessons = 1 lesson / week * 1 week wiggle room.
- 2 months of creating a project.
- Or however long it takes, some might finish early.
The Udacity course does not teach about React or HTML or any of the things necessary to build the project – it just teaches JavaScript fundamentals. Our hypothesis is that learners will be able to succeed, given: a firm grasp of these fundamentals, a scaffold with necessary libraries like React already set up, a brief team-wide introduction to React, and help from mentors
We'll have trios: one mentor and two learners, who will be partners throughout Artsy Learns to Code.
- 2+ hours a week to dedicate to taking the course and handling course work. Ideally you do this with your partner. Once you complete the course, this time will be dedicated to working on the project.
- Meeting with your assigned mentor for a one-hour weekly check-in. Bring your questions and make sure to get answers from your engineer before you leave.
- This will be a difficult experience. You will struggle; that's normal. We're here to help, but we can't do the work for you. Learning to code is like learning an instrument: it takes dedicated, repeated practice. But that's all it takes.
- Be available for a one-hour weekly check-in with the pair of learners. Your job is to keep them on the Udacity course schedule. Once they finish the course, you'll be responsible for helping them build their project. - The project will vary from group to group, but we're going to start out with a common scaffolding that already includes Palette, API access, etc. This scaffolding will be hosted on Glitch. If the learners need something extra (ex: MapBox integration), then getting that set up to unblock them would be a responsibility of yours.
- Make sure to reassure learners that struggling is normal and that, even if they don't understand everything now, they should focus on what they do understand and be comfortable not knowing how it all works.
- Make sure not to do the project for the learners. Helping is totally okay, and expected, but always try to pair if you can.