πŸ§‘πŸΎβ€πŸ’» prep

Get an overview of how our curriculum works

Welcome

Learning Objectives

Welcome to the How our curriculum works module. This is a 3-part self-taught module designed for new members of our community to build a solid understanding of our curriculum. You will need to start with this prep section before exploring the rest of this module.

To best understand how our curriculum works, it makes sense to start by understanding the background of Code Your Future and our collective mission. With an understanding of our collective mission, the purpose and structure of curriculum will begin to make more sense.

Ready, let’s go…

Background

Learning Objectives

The idea behind CodeYourFuture started brewing in the summer of 2016. Working in the tech industry, CEO and co-founder GermΓ‘n wanted to find a way to make a positive impact on people’s lives through technology. He had observed the invaluable contributions of developers to organizations of various sizes and saw the potential for empowering individuals with coding skills.

During the European refugee crisis of 2015, the UK experienced a negative perception toward forcibly displaced people, despite many individuals lacking personal interactions with refugees or asylum seekers. Seeking guidance, GermΓ‘n connected with Gijs Cortens, the founder of HackYourFuture, who provided valuable support during the early stages of establishing CodeYourFuture.

In mid-October 2016, CodeYourFuture launched its first class with ten students from diverse backgrounds, including Syria, Afghanistan, India, Ethiopia, and a stateless individual. This marked the foundation of the London chapter. An article published in Refugee Deeply provides a detailed account of the launch of the first class. When interviewed during the launch of the first class in 2016, German said:

β€œThe tech industry is facing a huge challenge to find developers to fill the ever-increasing number of vacancies and, at the same time, to increase the diversity of their workforce to help serve their customers better,” he explains. β€œTraining refugees to become developers represents a great opportunity to address both issues.”

CodeYourFuture expanded its focus in 2019 to include locally-born disadvantaged adults. Many of these adults face challenges in finding meaningful work in their home country due to a lack of resources. CodeYourFuture aims to bridge this gap by providing them with essential skills and opportunities.

Our mission

Learning Objectives

CodeYourFuture helps people who need it most to reach their goal of working in tech. We are a grassroots movement that empowers communities with the resources they need to educate themselves and prepare for a career in the 21st-century tech industry.

At CodeYourFuture, our goal is to get our trainees good jobs in tech. Graduation is not the goal. Graduation is a personal achievement on the road towards success, but the goal is a good job in tech. When talking about ‘successful’ graduates, we mean employable, so we define this as a graduate with a good job in tech.

Members of CYF without the right to work are not included in our employment statistics, but we prepare them for this same outcome to help them to be successful in the future.

How are good jobs in tech defined?

Let’s define a good job as:

  • A fair, safe, and respectful work environment
  • A starting salary around (or above) the median household income, or with clear progression towards this
  • Opportunities for career advancement
  • Something you are interested in and enjoy

A job is considered “in tech” if:

  • Most of the job’s role helps to produce software or hardware, or helps a customer to use technology
  • The work done in the job couldn’t be done without some technical background

Some examples of jobs in tech:

  • A developer role in any company
  • A DevOps/Cloud role in any company
  • A product or delivery role in a software development team
  • A QA or test role in a software development team
  • A support desk role helping customers to use software effectively
  • A UX/UI role in a software development team

Community goals

Learning Objectives

To achieve our mission, we bring people together to build self-empowered communities of learners. To this end, we have 3 community goals for achieving our mission:

We build communities that can πŸ’‘ self-educate

Self educate means the ability to draw on surrounding resources to learn new skills and concepts. Tech changes all the time. We must develop independent learners who can teach themselves new skills and technologies.

We build communities that can πŸ• self-coordinate

Self-coordinate means the ability to make things happen with the people we have. Code Your Future isn’t a large company with lots of staff. (1-2 technical people on staff, worldwide.) We’re a community of motivated people who want to help each other. We can’t expect someone else will do everything - we need to make sure we get it done ourselves.

We use the collective intelligence we have built up over the years to coordinate our courses. This means many problems have been solved by others and many logistical “rules of the road” have been discovered collectively. We all use tools like classplanner, dashboard, Slack, GitHub, and most importantly the curriculum plan to coordinate courses and help new people join our community. But on the ground, there are always unique learning journeys that need supporting, arising from the unique mix of people in each class.

We are always pragmatic and outcomes focused. If a learner thinks we need a extra time learning a topic, they should suggest it! If a volunteer thinks a workshop on a topic would be helpful, they should give one, or find someone else who can.

We build communities that can πŸ“ self-evaluate

Self-evaluating means we work out what we’re doing well at, and what we need to improve. If you don’t understand a topic, you must identify this and get help. If you’re expecting to get code review and no one has reviewed your code after a week or so, you must raise this problem and get help.

Every piece of prep, every sprint, every module has learning objectives. Check them before and after you do them. If you aren’t confident you understand the learning objectives, talk about it.

Communities of adults helping each other

Don’t assume someone else will notice your problems and fix them. Everybody in our community has agreed to help each other; we must also agree to ask for the specific help we need, or we can’t win this game!

Mentors, it’s so important that you ask questions and model asking for help in productive and methodical ways too. It’s really hard to ask for help; it’s even harder to ask for help in ways that make it easy for others to help us. Everybody in our community is always learning and working on this very difficult skill.

Let’s work on being curious, humble, brave and kind together. What a team we can be! πŸš€

Curriculum

Learning Objectives

Our curriculum 🧢 🧢 curriculum is a highly structured organisation of resources and tools to guide a community in its educational development. is a FOSS 🧢 🧢 FOSS Free and Open Source Software - anyone can access it and contribute to it. educational project built by members of our community, including volunteers, trainees, and staff. Its purpose is to equip communities with the resources they need to launch a career in the tech industry. The curriculum is our collective solution to the mission of empowering communities to self educate, self coordinate and self evaluate.

Using this module

Learning Objectives

The rest of this module is split into three sprints, which you can complete in your own time: self educate, self coordinate and self evaluate. Each sprint is about how to use the curriculum to achieve each of these community goals. For each sprint, you’ll need to start with the prep to introduce yourself to new concepts before doing the tasks in the backlog to understand how you can start engaging with the community. At the end of each sprint, there is a success page. Make sure you have achieved all of the objectives in the list and check them off.

flowchart TB subgraph self educate direction TB prep1[prep] --> backlog1[backlog] --> success1[success] end subgraph self coordinate direction TB prep2[prep] --> backlog2[backlog] --> success2[success] end subgraph self evaluate direction TB prep3[prep] --> backlog3[backlog] --> success3[success] end

Ready, head to the self educate sprint

Overview

Learning Objectives

The course is divided into modules, each with a theme and learning objectives. Modules are divided into week-long sprints. Each sprint contains these activities in this order:

1. Start with the: πŸ§‘πŸΎβ€πŸ’» Prep, which explains the main concepts of the sprint.

Learners complete prep before class. Mentors browse prep to know what learners are learning.

2. Then go to: 🏷️ Backlog, a list of coursework assignments as issues.

Learners clone issues to project boards and work on them. Mentors browse issues to know what learners are doing.

3. For class it’s the: πŸ§‘πŸΎβ€πŸ€β€πŸ§‘πŸΎ Day Plan, a timestamped agenda for class day.

Usually a lively morning workshop and quieter afternoon study-group. Everyone should review the plan to prepare for class.

4. Review with: βœ… Success, the learning objectives for the sprint.

Learners check off goals. Mentors help us focus on the sprint goals.

Still lost?

  1. πŸ” Search: filter by module, sprint, and view.
  2. πŸ¦‰ Overview: your high level map with themes.
  3. πŸ“š How this works: our programme in detail.