🏷️ backlog

Module-Onboarding πŸ”—  

00 Read and watch How This Works πŸ”— Clone

00 Read and watch How This Works πŸ”—

Learning Objectives

https://programming.codeyourfuture.io/how-this-works/

Learning Objectives

Why are we doing this?

Onboarding to CYF is overwhelming. There are so many new concepts, so many tasks to complete, and so many people to meet. It’s so much! And it’s so different!

Everyone feels a bit like this in the beginning. Read through the How This Works module, which tries to create a general onboarding module for all new community members, whether you are a learner or a mentor. Read the prep pages. Test your understanding on the success pages. Explore the backlogs and try out some of the activities. Watch the videos where we speak about CYF in our own words. You will be an alumni one day. What will you say to new starters?

You are not expected to understand or remember everything right away. We all remember what it was like being new, don’t worry! But it’s useful to start finding out some of this stuff, and to begin your journey as a member of this community. Get a notebook and start writing down your thoughts.

Welcome to CYF. We’re so glad you’re here and we can’t wait to get to know you. :heart:

Maximum time in hours

2

How to get help

  • Search the curriculum
  • Practice asking questions
  • Share your blockers in your class channel
  • :brain: Prep work
  • 🎯 Topic Communication
  • 🎯 Topic Requirements
  • 🎯 Topic Teamwork
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Sprint 1
  • πŸ“… Sprint 1
  • πŸ‚ Size Medium
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Teamwork
  • 🎯 Topic Requirements
  • 🎯 Topic Communication
  • :brain: Prep work
01 Prep πŸ”— Clone

01 Prep πŸ”—

https://programming.codeyourfuture.io/onboarding/sprints/1/prep

Why are we doing this?

https://programming.codeyourfuture.io/how-this-works/sprints/self-educate/prep/#importance-of-prep

The first thing you should do every week is the prep. The prep will help you do everything else. The prep teaches you the main concepts of the week and then the coursework provides projects and exercises to help you consolidate and practice that learning.

If you have gone straight to the coursework or straight to class and you haven’t done the prep first, then go back and do the prep.

Maximum time in hours

5

How to get help

  1. Share your blockers in #cyf-questions-support. Take the opportunity to practice asking your question like a developer: https://curriculum.codeyourfuture.io/guides/asking-questions
  2. Book a pair programming session with a mentor in the #cyf-pair-programming channel
  3. Attend a mid-week study session online
  4. Write down your questions and bring them to class
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Sprint 1
  • πŸ“… Sprint 1
  • πŸ‚ Size Medium
  • πŸ• Priority Mandatory
  • 🎯 Topic Requirements
  • 🎯 Topic Programming Fundamentals
02 Check module success criteria πŸ”— Clone

02 Check module success criteria πŸ”—

https://programming.codeyourfuture.io/onboarding/success/

Why are we doing this?

πŸ”‘ The most important thing is that you are secure in your understanding.

To enroll as a trainee and progress to the next module you need to meet the success criteria for this module. How will you meet the module success criteria? You have lots of people to help you. Discuss it in your Slack channel and make a plan together. Help each other.

πŸ§‘πŸΏβ€πŸŽ€ good strategies

  • asking volunteers to review your code and responding to that review
  • helping each other with coursework blockers
  • arranging midweek study sessions
  • using Saturday time to review code and the dashboard steps

πŸ™…πŸΏ bad strategies

  • opening empty PRs
  • copying and pasting
  • breaking the Trainee Agreement
  • mistaking the measure for the target

Maximum time in hours

.5

How to get help

Discuss with your cohort. Support each other.

How to submit

It’s just like ITD. Submit your step on the dashboard for volunteer review.

  • 🎯 Topic Code Review
  • 🎯 Topic Communication
  • 🎯 Topic Delivery
  • 🎯 Topic Requirements
  • 🎯 Topic Teamwork
  • 🎯 Topic Testing
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 1
  • πŸ¦” Size Tiny
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 1
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Testing
  • 🎯 Topic Teamwork
  • 🎯 Topic Requirements
  • 🎯 Topic Delivery
  • 🎯 Topic Communication
  • 🎯 Topic Code Review
03 Naming accounts consistently πŸ”— Clone

03 Naming accounts consistently πŸ”—

Your own accounts!

Why are we doing this?

Naming Accounts Consistently

πŸ’‘ Tip

Use the same name everywhere in your work with CYF.

Consistency in online account names

During the CYF course you will make accounts online. (Such as Slack, GitHub, Google, LinkedIn…)

You should always use your real name. It must always be the same name. Don’t use any other words apart from your name. Do not ever put your birth year or age in your user name. These things can harm your job prospects so start as you mean to go on.

Trainees use the same name everywhere in their work with CYF.

πŸ“ Note

CYF recognises you may need to keep your birth name private. When we say real name, we mean the name you go by. It does not have to match your birth certificate or any other legal document.

Your profile picture does not have to be a picture of you. It must be safe for work, consistent and unique, so you don’t get mixed up with other people. If you need to keep your photo private, you can use Robohash to make a unique profile picture.

Summary

Don’t use cute handles or put the year of your birth in your username.

Use the same username and picture across all CYF accounts. This also means professional profiles like Linkedin and GitHub.

Maximum time in hours

.1

How to get help

Swap with a classmate and check their profile. Ask yourself:

If you didn’t know them, would you know this was their Slack account? If you didn’t know them, would you know this was their LInkedIn? If you were a recruiter reading their GitHub, could you find their LinkedIn within six seconds? If you wanted to invite them to an opportunity, could you do that without asking them first?

  • 🎯 Topic Communication
  • 🎯 Topic Requirements
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 1
  • πŸ¦” Size Tiny
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 1
  • πŸ• Priority Mandatory
  • 🎯 Topic Requirements
  • 🎯 Topic Communication
04 Help me with my kid's homework πŸ”— Clone

04 Help me with my kid's homework πŸ”—

https://github.com/CodeYourFuture/GitHomeworkFixErrors

Why are we doing this?

Practice the Git workflow you’ll need for submitting your coursework. Try to complete this task before the first class. Write down any questions you have and bring them to class.

Maximum time in hours

1

How to get help

Ask for help with your blocker in the class channel.

How to submit

Follow the instructions on the repository’s README.md to submit this piece of coursework.

  • 🎯 Topic Requirements
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 1
  • πŸ“Git & GitHub
  • πŸ“Git & GitHub
  • πŸ“… Sprint 1
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Requirements
05 Tell us about yourself using Github πŸ”— Clone

05 Tell us about yourself using Github πŸ”—

https://github.com/CodeYourFuture/GitHomeworkTest

Why are we doing this?

Follow the instructions in this repository to submit a description about yourself.

This is how you’ll be submitting your coursework for the rest of this course, so if you hit a problem, you must speak up.

Maximum time in hours

1

How to get help

Ask for help with your blocker in the class channel.

How to submit

Follow the instructions on the readme to work out how to submit this piece of coursework.

  • 🎯 Topic Communication
  • 🎯 Topic Teamwork
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 1
  • πŸ“Git & GitHub
  • πŸ“Git & GitHub
  • πŸ“… Sprint 1
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Teamwork
  • 🎯 Topic Communication
08 Wireframe to Web Code πŸ”— Clone

08 Wireframe to Web Code πŸ”—

https://github.com/CodeYourFuture/Module-Onboarding/tree/main/Wireframe

Why are we doing this?

A wireframe is a simple line diagram representing the skeleton of a website or an application’s user interface (UI) and core functionality. It shows where components should be in relation to each other and what, roughly, they should do.

A common task for a web developer is to take a wireframe and express it in web code. Websites are made up of regular, repeating component pieces, so before you start coding, identify each component on the wireframe and write that out as your skeleton.

Maximum time in hours

3

How to get help

Share your blockers in your class channel. Use the opportunity to refine your skill in Asking Questions like a developer.

You can also open draft PRs and link to the actual code you are working on.

How to submit

  1. Fork Module-Onboarding to your Github account.
  2. Check you are in the branch main
  3. Make a branch for this project called feature/wireframe.
  4. Make regular small commits in this new branch with clear messages.
  5. When you are ready, open a PR to the CYF repo, following the instructions in the PR template.
gitGraph commit id: "start" branch feature/wireframe commit id: "skeleton page code" commit id: "What is Git" commit id: "Why do developers need Git?" commit id: "What is a branch in Git?" checkout main merge feature/wireframe

⚠️ Warning

Check you are in the branch main before you make your new branch or any changes

There are several projects in this repo. Make a new branch based on main for each project (each branch should not contain the commits for the other projects). The best way to do this is to check you are in main before you make any branch.

This might feel challenging at first, so this is a good problem to bring to class to work on in groups with mentors.

How to review

  1. Complete your PR template
  2. Ask for review from a classmate or mentor
  3. Make changes based on their feedback
  4. Review and refactor again once the coursework solutions are released.

Anything else?

A really good habit to get into is to look at existing web pages and turn them into wireframe sketches. You can do this with pen and paper. You don’t have to be good at drawing: it’s just lines and boxes. Start to look at the internet like an engineer: break it down and understand how it was made.

A good place to start is YouTube. What components make up those views? Can you sketch them? What about GitHub? Somebody made everything you see.

πŸ’‘ Tip

If you’re on a library computer, you might find it useful to fork this Codepen so you can see what you are doing more easily.

  • 🎯 Topic Requirements
  • 🎯 Topic Structuring Data
  • 🎯 Topic Testing
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Sprint 1
  • πŸ”‘ Priority Key
  • πŸ”‘ Priority Key
  • πŸ“… Sprint 1
  • πŸ‚ Size Medium
  • πŸ• Priority Mandatory
  • 🎯 Topic Testing
  • 🎯 Topic Structuring Data
  • 🎯 Topic Requirements
09 Manage time with your calendar πŸ”— Clone

09 Manage time with your calendar πŸ”—

Coursework content

Set up your Google calendar to show your weekly availability for calls with your peers. Share your calendar with your pair of the week. If you prefer, you can use Calendly instead of Google calendar.

Estimated time in hours

0.5

What is the purpose of this assignment?

This assignment aims to help you start using calendar software effectively to manage your time and to collaborate with your peers and volunteers.

How to submit

Share the link of your calendar or a screenshot on the ticket on your coursework board.

Anything else?

Stretch Set up an appointment schedule to accept bookings on your calendar.

  • 🎯 Topic Teamwork
  • 🎯 Topic Time Management
  • πŸ“… Sprint 1
  • πŸ”‘ Priority Key
  • πŸ¦” Size Tiny
  • πŸ¦” Size Tiny
  • πŸ”‘ Priority Key
  • πŸ“… Sprint 1
  • 🎯 Topic Time Management
  • 🎯 Topic Teamwork
10 Plan your life as a tech professional πŸ”— Clone

10 Plan your life as a tech professional πŸ”—

Coursework content

You will have made a plan in your head about how to take an intensive training like ours. As an adult you know you have to find time to work, look after a family, solve legal issues, get healthy, commute, etc.

Like all speculations, this plan is usually not accurate. CYF grads report they were quite wrong about the actual time and energy they needed to do the programme.

Even a good plan for the course is rarely accurate. If you have planned to return to your everyday life after the course until you find a job, then this plan will fail.

We know that successful CYF graduates begin their lives as tech professionals when they begin our course, and do not stop.

If you want to be a developer, you have to act like a developer daily. Becoming a developer is not about getting a job. It’s about playing a role in software development weekly, daily, if possible. If you want to be a DevOps Engineer, a Product Owner, a Scrum Master, an IT Professional, a Business Analyst, a Functional Consultant, a Data Engineer, or any of the other roles in tech, you need to start as you mean to go on.

Becoming a professional in this field requires constant improvement and practice. It doesn’t stop after your training. This training is just the beginning. Whatever plan you make, you must project it for the rest of your life. Tech professionals are continuous, life long, self-learners.

Estimated time in hours

1

What is the purpose of this assignment?

If your goal is to move into tech, you must commit to it. And that doesn’t mean only committing during the training. It means committing until you find a job in tech, which doesn’t have a fixed deadline.

This exercise will help you identify your time. It will help you plan your time. It will help you to always have enough time to be healthy, happy and a developer.

Let’s identify your weekly activities and availability,

  • Make a copy of this spreadsheet onto your drive

  • Fill in the number of hours for every weekly activity. Consider an average week so you don’t have to update this week by week. Your summary will describe how your week divides between these activities. Don’t write details about these activities, just write how much time you spend on each. Make sure you include the time you spend in each. If your week changes a lot, average across four sample weeks in the last six months.

  • Add a row if you have an activity not included in these items.

How to submit

Feel free to share this with anyone you feel comfortable to do so.

It’s good to get review. Everyone at CYF has different time constraints. Share your insights and help each other. And you can get tips for yourself at the same time.

  • 🎯 Topic Problem-Solving
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 1
  • πŸ“… Sprint 1
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Problem-Solving
Stretch: Bikes for Refugees πŸ”— Clone

Stretch: Bikes for Refugees πŸ”—

https://github.com/CodeYourFuture/bikes-for-refugees

Why are we doing this?

This is an optional or “Stretch” goal. You don’t have to complete it. If it looks interesting to you, you could bring this to class and work through it in groups in the afternoon.

Maximum time in hours

1

How to submit

  1. Fork to your GitHub account.
  2. Make regular small commits with clear messages.
  3. When you are ready, open a PR to the CYF repo, following the instructions in the PR template.

How to review

  1. Complete your PR template
  2. Ask for review from a classmate or mentor
  3. Make changes based on their feedback
  4. Review and refactor again next week

Anything else?

Why do semantics matter?

  • :brain: Prep work
  • 🎯 Topic Requirements
  • 🎯 Topic Structuring Data
  • 🎯 Topic Teamwork
  • 🏝️ Priority Stretch
  • πŸ‡ Size Small
  • πŸ“… Sprint 1
  • πŸ“ HTML & CSS
  • πŸ“ HTML & CSS
  • πŸ“… Sprint 1
  • πŸ‡ Size Small
  • 🏝️ Priority Stretch
  • 🎯 Topic Teamwork
  • 🎯 Topic Structuring Data
  • 🎯 Topic Requirements
  • :brain: Prep work