# 🔖 Manifesto
This document is the UBC Launch Pad manifesto: a high-level overview of our vision, what we do, our values, and how we work with our sponsors and partners.
If you have any questions, please do not hesitate to get in touch!
WARNING
These sections are a work in progress.
# Vision updated
# Our Value Proposition
Technical advancements have created enormous opportunities in the world, people are capable for more than ever before. In this fast changing world, we want to provide a space for students who are passionate about technologies to develop their skills, to explore new possibilities, to share their expertise and learn from others, and to gain hands-on experience in building out what they envision.
Ranking 1st in Computer Science in Canada, UBC has many communities that help to connect students with industry leaders through events, workshops, and Hackathons. However, there is a lack of opportunity for students to apply their knowledge and skills and commit on a project they are passionate about.
Therefore, as a software development club, Launch Pad aims to create the best space for students to learn and practice industry-standard tools and techniques, to develop multidisciplinary teamwork, and to figure out what they can do with technologies.
# One-liner
As the leading software development club at UBC, Launch Pad prepares students for the future by providing a space for them to learn and practice industry-standard tools through building projects with like-minded individuals.
# Three-liner
As the leading technology club at UBC, Launch Pad is devoted to create a collaborative and professional environment for software development. It is our goal to provide the best space for students to apply and develop their technical skills outside of classroom, to learn and practice industry-standard tools, and to build passion projects with like-minded individuals.
# Software Engineering
The phrase is in our club name, but what does it mean? "Software engineering" as a whole is pretty well summed up by this quote from a blog post by Russ Cox, one of the creators of the Go Programming Language:
Programming means getting a program working. You have a problem to solve, you write some code, you run it, you get your answer, you’re done. That’s programming, and that's difficult enough by itself. But what if that code has to keep working, day after day? What if five other programmers need to work on the code too? Then you start to think about version control systems, to track how the code changes over time and to coordinate with the other programmers. You add unit tests, to make sure bugs you fix are not reintroduced over time, not by you six months from now, and not by that new team member who’s unfamiliar with the code. You think about modularity and design patterns, to divide the program into parts that team members can work on mostly independently. You use tools to help you find bugs earlier. You look for ways to make programs as clear as possible, so that bugs are less likely. You make sure that small changes can be tested quickly, even in large programs. You're doing all of this because your programming has turned into software engineering.
Our goal is that through what we do, we can provide our members with an experience that helps them learn important principles in software engineering.
# What We Do
Members in Launch Pad form into teams to work on an 8 month development project based on their interests and skill sets. Each team consists of a tech-lead, developers and designers, where they collaboratively go through the design thinking process to design and build a product.
As a club, Launch Pad supports every member’s experience through multiple ways:
- We provide enormous resources (Launch Pad’s database and guidelines) from experienced members to support members in their development process
- We connect members with industry professionals to learn about the industry skills through internal workshops
- We design team structure to enable mentorship and multidisciplinary teamwork from their peers
- We recruit with high standards to ensure everyone in Launch Pad is driven and dedicated in their own expertise
# Club Structure
# Project Teams
Launch Pad primarily consists of agile development teams centred around a shared project. Each team consists of a Tech Lead and a number of Developers, usually between 5 to 8.
Tech Leads are experienced developers who are responsible for managing the team by planning the project roadmap, assigning tickets during sprints, and implementing challenging features. They are also available as a resource to less experienced developers on the team. If you have any trouble with your issue, questions about Launch Pad, or just a random technical question: ask your Tech Lead.
Teams focus on a particular platform or technology, like Android, Web, or Machine Learning, and build a project for that platform. Platform teams are meant to balance learning with creation: teams working together have the ability to build interesting projects, less experienced developers have the opportunity to learn in the process, and more experienced developers get a taste of management and mentoring. Teams aim to model the experience of building a product at a software company.
# Design Team
UBC Launch Pad has a Design team that handles designs and asset creation for Launch Pad projects. Each project that requires design help should have one or more designers working with the team.
# Strategy Team
UBC Launch Pad has a Strategy team that focusses on strategically growing the team. This team will focus on increasing campus awareness and forming strategic partnerships in order to further contribute to Launch Pad's vision to be the leading university technology club in Vancouver, Canada, or maybe even the world.
# Code of Conduct
All members must agree to and abide by the following policies:
- Treat everyone with respect - we do not condone any form of discrimination or intolerance.
- Work on the ticket(s) assigned to you during sprint planning to the best of your ability.
- Be an active observer and participant in relevant discussions on Slack and GitHub, our chosen mediums of communication.
Any of the following are reasons for expulsion from Launch Pad:
- Not treating others with respect.
- Consistently missing meetings without notifying your tech lead.
- Consistently not responding to or ignoring Slack messages.