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, and
  3. how to actually go about signing up.

We’ll start with the TL;DR – Being a Ruby for Good Team Lead means making a 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 Sept 23—Sept 26, and then seeing the project through to completion.

What We Expect From Our Team Leads

Week 1

  • Attend an all-hands Google Hangout for 2021 team leads.
  • After your 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 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 organizer to provide an update on the project's status.

Week 4

  • Connect face-to-face 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 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 2021 team leads—a final check-in to get your questions answered before the official event happens in one week.
  • Connect with your 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 DC 2021 begins!
  • Pitch your project to Ruby for Good attendees on opening night (5:00 PM EST sharp): Provide a brief intro to the organization, to the project, ask for specific technical skills if needed, 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 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 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 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, 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 what the organization's needs are to your team. This also means that when your team is deciding how to build the app, you can effectively communicate the stakeholder,s needs if you have to reign in your team and prevent over-engineering what otherwise would 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 form 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 about learning and are happy to help and work with you to figure out a way to make it happen. Maybe that means a co-lead or appointing a technical decision-maker on your team. If you want to lead a team, we're committed to figuring out a strategy to make it work!

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. Click here to read a blog post about a past team lead's experience with their first time leading a Ruby for Good project.

Interested in Leading a Team?

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