Team Lead Guide

So you’re considering leading a team for Ruby for Good. You’re probably wondering what the heck that means. We’ve assembled some info on:

  1. What you can expect
  2. What we’ll expect from you
  3. How to actually go about signing up

We’ll start with the TL;DR — Being a Ruby for Good Team Lead means making an 8-week commitment to lead and deliver an open source project: 6 weeks prepping before the event and 2 weeks of follow-up after the event.

What Does It Mean To Lead a Team?

As a team lead, you will be connecting with a partner organization that has a non profit or civic mandate and work to deliver them software in support of their mission. This entails everything from meeting with the stakeholders, gathering requirements, translating those requirements, providing initial architecting, planning out project milestones, communicating with Ruby for Good organizers, pitching your project to Ruby for Good attendees, leading your team at the event, and seeing the project through to completion.

What We Expect From Our Team Leads

Week 1

  • Attend an all-hands Google Hangout for team leads.
  • After your Ruby for Good organizer writes an introduction email, reach out to the stakeholder via email to introduce yourself.
  • Research your organization and familiarize yourself with their business problems. Begin to understand the organization and their needs.

Week 2

  • Connect face-to-face with the stakeholder. Skype, Zoom, or Google Hangout is okay; meeting in person when possible is even better!
  • Meet 'n greet! Have a conversation about the technical capability of the organization, the project they had in mind, specific project requirements, nice-to-haves, both yours and the organization’s expectations, etc.
  • Connect with your Ruby for Good organizer to provide an update on the project's status.

Week 3

  • Communicate with the stakeholder to drill down on project requirements as necessary. If not needed, reach out to them anyway and let them know you’re continuing to think about their project.
  • Connect with your Ruby for Good organizer to provide an update on the project's status.

Week 4

  • Connect with the stakeholder for a SECOND time. Tell them where you are in solving their business problem.
  • Brainstorm newbie tasks for your project.
  • Connect with your Ruby for Good organizer to provide an update on the project's status.

Week 5

  • Create a README in the Ruby for Good GitHub repo we have created for your project. This README should give information about the organization and what we will be building for them. See a past project we completed for Habitat for Humanity for a good example of a README file.
  • Attend an all-hands Google Hangout for the team leads – a final check-in to get your questions answered before the official event happens in one week.
  • Connect with your Ruby for Good organizer to provide an update on the project's status.

Week 6

  • Attend a team lead and stakeholder BBQ the day before the event.
  • Ruby for Good begins!
  • Pitch your project to Ruby for Good attendees on opening night (4:00 PM EST sharp): Provide a brief intro to the organization, to the project, ask for specific technical skills if needed, and communicate your team’s goals if you feel strongly about them (examples: deploy by the end of the event, emphasize team learning, master new gems, mandate pairing for all coding, explore new frontend technologies, etc.)
  • Set team goals with your team. See above for inspiration.
  • Lead the team during the event.

Week 7

  • Make a plan to deploy with your Ruby for Good organizer.
  • Note that about 20% of our projects finish during the event – and we’re happy about that! We don’t want you or your team burning yourselves out. Ruby for Good is as much about building community as it is about doing good. If you work late into the evenings, you miss out on playing board games and Werewolf and we want to see your face during these social times!

Week 8

  • Connect with your Ruby for Good organizer to provide an update on the project's status.
  • Deploy! Your project will be finished and delivered.
  • Receive feedback on your mad team-leading skillz.

What Can Our Team Leads Expect From Us?

  • We will make introductions between you and the partner organization.
  • It sucks to be at a roadblock so the Ruby for Good organizer overseeing your project will provide multiple methods of contact and will commit to responding to any request within a day.
  • During the event, we will be available to help in any way you may need it.
  • After your project is delivered, we will collect and give you meaningful feedback from the organization, your team, and the organizers. We all want to grow and improve and we’ll provide actionable feedback to help you do just that!
  • We will take over maintenance of the application after it has been delivered, however, you are completely welcome to stick with it and continue managing the project if you'd like.

What Skills Do You Need to Lead a Team?

  • Organization. Do you like making to-do lists and keeping track of what has been finished? Perfect! There are a lot of details and moving parts and it pays to be organized.
  • Decision making. Developers have lots and lots of opinions and we love to debate. I think we’ve all seen the rabbit hole we can fall down when people start discussing things like vim vs. emacs, angular vs. react, and so on. The team lead needs to be able to make decisions and keep the project moving forward.
  • Communication. You will need to translate the organization's needs to your team. This also means that when your team is deciding how to build the app, you must be able to effectively prevent your team from over-engineering what otherwise could be a simple solution.
  • Empathy. We all participate because we are interested in making the world a better place. If we start with that belief, we realize that some problems arise simply because people care too much.

You may have noticed that we didn't list technical skills. The truth is that generally if you've been doing development for a year, you likely have the ability needed to lead a team. We'd love for you to get in touch about a project! Don't worry if you think you're missing some of the required skills. We're all about learning and will work with you to provide the support you need to be a successful team lead. Maybe that means co-leading a team or working alongside a technical decision-maker. If you want to lead a team, we're committed to figuring out a strategy to make it happen!

We encourage you to reach out to past team leads and ask them about their experiences! It's a lot of fun, great for the resume, and extremely rewarding. Read about a past team lead's first time leading a Ruby for Good project here: Leading a Team at Ruby for Good.

Interested in Leading a Team?

Message an organizer on Slack or send us an email at info@rubyforgood.org.