Ruby Me participant handbook
Values and goals
Success in Ruby Me is not about how many lines of code are written.
Success is about getting more comfortable working with GitHub, familiar with open source projects and processes, participating in the Ruby community, and practicing pair programming.
Before your session starts
Meeting and greeting
Join the Ruby Me Slack and introduce yourself to the other mentors, apprentices, staff, and advisors. If you have any questions, or you’re surprised by anything that comes up, the staff and advisors in the Ruby Me Slack want to be your go-to resource for answers and help.
If you can, spend some time chatting with the other mentors and apprentices, getting to know what they’re interested in, why they are participating, and what they’re hoping to accomplish.
Schedule your sessions in advance
Find a time that works for both of you to meet, and schedule all your meetings in advance. Make sure you both have it in your calendars! That said, it’s okay to not be able to make it every single week. You can always reschedule if something comes up.
Ideally, you’ll meet once a week for 2 hours. If that’s not possible, you can meet for 4 hours every other week, or a full 8 hour day once per month. Once you’ve figured out a schedule that works for both members, add it to calendars as needed and report your planned session dates and times in the Ruby Me Slack.
Coming up with an action plan
In the week before your first meeting, use Slack to make a project action plan with your partner. Research possible open source projects, ask the advisors in Slack for suggestions, and find at least one or two projects that you and your partner are interested in working on.
Review the project(s) that you’ve chosen for areas where you would be interested to contribute, whether that is documentation, issue triage, bugfixes, feature development, or something else. Try to pick something that seems doable in about 20 hours worth of work if you can, but don’t worry about it too much—the goal of Ruby Me isn’t to finish a specific project.
Setting expectations for results
The primary goal of Ruby Me is to give apprentices assistance and advice around getting started with Ruby open source work, while giving mentors the chance to practice pairing, mentoring, and participating in open source projects and process themselves.
If your team gets more familiar with GitHub and open source development processes, that’s success. If your team gets more familiar and comfortable with pair programming, that’s success. If your team learns how complicated and hard it is to set up a working development environment for open source software, that’s probably a very frustrating experience, but is also a Ruby Me success.
Writing about your successes and frustrations gives us a chance to celebrate what you were able to accomplish. It also means we can use that feedback to improve Ruby Me, and to try to improve the open source community and the projects themselves.
How to work on open source projects
As a starting point, check out André Arko’s blog post and conference talk “How to contribute to open source” for an introduction to the kind of work that happens in most open source projects, and how you can contribute starting from any level of experience.
How to pair program
To get familiar with how pair programming works, start with André’s blog post and conference talk “Pairing: A Guide to Fruitful Collaboration 🍓🍑🍐”, which explains the concepts behind pairing and sets some baseline expectations for how both members of a pair should expect to work with one another.
During the onboarding process, we’ll ask you for your payment information. We’re already set up to pay participants via PayPal, US bank transfer, or international wire. If none of those work for you, let us know and we’ll do our best to accomodate you.
Initial payments of USD$900 to each participant
On the first day of your three month session, we’ll send each participant payment for half of the session. This verifies that we have correct payment information, and means that participants don’t have to wait three months to get paid back for the time they are investing.
During your session
Meet during your scheduled times
During the times that you have scheduled to work together, work together. Review your action plan, sit down, and spend some time working on those things.
If you need to reschedule, be sure to notify your partner as soon as you can, and make sure to find another time that works for both of you right away.
Work, summarize, and plan
For each 2 hour work block, expect to spend:
- About 90 minutes working, coding, debugging, googling, etc
- About 10 minutes dealing with equipment issues
- About 15 minutes at the end writing down what you did
- About 5 minutes updating and writing down your plan for the next meeting
After each work meeting, take the summary that you spent 15 minutes writing and email it to firstname.lastname@example.org. We’ll use those summaries in our monthly newsletter, and to report on what the Ruby Me program has accomplished as a whole.
After your session ends
Final payment of USD$900 will be distributed to each participant
After the session ends, and we receive email summaries from your last meeting, we’ll send you and your partner the second half of the payment.
We’ll send you an email with a request for feedback. We really want to hear how things went for you, so we can continue to improve Ruby Me! Here are the questions we’ll ask:
- Have you been able to meet for 8 hours each month? More? Less?
- What have you spent your time working on? What have you learned?
- What are the biggest challenges that you faced?
- Is there anything we could improve for future Ruby Me sessions?
Request to continue (optional)
If your team would like to continue for another 3 month session, we would like to hear from you! We can’t guarantee that we can extend every team, but we would be happy to try.
Join as an advisor (optional)
If you are interested, we would be happy to have you continue as a participant in the Ruby Me Slack group, providing advice and encouragement to future teams. If you’re interested in doing this, let us know and we can keep your account active after your session ends!