po·et ˈpōət,ˈpōit noun 1. You’re not a programmer (yet). But you want to have a hand in crafting the code that runs our site. That’s awesome and you’re awesome.

Recently, our operations engineer Aaron Suggs had an amazing idea that would peel back the curtain a bit from the engineering team workflow. What if we gave a workshop to interested non-dev Kickstarter employees (“poets”) on how to engage with our code via GitHub’s web flow? This GitHub tool eases the burden of performing the various Terminal.app commands that can be intimidating to beginners. Teaching employees how to perform code changes this way could have several benefits including but not limited to:

Providing the tools for interested employees to make copy edits

Empowering members of Kickstarter’s Community and Operations teams to participate in the world of code

Eliminating developer unavailability as an obstacle to making safe changes

I co-taught the course because my own entrance into the world of programming had similar ideological roots. I originally worked on the Community team at Kickstarter, but after months of enthusiastic code consumption and a few features deployed to production, I moved to our engineering team full-time. An accessible, inviting, and compassionate engineering team culture can change lives!

After putting together a rough syllabus, Aaron and I held 4 separate “GitHub for Poets” sessions attended by 5–8 different employees from various teams in the company. The sessions had individual flavors; one was fueled by a need to make a copy edit on our Support navigation bar that was eventually merged. Another was led by the desire to make silly changes to the homepage for ultimate “Wow!” factor, which I personally supported because the changes were so visible and exciting (though they remained unmerged):

In all cases, the structure of each hour-long course unfolded as follows:

Healthy programming attitudes (scratch your own itch, don’t-repeat-yourself, etc) Introduction to our tech stack (HAML, Sass, JavaScript, Ruby) Rails directory structure Creating feature branches via the GitHub UI Finding files, editing, and committing changes with helpful commit messages Opening a pull request for the feature branch

We taught each of these sections to the enthusiastic maximum, and each employee was encouraged to add commits to the branch. The mock pull requests went out to the whole dev team, who responded enthusiastically with their comments, suggestions, and emoji. Good vibes abounded!

Since the first round of GitHub for Poets courses ended, multiple employees who aren’t on the engineering team have made commits that were ultimately merged, including changes to our jobs page, policy pages, and support resources. One of these changes even touched some Ruby code. We require each potential change to be done within a feature branch, pull requested, and merged by a developer themselves, but these little bits of process are no hindrances to the passion of poets.

Working for a tech company involves relying on code that fuels our jobs, our users, and our community, but it often happens that only 20% of the company can touch that same code! By encouraging personal responsibility, a willingness to ask for help, and constructive feedback between engineers and poets, any startup can help open the doors to more inclusive development.