Whether you’re early in your Agile journey, or applying Agile to something other than software development, you can still achieve natural agility even if you’re unsure which of the many frameworks to use. The essence of the first line of the Agile Manifesto states, “We are uncovering better ways of…doing…and helping others do it.” Let that be your guiding star. In this report, I share my experiences with starting a free, volunteer-run, non-profit coding club for kids grades K-12 and how we used this idea as a general guide for achieving natural agility.
TriValley CoderDojo (TriV) is a volunteer-run, non-profit youth technology and leadership club. The club serves youth, grades K-12, and provides free learning opportunities in leadership, teamwork, public speaking, and computer programming. We began in 2013 with once monthly sessions at one location and grew to weekly sessions across five locations. Currently, we have gained more than 2,900 member families, hosted over 320 sessions, offered 30 different technical topics, and have served over 18,000 youth. During the pandemic, TriV’s operations were moved online, and in March of 2021, we were selected for the Jefferson Award for Public service .
Since its inception, TriV’s way of operating has been through continuous improvement: consistently uncovering better ways of doing things to bring greater value to the customer. Over the years, this has culminated in a set of values that align well with the values of the Agile Manifesto.
TriValley CoderDojo Values
Individuals and interactions over titles and authority
Learning by doing over rigidly following prescribed curriculum
Member collaboration over enforced member roles or contracts
Responding to change over following a set plan
We did not start out knowing what Agile was. Knowledge of Agile did not enter the picture until 2018 when I enrolled in an Agile training program. My son Alexander and I, founded the club five years earlier out of Alex’s love of coding and desire to share this activity with his peers in our area. At that time, we were both involved in every aspect of the club: promotion, planning and decision-making, and all functions of session operations. Today, we have self-organizing, self-managing volunteer teams that support session operations. Alex and I still participate in session functions, but now we are able to focus more of our attention in specific target areas, develop more service offerings, and handle other organizational responsibilities.
This experience report details my journey entailing curiosity, kids, and coding, and why agility is enabled naturally from learning and the learning process. Let’s start from the beginning of my story with the major influencing factors in how we structured the club and sessions, and how we adapted along the way through iterative, incremental experiments. All of this with a customer-centric focus in mind.
While there are many experiences to share from my journey, I’ll focus on examples that illustrate the three key takeaways that I hope will inspire readers to think about what they could create in their own situation:
- Make Agile your own
- Focus on continuous improvement
- Treat everyone as partners in the process
2. Influencing Factors
Homeschooling was the first major influence in how TriV structure and environment would eventually be organized. I homeschooled Alex from grades K-12. We chose to adopt a child-led or child-centered learning approach. Homeschooling gave me, as the parent, more freedom to select the content and place greater emphasis on areas I felt important. This allowed me to include areas such as life skills, leadership, and communication skills, not specifically taught or as frequently practiced in school.
Generally, a child-led approach aims to allow the child some autonomy in what, when, and how they learn and how they spend their time. Mistakes are viewed as a source of further learning. Child-led environments can appear busy and chaotic. Communications are many-to-many as students engage more with one another during activities. Adults serve more as coaches and still have a role in providing support, resources, structure, and encouragement where needed. By having more agency in their learning, children develop awareness of their interests, trust and confidence in themselves, and a positive self-image. While a child-led approach is often found in homeschooling environments, it is possible in a classroom environment but often constrained by the existing traditional school system. A child-led approach also provides greater flexibility to accommodate learning or neurodiversity differences by enabling a child to tailor the modality and pace of the learning.
In contrast, a more typical teacher-led, classroom-style learning approach is more similar to a command and control model of management. Classrooms are often quiet and controlled and communications are one-to-many from teacher to students. The environment and studies are designed around teacher, school, or government dictates. Teachers are responsible for what students need and decide on content and activities. Failure is perceived negatively. For ease in logistics and management, students are grouped and categorized and lessons planned accordingly. There is little opportunity to tailor towards an individual child’s interest or learning needs.
You could readily substitute teacher with manager or parent, and student with learner or employee in comparing the two approaches. As applied to employees in a company, an employee-centric approach would enable employees to have more autonomy and ability to tailor their work and lead to greater employee engagement and job satisfaction.
The second major influence that factored into our TriV operations came from the youth development organization, 4-H. Alex was enrolled in 4-H for nine years and I served as a volunteer project leader. 4-H stands for Head, Heart, Hands, and Health which indicates the organization’s holistic view towards youth development. While 4-H’s roots were originally in agriculture and rural areas, the organization has since spread to include urban and suburban cities. 4-H now provides projects on a wide variety topics including technology topics like robotics. Volunteer project leaders are free to offer projects on any topic of leader or member interest. Youth members are free to select only projects that interest them. Besides the primary subject matter, every project includes opportunities for youth members to demonstrate community service, leadership, and communication skills. Communication skills include written and verbal reports and presentations. 4-H clubs are co-ed and projects are open to multiple ages. Youth members run the club and fill all officer positions mentored by adult club members.
Child-led learning, autonomy, flexibility, leadership, community service, and communication skills were important aspects inspired by both our homeschooling and 4-H involvement that influenced how we shaped TriV. When children are allowed the freedom to direct their own learning, they become more purposeful. Given opportunities to explore and the safety to make mistakes, children develop mastery. Autonomy, purpose, and mastery are the ingredients for self-motivated learners.
3. The Story of Trivalley Coderdojo
In 2013, Alex had already been attending a youth coding club in Silicon Valley for several months. There were not many coding resources for kids in our area at that time. This coding club had the advantages of a large sponsor, generous budget, and plenty of volunteers. They had many technical volunteers not surprisingly given the density of technical professionals in Silicon Valley. Microsoft provided multiple conference rooms, sponsored food, and additional personnel. Attending kids brought their own laptops. This club was organized based on the teacher-led classroom approach. Technical professionals served as presenters in place of teachers. It was well-run and organized, but it was a long drive from where we lived. The new coding friends Alex made were from that area and also farther away. We wanted to gather with other kids closer to home that Alex could code with. As a result, we decided to start our own coding club.
In contrast to the Silicon Valley club, we lived in an inland East Bay suburb an hour’s drive away. Our technical professional network in the area was non-existent and we didn’t know of many high tech companies in the area. We lacked a meeting space, a technical professional as presenter, volunteers, and a budget. After a meeting with our local mayor, we secured a space at the Dublin Public Library. Alex had been taking Scratch programming classes in Oakland. From that class, we were able to recruit one of the presenters to lead our once monthly sessions. With that, we began promoting our first event by posting flyers at coffee shops and posting to local online community forums. We hobbled together an online presence using free online resources: a WordPress website, Eventbrite for registration, Mailchimp and a Google group. We had one room, one presenter, and one programming topic. We held our first event in October 2013 and it was a great success! We were overrun by attendees. Unregistered families dropped in and wanted to stay, willing to sit on the floor. Our presenter and volunteers were overwhelmed, but the families were interested in returning for more.
3.1 Pivoting to a Child-Led Learning Approach – Make Agile Your Own
It didn’t take long for us to run into sustainability issues with the resources we had. Our presenter was a great guy with a busy life and no car. After February of 2014, he could no longer continue. Alex and I continued for a couple more months as presenters, but it was lot of work and we weren’t satisfied with the teacher-led approach. A teacher-led approach is a teacher-dependent approach with the disadvantages of a classroom model. It meant we were dependent on an available teacher to host a session in a particular topic. With only a single room for meeting space, we could offer only one topic. Attending kids with varying skill levels and lack of sufficient volunteers meant that struggling students slowed the class down and other students became bored.
We quickly switched to the child-led learning approach so familiar to us in homeschooling and 4-H. The first step was to curate a repository of self-guided, self-paced materials on multiple programming topics. Each resource chosen needed to be kid-friendly, support a range of learning from complete novice to highly advanced skills, and progress learners in smaller, manageable steps that built upon each other. These materials enabled participants to have autonomy in choosing the subject, level, and pace they wanted to learn at. Children can use the curriculum or explore and create on their own with the curriculum for reference. Learning by doing is the emphasis. We would no longer be dependent on having a presenter for sessions or to introduce a new topic. We offered multiple programming topics in the same room. Since attendees were grouped by topic and not age or skill level, students would learn to engage in a diverse group. We encouraged peer-to-peer learning, thereby increasing communication and socialization among participants. Without the responsibility of presenting, we were able to recruit more technical professionals who served as mentors. Mentors were able to tailor their attention to those who needed additional support without other students having to wait. If a mentor were absent, we could better distribute our pool of mentor volunteers in the room to cover more students, giving us greater flexibility.
Just as Agile was conceived in reaction to the rigidity of the Waterfall approach to developing software, we switched to the child-led approach in response to the rigidity and lack of sustainability of the teacher-led classroom approach. While we didn’t know Agile when we started TriV, our objectives were similar: provide each participant with the desired learning opportunities that were useful without delay and improve the learning available. In that sense, by adapting our structure and process to suit our organizational and customer needs, we made Agile our own.
3.2 Club Customers
TriV has at least three types of stakeholders with different needs: kids, their parents, and hosts. The mission of the club is to serve the children. They are our club’s primary customer. However, children are dependent on their parents to join the club, register for sessions, volunteer to help, transport them to sessions, and provide the laptops to code. While parents are secondary customers, they also make the decisions and control the resources. Hosts provide the meeting space needed for us to meet in a large group. Corporate hosts and libraries loan us the use of their facilities equipped with Wi-Fi connectivity, power, audio-visual systems, and bathrooms.
Parents have different objectives than the kids for bringing them to the club. Parents want their kids to learn coding, but they also have greater ambitions and different measures of success than their kids do. Many families have multiple kids with possibly different objectives dependent on the child’s age. This means that thinking about the customer also means considering the family as a unit. Kids want to learn, have fun, eat pizza, and be with their friends.
The host organizations like promoting their good acts and receiving good will from the community. Hosts also want to be free of any liability and have a clean conference room after the event is finished. The host’s employees chaperone our club sessions. They enjoy feeling that they are helping a worthy cause or might even become members of our club. This adds yet another dimension to the member/owner/volunteer/host profile. As a club, we require one parent or parent-authorized adult to remain present during the session to cover liability and avoid the costs of background checks. We also did not want to become a drop-off program. We wanted parents to become involved and be a part of our community. The various types of customers and their overlapping roles make for a complex customer-centric effort. This is the context within which we have to work.
There are some inherent challenges to running a free non-profit organization. First, since you’re offering free services, unless you’re spending the time to do a lot of grant writing or raise donations, you’re not bringing in much revenue, if any. Free also means that all your “staff” are unpaid volunteers including yourself. Most of your volunteers are the parents of the attending kids and also employed in full-time jobs without a lot of time to give. On top of that, when you elect to form your club as a community-based owned and operated club with a flat organizational structure, it also means that there are no titles or the authority that might go with it. Your members are your owners, your volunteer staff, and your customers, all at the same time. These members/owners/volunteers don’t receive wages, pay no fees, are under no contract, make no commitments, and can leave the club or not show up at any time. There is nothing to require participation, attend meetings, respond to communications, or agree to help. Given the stakeholder complexity, club challenges, weekly operational fluidity, and constantly changing members and volunteers, it is an amazing feat to have been able to serve the number of youth we have, remain sustainable all these years, and offer what we have to the community. All of this while remaining free of charge.
3.4 Growing the Club – Focusing on Continuing Improvement
From the beginning, our focus has been on consistently improving the value we can bring to our member customers. Growth was not a goal in itself. Offering increased learning opportunities to kids was the ultimate goal, both individually and collectively.
To that end, we increased the number and types of learning opportunities available to our members and made it easier for members to take advantage of those opportunities. Each of these improvements were done in iterative, incremental experiments:
- Increased the number of attendees that we could support at each session
- Enhanced the variety of topics offered
- Increased the number and frequency of sessions
- Augmented session activities: leadership, public speaking, and guest speakers
- Added special events and competitions
- Expanded age range served
- Improved convenience of attending sessions
Operating under a child-led learning model set the foundation for club growth. We could add new topics as long as we had supporting materials or we could make our own. We had started the club being able to only offer Scratch. After switching to the child-led approach, we were able to offer from five to eight different topics at each session depending on member and volunteer interest. By offering more topics, we attracted more families and a greater age range of students. With participants more capable as independent learners, we were able to accommodate a greater number of attending students. Attendance ranged from 50-80 kids each session depending on the capacity of the host room that week. With attending parents, our total attendance could range from 70 to over 100 each week. We were able to recruit more volunteers by incenting them with priority registration.
We started TriV with only one session a month. Attending member parents began to ask us to host sessions at their work places. Each host sponsored the club only once a month. By scheduling each host session on the same day of the week but on subsequent weeks of the month, club members could enjoy weekly sessions in a fixed rotation schedule. We just moved to a different host each week. We added Veeva Systems as our second host in 2015, and Oracle, Callidous Cloud/SAP, and Workday soon followed as our third, fourth, and fifth hosts in 2016.
As we grew, we also added leadership activities and public speaking to our weekly sessions. Teens could mentor or create project initiatives that they led. Our policy was that mentors enjoyed working with children and they were willing to learn. We did not require previous experience or specific qualifications. This meant that both teens and adults who were less experienced could step into the mentor role and solidify their learning and practice by helping others. Mentors engaged in collaborative problem solving with the kids. This demonstrated an emphasis on learning, the safety to make mistakes, and continual improvement. We also formed a Teen Leadership Council within the club. Industry guest speakers were invited on a variety of topics including creativity, cybersecurity, and what made good teams. All attendees can practice public speaking by presenting what they had been working on near the end of the session.
Figure 1 illustrates one of the presentations given towards the end of a session. Presentations are renamed “Lightning Talks” to make them sound less intimidating. Presentations are brief and the name “Lightning Talk” sounds cool and more appealing to kids. All presentations are given voluntarily. Kids sign up on a list if they wish to present, but it is not required. At this point in the session, the focus isn’t so much about the technical skill of computer programming as it is on encouraging kids to have confidence speaking at the front of the room. Lightning talks are informal sharing of what kids are excited about. They feel proud about what they have created and can share their accomplishments with a supportive audience. A key to being a good speaker is feeling calm, relaxed, and confident in front of a large audience. Kids are not instructed on how to present. They learn naturally through watching others or guided with a gentle whisper or hand if they are facing the wrong way or forget to hold up the mic. We try to create as many opportunities to be at the front of the room so there are several roles kids can volunteer for: technical support, announcer, interviewer, presenter, timer and other assistants. Technical support helps a presenter get connected to the AV system and share their screen. An interviewer asks questions of the audience or enables a presenter to ask the questions. We might have multiple kids serving in each role and they take turns allowing even more children to participate. All of the kids involved work as a self-managing team. Adults are not involved. Kids who have participated in the process before mentor new kids on the process and what to do. Figure 1 illustrates this as teens set up an enthusiastic four-year old about to present her first computer program in Scratch. They help her set up including finding a stand for her to reach the podium.
Figure 1. TriV Lightning Talks
In addition to our weekly sessions, we also began organizing and participating in special events. TriV entered the youngest team the Alameda County App Challenge Hackathon ever had in 2014. This event was a one-day event that was typically attended by high school and college students. We entered our team made of parent-and-me members with kids ranging in age from 8 to 13 years old and created an app using county data. That same year, TriV partnered with a tech group to organize a one-day event for kids on a variety of topics including soldering, electronics, and programming. In 2015, we obtained a fiscal sponsor which allowed the club to receive donations to do special events and projects. One example of a special event was organizing our own Scratch Hackathon in 2017 that enabled all kids to attend. It was the first hackathon event that included five year olds who are normally excluded from such events because of their young age. We began organizing teams to enter cybersecurity competitions, and in 2017, our all-girl middle school team was the only middle school team invited to the high school California Cyber Innovation Challenge (CCIC). Our high school team won 2nd place at CCIC in 2019.
Having addressed improved offerings for children, we wanted to make it easier for families to attend our weekly sessions. For families with multiple children, they had to juggle multiple needs, sometimes leaving one parent home with the younger children while transporting others to activities. When we began TriV, we started with a minimum age for participation of 8 years old. This was a common starting age as the prevailing thought then was kids would be more able to manipulate a computer and learn the concepts. However, in homeschooling, children of younger ages are mixed with older ages and it’s found that these younger children learn faster. Mobile device use was becoming increasingly more common among young children along with children’s apps that taught computer concepts.
Given these factors, there was no reason to keep the 8 year-old minimum age for attendance. We quickly decided to expand the age range we served from 5 to 19 years old. Now sessions could be more inclusive of families with multiple children of varying ages. Our vibrant social environment encouraged kids to walk around the room to see what was happening in other programming topics. This allowed us to accommodate the active energy of younger children. Five year olds were not expected to sit for long periods of quiet, focused attention. They could sit for a short period and take moving breaks as needed.
Another way we eased attendance for families was by structuring session registration to better support the busy lives of member families. In a traditional teacher-led, classroom-style environment, students might attend daily or weekly. The class runs for a determined length of time: a specific number of weeks, months, or year. Lessons are often interdependent or cumulative. Families have to commit to registering and attending for multi-week periods. Yet, things inevitably arise unexpectedly: illness, the family car broke down, or a parent had to work late. If a student is absent for any class, work must be made up or the student falls behind. Students who were not successful in registering for a series of dates were not able to register for the class until the entire series is complete. In a child-led learning environment with self-paced materials, participants are not penalized for absences and can just pick up where they left off. Without being teacher-dependent, learners can learn at other times outside of club sessions, and yet still continue where they left off when returning to the club. This eliminates the need for multi-week sessions. Each club session is independent of another. As membership attendance is not required at TriV, members can attend according to their convenience and needs, bringing all or some of the children, and attending as desired.
3.5 Team Structure and Dynamics – Treat Everyone as Partners in the Process
TriV has a flat, organizational structure that emerges out of the necessary functions for operations, sustainability, and member customer needs. There are no titles that give authority to one member over another. Everyone is treated as partners in the process. There are also no lengthy decision-making or approval processes to overcome in implementing ideas. The driving force is the initiatives of the members themselves.
Both adults and youth have a voice in the operations of the club. Youth members have autonomy in what they learn through our child-led learning model. Teams form organically from both adult and youth volunteers registered for that week. Volunteers may attend sporadically or regularly with new members continually being added each week. Adults self-select to volunteer for different operational functions while their kids are attending. Existing members train and socialize volunteering new members in real time at the sessions. New members are welcomed and given an equal voice alongside existing members.
Any issues that arise are addressed as appropriate within a team or between teams. Members collaborate to arrive at solutions that they trial and evaluate. Examples of functional session teams and how they collaborated were TriV’s snack, session check-in, and online transition teams. When TriV first started at the Dublin Library, snacks were arranged by potluck via voluntary donations by attending families and left at a snack table. There were not enough volunteers to manage the table. Issues arose with inequitable consumption, insufficient supplies, and types of snacks that left the area messy with a spread of crumbs. Typical donations included cookies, crackers, and chips.
A few concerned parents wanted to provide better food at the sessions. They also cited the difficulty parents had feeding their children while hurrying between after-school activities and the club session. The snack team was born and they were given the autonomy to come up with a solution. The parents arranged to order pizza as the kids’ favorite and prepared cut fruit and vegetables, supplied paper goods, and served at each session. Serving better fare provided another issue: long queues as attendees all went to get their food as soon as they passed check-in. The snack team collaborated with others to form a larger check-in team. The check-in team responded with a system of multiple check-in lines, donation collection to help pay for food, distribution of numbered tokens as flow control for attendees getting food, and food expense reimbursement to snack team members. As not all members of the check-in team could always arrive prior to attendee arrival, the team developed multiple sets of supplies and distributed these among the team. The resulting redundancy assured the required supplies as needed. All of these solutions came from within and between self-managing teams who coordinated individual responsibilities.
As with most organizations, TriV closed during the pandemic lockdown. Hosts closed and all in-person sessions stopped. After several months, one parent on our TriV Slack workspace suggested offering online sessions. My initial thought was to begin with offering one topic, Scratch as the easiest, and limit participants to a small group. The mentor and online registration teams, however, enthusiastically decided to bring all of our topics online all at the same time. The teams had to make several changes to adapt to the online format from our in-person format. Unlike our in-person sessions, having all kids in all topics meet in one virtual room was not feasible. We couldn’t pool mentor resources across topic tables in the same room as we did in-person. Using only free tools, we didn’t have the use of break-out rooms.
The registration and mentor teams decided to assign participants to a single mentor for manageability, so we needed more than one room. Without the need for snacks and check-in and forgoing the presentations for now, the session start was moved to a later time and duration shortened. Google Meet was selected for online sessions as it was free and accommodated the new session duration. Each mentor created their own Google Meet link, and registration volunteers coordinated sending the right links to parents for the appropriate assigned groups. Mentor to student ratios were kept small, and more mentors were recruited to divide topics with larger numbers of participants into smaller groups. Participants could continue to use available materials, but each mentor had the autonomy to add new resources or make changes according to their own style and what they wanted their room to be like. Communications during the sessions for questions or adjustments were coordinated via Slack simultaneously during the session. In the end, mentor and registration volunteers coordinated 10 simultaneous Google Meet virtual rooms each week. These changes kept TriV operational during the pandemic. Not only did TriV remain open online, but we added new members to the club. We now provided a valuable service and outlet for families in lockdown who needed respite from work, school, and isolation fatigue.
Many families do consistently return each week despite no commitment or attendance requirement. That’s when you know you’re meeting customer needs. They return because of the value they receive through participating and the connection they have made in our community. We have received many gratifying stories of how TriV has impacted the development of attending youth from member parents. The emphasis from these parents is usually not for the coding skills their children have gained, but for the larger impact our club has had on their child’s confidence and as leaders in their own lives. The coding skills gained came secondary to that. Some families have traveled far distances to participate in our in-person sessions. We have one family who has been traveling during the pandemic to different countries, and their child still attends each week, even when the different time zones meant staying up very late. Another family who became very involved in our club had to move across the bay. They ended up starting their own youth coding club based on our model. We had teens who went on to win numerous hackathons and start their own businesses. One teen moved on to college and started his own coding club for women to help increase female representation in computer programming. Another teen wrote in her college admissions essay about how TriV helped her decide on a computer science major. She graduated this year from UC Berkeley.
Without time or budget for promoting the club, we have been steadily growing over the years through word of mouth. You can’t get better promotion than that and this again reaffirms that we’re achieving customer satisfaction. We gained member families even during the pandemic. Some families who have competing activities or changes in need stop attending, but they often return years later. Their kids have now become more interested in programming, their younger child is now of age to participate, or former participants come back to mentor as older youth volunteers. They rejoin our club in another role. In the Introduction section, I mention some statistics on the club and the selection for the Jefferson Award for public service. Knowing the difference you’ve made in the lives of children and their families and seeing them choose to return to the club over time is a much more meaningful impact than numbers or awards.
Despite the challenges of running a free, all volunteer-run non-profit, the rewards of seeing the kids grow in skills and confidence can be magical. Parents often underestimate what kids can do at certain ages, and you know that their changed perspective will make a difference long into the future.
TriV is a huge success. Alex and I jumped in and things took off quickly. In hindsight, I might have started smaller, articulated our values and model better, and instilled a stronger sense of volunteerism. However, I’m not sure TriV would be where we are today. There was a large demand for coding activities for kids when we started and we served that need and then some. We created more than a club. We created a community.
TriV, first and foremost, is about learning. The club offers learning opportunities to children, and all members learn to improve club operations and activities. Learning involves acquiring knowledge and skills through experience and is initiated instinctively in adapting to one’s environment. This is what I refer to as natural agility. Curiosity is an engine for learning by arousing interest to elicit an eagerness to learn more. Kids are naturally curious and learn best by doing. Give kids the autonomy and resources to create and play with coding in a safe, social, and inclusive environment. Enable purpose and opportunities to gain mastery. You now have the recipe for motivation. Employees are not that different from kids in this respect.
I wanted to write this paper to demonstrate that agility can be achieved even if one is early in their learning journey or trying to apply Agile to something other than software development. Keep the premise and values of the Agile Manifesto in mind. You often hear in the Agile community, fail fast, learn fast. Learning and adapting can enable natural agility. Focus on continuous improvement. Innovation comes when people have autonomy and the psychological safety to explore and make mistakes. While there is value in Agile frameworks and methodologies, place greater importance on using the values to guide you over inflexible compliance. TriV’s story proves you can still be agile even when you don’t know what Agile is.
I would like to express my appreciation to my shepherds, Candase Hokanson, Jutta Eckstein, and Rebecca Wirfs-Brock for their feedback, support, and encouragement. In addition, thank you to David Kane and Jessica Small for submission review help and answering all my questions. I don’t think I would have made it to submission were it not for the deeply supportive, and ever encouraging Agile community that has helped me feel like I really belong as one of the crew. They have reviewed things for me, gave excellent and wonderful feedback, and just been there at my back: Andrew Webster (presentation prep master extraordinaire), Huy Nguyen, Oluf Nissen, Pavit Lally, and Michael Nassif. Thank you to Cliff Kimber and Vitek Sanek for their unwavering support and inspiration. The most essential for last are all the dedicated and giving volunteers and members at TriValley CoderDojo without whom any of this would have been possible. They are what makes TriV special and are part of its soul with the vitality and life to be bigger than us all.
 TV Station KPIX5 CBS SF Bay Area, East Bay Program Helps Thousands of Kids Learn Coding Skills, 17 March 2021, https://sanfrancisco.cbslocal.com/2021/03/17/jefferson-awards-tri-valley-coder-dojo-valerie-alex-freitas/