Team Lead Guide
So you’re considering leading a team for Python for Good 2018. 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 – Bottom line: Being a Python for Good Team Lead means making a 8-week commitment to lead and deliver an open source project—4 weeks prepping before the event, and 4 weeks of follow up after the event.
Now for the details…
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 Python for Good organizers, pitching your project to Python for Good attendees, leading your team at the event on July 27 - 30, and then seeing the project through to completion.
What we expect from team leads:
Week 1 (July 1-7)
- Attend an all-hands google hangout for 2018 team leads
- After your organizer writes an introduction email, reach out to 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 (July 7 - July 14)
- Connect face-to-face with stakeholder—skype 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 requirements, both yours and the organization’s expectations, etc.
- Connect with your organizer to provide update on project status
- Create a readme in the Codeforgood github repo we have created for your project. This readme should give information about the organization and what we will be building for them. A good example readme can be seen here.
Week 3 (July 14-21)
- Add and maintain Github issues that describe the project’s tasks
- Brainstorm newbie tasks for your project.
- Communicate with your 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 update on project status
Week 4 (July 22-29)
- Connect face-to-face with stakeholder for SECOND time, tell them where you are in solving their business problem. Make sure you’re ready for the event.
- Attend all-hands google hangout for 2018 team leads – a final check in to get your questions answered before the official event happens in one week.
- Attend Python for Good!
- Pitch your project to Python for Good attendees on opening night (5pm 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 it (examples: deploy by end of event, emphasize team learning, master new libraries, mandate pairing for all coding, etc.)
Week 5 (July 29-August 6th)
- Attend Python for Good!
- Set team goals with your team. See above for inspiration.
- Lead the team during the event.
Week 6 (August 6-13)
- Make plan to deploy with 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. Python 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!
- Coordinate with any attendees who would like to work on the project after the event (This is completely optional on the part of the attendees, but many folks like to see projects through after the event).
Week 7 (August 13- Aug 20)
- Connect with your organizer to update them on status.
- Continue to coordinate with any attendees who would like to work on the project after the event (This is completely optional on the part of the attendees, but many folks like to see projects through after the event).
Week 8-10 (Aug 20-27)
- Connect with your organizer to update them on status.
- Deploy; project will be finished and delivered.
- Receive feedback on your mad team leading skillz.
What team leads can expect from us?
- We will ensure that the partner organization will work with you and be available for questions at the event.
- 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 many 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.
- We will take over maintenance of the application after it has been delivered. 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 v 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 org needs to your team. This also means that when your team is deciding how to build the app you can effectively communicate the stakeholders needs if you need 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 come 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!
**You should definitely reach out to past team leads and ask their experience. It is a lot of fun, great for the resume and extremely rewarding.
Interested in Leading a Team?
Message an organizer on slack or send us an email at [email protected]