Online Small Group Projects at Launch Academy
Many grads will agree that the most rewarding aspect of attending Launch Academy was, and still is, the highly social and collaborative way in which we learn. Today, social distancing means we’ve had to adapt the student experience to allow each student to work right from their personal desks at home. As a result, the team here at Launch Academy has adapted our curriculum and project work to deliver the same collaborative, intensive, and immersive experience virtually. There are various parts of our program each with their own learning outcomes for students, but I want to focus here on the project based curriculum where students assimilate all of the concepts they have learned in the first 14 weeks, and get the opportunity to learn from working as a part of a simulated team. We call this period “group projects”, in which groups of four students build out React + Rails web applications with features that encompass many web development essentials such as: user authentication, configuring a backend web server, creating API endpoints, adding a React frontend, holistic app design and organization, as well as a whole lot more. With our previous experience learning to code from a distance, we know that thorough documentation, a diverse set of outlets for discussion and camaraderie, and varied educational formats for different learning styles make virtual learning effective. Much of what makes group project work essential at Launch Academy is a focus on preparing students for the independence and professional autonomy of many software engineering roles (virtual or in-person). When students form their teams to work on a group project web application, we provide curriculum and documentation en masse so that students can utilize resources as they tackle features that require them. Every student group will approach their web applications differently, and the shift in our organization of the material reflects that. With our approach to group project work, students are able to succeed at overcoming a daunting technical and interpersonal challenge - creating full-stack web-applications with numerous features in under two weeks. For a new developer, this is a huge undertaking. It requires more than just the practical knowledge of the many technologies essential for creating an application. It also demands that students create wireframes and outlines, learn new project management tools for organizing when portions of an app are built, and have the ability to consume a whole lot of feedback from our staff, who function as both TAs and managers. Groups start each day with a morning standup, complete with a full rubric on format and discussion topics to help orient and plan their day. As groups break into pairs to work on various features, they have access to updated and expanded documentation including more advanced ways of using React and interacting with third party APIs, as well as a new Virtual Group Project Guide so that students know how to properly escalate to managers (our Experience Engineers) and how to independently tackle project management challenges such as Git branching and Pull Request review, parallelizing on features, Agile methodology best practices like standups and retrospectives, and feature story management with Trello. Additionally, Launch Academy staff continue to provide Technical and Interview Prep lectures in the morning to drill and integrate material. Groups reconvene for a 1pm mini-sync where pair-programming pairs can share context and review application design. Throughout the afternoon, groups get Git Pull-Request Review and mock-technical manager feedback and discussions. Finally, we wind down the day with a 5pm stand-down with staff to reflect, empathize on challenges faced, and orient for success the following day. It’s demanding but effective if organized. On the first Friday of group projects, we will take the afternoon to hit the pause button on active development for the all-important task of reflection and discussion. Students are able to share what’s been effective in their group project experience, what unforeseen challenges arose, and how to develop and work better the second week. In this casual virtual setting, each group will additionally present on lessons learned and share key interpersonal and technical takeaways so that the entire student body is able to pull from a collective experience base. The following and final Friday of group projects then culminates in students sharing presentations on their apps over zoom, complete with student Q&As and discussion that helps to prepare them for their final capstone project. Alumni would also berate me for not mentioning “Funtime on Fridays” where we take time to hangout in a casual relaxed setting. We still do LaunchVotes, where we read aloud all of the many wacky superlatives we have each been nominated for that week (it’s as nonsensical and hilarious as it has ever been). Movie night then follows later in the evening, and is made possible by the many free and spectacular short movies available on Youtube (the Watch2gether extension ensures we are all witnessing the movie together). Finally, the evening wouldn't be complete without virtual Jackbox Games over zoom, featuring the pets and family of students and staff alike. Launch Academy has now evolved to teach students how to work more independently and to make sure that students feel supported no matter their learning style or work environment. The student documentation and transparent event scheduling provide structure. Our frequent and varied format discussions allow students to meditate on and make sense of the technologies they will be expected to use (and why they are designed the way they are), and an open system for communication and escalation to teachers allows for prompt answers to questions so that students can continue to learn about full-stack web application design, planning, implementation and deployment. It’s a system that provides a sturdy foundation with an agile architecture, allowing Launchers to grow as software professionals and gain vital experience working as part of a team in an increasingly remote workforce.