For working through a 10 week mentoring program centered around open source work on http://exercism.io/
Operation Code/Exercism IO Open Source Mentoring Program
One of the best ways to get coding experience is through participating in open source projects. However, the barrier to entry on established open source projects can appear quite high.
This mentorship program involves getting to know an established open source project - exercism.io by using it. The first week will involve learning how to get it set up, then the next three weeks we will work through various exercises on it. Finally, in the 4th or 5th week, I will be forming a 5 person task force (for the moment called "Exercism Team 6") to contribute to exercism.io through bug fixes, small feature work, etc. For six weeks we will hold either weekly or every other week meetings (depending on what my schedule allows) and discuss what bugs or features we want to work on that week, assigning work to individuals, pairs, or stuff for us to do as a group. Meetings will be conducted via Google Hangouts. At the end of the week (or early in the next week) we will conduct code review as a group on the past week's contributions and, when they are ready, submit them directly to exercism.io's fantastic creator and maintainer - Katrina Owen.
Objectives of this program include:
- Gaining experience in triaging Open Source bugs and small feature requests
- Gain experience in tracking down and fixing bugs in code bases
- Learn skills like sprint planning and code review (and some pair or group programming)
- Gain an understanding of the culture and ettiquette of Open Source.
- To have recorded open source work that participants can show to potential employers.
- SOME coding experience (preferably a bootcamp - though having worked through online tutorials like code school would also be fine) - it doesn't have to be a ton!
- A Github account
- Ability to participate in Google Hangouts
- Collaborative attitude
- Willingness to pay the mentorship forward - teaching and mentoring others - at the program's conclusion
Who are you?
I'm Nell Shamrell-Harrington, I'm a software engineer and team lead for Chef. Feel free to follow me on Twitter @nellshamrell or check out my website at www.nellshamrell.com. I'm also the scholarship chair of Operation Code and a mentor.
The gap between finishing a code school and getting a "real" programming job can seem quite big. I'm doing this program as a way to help some groups of Veterans bridge that gap, or at least make bridging it a little easier, by having public open source contributions. I have been both contributing to and running Open Source projects for a few years now and have learned a lot of lessons along the way - I'd love to share them!
What is exercism.io?
From the exercism.io Github repo.
"Exercism is a place where programmers help each other level up their coding skills.
There are practice exercises in 30 programming languages. Solve an exercise and submit it to the website where you can discuss trade-offs and improvements with other programmers. Then refactor and submit a new iteration."
Exercism.io is both a great tool to use to practice and get better at programming and a fantastic Open Source project to contribute to.
What does this involve?
For the first four weeks we will focus on getting exercism.io setup and working through some of the exercises. I plan to post a couple of exercises for everyone to work through by Sunday at 5 PM of each week. Any number of people can participate in this section of the mentorship program.
After the first phase, I will be looking to form a group of 5 developers into what I am calling "Exercism Team Six" - we will focus on contributing to the backend (and possibly front end as well) of Exercism.io - working through bug reports, small feature requests, etc. We will spend at least 6 weeks doing this, and afterwards the team is most welcome to continue!
We will hold a weekly "standup" where we decide what to work on for the next week. When we have completed work before, we will also do a code review of that work at that meeting.
Once we select issues, we can work on them as individuals, in pairs, or as a group as a whole. We will schedule pairing/group work at those meetings. So...you are committing to one meeting a week (there will likely be times that it slips into every other week, depending on my work and travel schedule) for six weeks. After six weeks we will re-evaluation - we may continue Exercism Team Six as it is, look to bring in new developers (I will ask experienced Exercism Team Six devs to help mentor those new developers), or something else entirely. Let's try this MVP (minimal viable product), then see where we are after kicking the tires and trying it out for a bit.
Why only 5 devs for Exercism Team Six?
5 is the absolute maximum I can mentor at one time. Once those five are trained up and able to mentor others, I will be open to bringing more devs in.
Any other questions? Feel free to DM me in the Operation Code slack @nellshamrell.