In this step-by-step tutorial, we’ll dive into how you can become the next open source contributor to the GitHub Classroom CLI, building commands that you can use to improve your workflow as an educator!
The GitHub Internship Program welcomes its summer 2019 students as we celebrate four years. After 5,000 applicants and a tremendous amount of planning, our interns are here and ready to tell you about their experiences with all things GitHub. In this blog series, students share their insight about using the GitHub Student Developer Pack, working with GitHub Learning Lab, and more. Check out the series and come back for more intern posts.
Alejandra Trejo Rodriguez is a student at New York University Abu Dhabi, where she studies Computer Science and Interactive Media. She joined the Learning Engineering Team as part of the 2019 cohort of GitHub interns. In this post, Alejandra shares her efforts to improve accessibility for an international audience by enabling translations of GitHub Learning Lab courses into non-English languages.
As a native of Monterrey, Mexico, I know firsthand how a lack of English proficiency can be a barrier for students and others interested in learning how to code. As a result, I decided to work on an intern project that would minimize this barrier—preparing the Learning Lab platform for localization.
From the start, I had an immense amount of flexibility and freedom in building the final product. I wasn’t simply assigned an intern project. Before deciding on Learning Lab localization, my team and I discussed my interest in inclusivity and making STEM more accessible for non-native English speakers.
First, I had to consider a couple of key components—starting with which Learning Lab courses to translate. One of Learning Lab’s most popular courses is “Introduction to GitHub”. It is usually the first stop for new Learning Lab users which made it a logical starting point for localization. To confirm my choice, I conducted user interviews with an international group of Hubbers and Campus Experts, including some from Japan, Brazil, and Mexico.
After speaking with our users and looking at the data, I decided to build the proof of concept with two translations: Japanese and Spanish. Japan has consistently had an active presence on GitHub, ranking in the top 10 countries visiting GitHub.com since GitHub was founded in 2008. Meanwhile, the developer communities in many Spanish-speaking countries are thriving and fast-growing. Fortunately, I also met several GitHubbers who were eager to help with the translations. The Japanese translation was provided by a GitHub solutions engineer from Japan and the Octogatos (a LatinX Employee Resource Group at GitHub) helped translate the content into Spanish. This was a great opportunity for me to work across teams and cultures, as well as to consider the product design aspect of a project and not just its technical implementation.
The next phase of my project was to determine the best way to integrate translations. I began by adding language as a course preference option. In this first iteration, language was an option under the additional course preferences section.
However, after user testing, I decided the language option should be featured as a priority course preference dropdown to make it more obvious.
Next, I focused on how the course would progress once a particular language had been selected—essentially, how the logic of the course would operate in this new language.
Finally, I considered course discoverability. How could I make sure that users knew the translated resources were available? I decided to create a section on the Learning Lab course page that would list all courses in the same language as the user’s browser language preference.
One concern that I encountered was that I wasn’t writing enough code. Then, my manager gave me a piece of advice that changed my perspective. They told me that my productivity and abilities as an engineer aren’t just dependent on how many lines of code I write, but also on how much impact my work has. Through this experience, I’ve realized that an engineer doesn’t simply write code—they also have to coordinate and talk through projects with other teams, as well as interview users to make sure they’re providing a solution that actually works for everyone involved.
In late August, PyCon LatAm will be held in Puerto Vallarta, Mexico. During this Python-based conference, several Hubbers will host a workshop in Spanish on how to author Learning Lab courses. I’m excited to know that my Learning Lab localization project will be featured in this workshop and will help more authors create courses for non-English speakers.
I like to think of my project as a first iteration in Learning Lab’s larger localization efforts (and GitHub’s). Ultimately, I hope that educators and developers interested in sharing their knowledge of GitHub and programming can more easily build courses in their native language for people who might not be as proficient in English—and as a result, build stronger developer communities.