π·οΈ backlog
Module-Data-Groups π
[TECH ED] π Code review π Clone
Why are we doing this?
Code review is an essential part of self-evaluation. Get a code review for a piece of work; then reply and iterate on this feedback.
We’re using GitHub Labels in our Code Review process. In order for a volunteer to review your pull request, you will need to add a “Needs Review” label to it.
- Open your pull request
- In the right sidebar, click Labels, then select “Needs Review”
Take a look at our code review process from beginning to end. Let us know if you have any questions or need help!
You can also use any solutions to review your code independently.
Maximum time in hours
1
- π Priority Mandatory
- π Sprint 1
- :memo: Self evaluate
[TECH ED] π«±π½βπ«²πΏ Pair program π Clone
Instructions
- Pair up with a volunteer and work on a kata together
- As a trainee, you will need to explain your thought process, plan out what to do, write the code and check it works
- Volunteers will need to ask questions to check your understanding, provide guidance if you stuck, give honest and meaningful feedback
π§ Guidance for volunteers
- Don’t take over! It’s important trainees get used to figuring things out. Provide guidance and assistance but trainees need to struggle to overcome any obstacles with understanding and technical communication
- Give honest feedback. Trainees can’t develop if they don’t receive honest feedback about their progress.
- Ask questions. Sometimes asking a clarifying question can help learners discover errors and often promotes more thoughtful responses.
- Encourage best practices. Reinforce good practices like reading error messages carefully sessions and checking documentation.
Why are we doing this?
Pair programming is an excellent way to develop programming and communication skills. It is often much easier to work through something when working on something 1 to 1. It is also helps our trainees to prepare for technical interviews when they’ll need to code in front of other people.
Acceptance criteria
- You have pair programmed on a kata with a volunteer for at least one hour
- π Priority Mandatory
- π Size Small
- π Sprint 1
- :memo: Self evaluate
[TECH ED] Codewars π Clone
Link to the coursework
https://www.codewars.com/users/CodeYourFuture/authored_collections
Why are we doing this?
Every week you need to complete at least three kata. Spend at least 20 minutes, three times a week, on your kata workout.
Find the Collection for this module on the CodeYourFuture account.
Don’t just go forwards through the collections. Loop back and review your work from last month. How have you progressed? Would you choose another solution now?
Maximum time in hours (Tech has max 16 per week total)
1
How to get help
- Join the #cyf-codewars Slack channel
- Read the CYF Codewars docs
- Read Codewars advice from CYFers
- Read Codewars advice from mentors
Remember, after 20 minutes, take a break.
How to submit
Your codewars progress is tracked automatically and is available on the public API. You don’t need to submit it.
How to review
Once you have completed your kata, look at the other solutions in the solutions view. Consider how many different approaches there are. What about different languages?
- π― Topic Code Review
- π― Topic Problem-Solving
- π― Topic Programming Fundamentals
- π― Topic Requirements
- π― Topic Time Management
- π Priority Mandatory
- π Sprint 1
- π JS2
[PD] Review your development plan π Clone
Coursework content
Once again, think about the Build Your Life plan and your latest Career Development plan, and review the goals you want to achieve. These should still be linked to the areas you want or must develop.
Remember: 2-3 areas are enough to change in such a short time, so it’s better to focus on a few, get them nailed, and then choose another area.
Ensure you are not only thinking of technical knowledge you want to acquire but especially skills and processes that will help you become a developer.
Examples of goals
- Short term: Practicing coding = Code 1 hour a day on weekdays
- Medium-term: Enhance my written English = Trying to correct by myself the errors that the automated grammar tool is showing in my text
- Long term: Get a job in tech = Send 1 tailored CV per day when I have graduated from Code Your Future
Estimated time in hours
0.5
What is the purpose of this assignment?
Define where you want to be in the short, medium and long term. This helps give you perspective and clarity of where your direction is and if you are doing the right things to get there.
How to submit
- Share your development plan link as a comment, open to anyone to comment
- Write a paragraph, as a comment on this issue, about what you have learned/changed
- π Priority Mandatory
- π Size Small
- π Sprint 1
- π JS2
[TECH ED] Read Eloquent JavaScript π Clone
Link to the coursework
https://eloquentjavascript.net/04_data.html
Why are we doing this?
As well solving coding katas and building products, it’s also important to gain a deeper insight in to the language you’re using. Eloquent JavaScript will discuss a number of topics in depth, enriching your understanding of the JavaScript ecosystem.
This is a good book worth reading. And it’s free. Dig in.
Maximum time in hours
4
- ποΈ Priority Stretch
- π Size Medium
- π Sprint 1
- π JS2
[PD] Create or review your CV π Clone
Coursework content
Finding a job in tech is your goal. And to achieve that, you must have many tools and skills. One of the most important tools is your CV (Curriculum Vitae).
A strong CV effectively communicates your qualifications, skills, and experiences leaving a positive impression on potential employers.
Estimated time in hours
2
What is the purpose of this assignment?
- Ensure your CV is up-to-date with the best practices
- Use your transferable skills and past experiences to describe skills that a developer needs and you already have
- When writing, think about a friend. How would you describe them? We tend to be more positive about others than ourselves.
- Use an Applicant Management/Tracking system. See some examples in this guide.
How to submit
- Share the Google Doc of your CV as a comment on this issue AND the Slack channel cyf-profile-review. Make sure the file is open to be commented on by anyone.
- Share a screenshot of your post on the Slack channel cyf-profile-review as a comment on this issue
Anything else
Check out the CYF CV Guide
- π Size Medium
- π Priority Key
- π Sprint 1
- π JS2
[TECH ED] Complete sprint 1 exercises π Clone
Link to the coursework
https://github.com/CodeYourFuture/Module-Data-Groups
Why are we doing this?
These challenges are designed to develop your problem-solving skills.
Maximum time in hours
6
How to get help
Share your blockers in your class channel https://curriculum.codeyourfuture.io/guides/asking-questions/
How to submit
- Fork to your Github account.
- Make a branch for this project.
- Make regular small commits in this branch with clear messages.
- When you are ready, open a PR to the CYF repo, following the instructions in the PR template.
There are several projects in this repo. Make a new branch for each project.
- π Priority Mandatory
- π Size Medium
- π Priority Key
- π Sprint 1
- π JS2
π§πΎββοΈ Check module success criteria π Clone
Link to the coursework
https://programming.codeyourfuture.io/data-groups/success/
Why are we doing this?
π The most important thing is that you are secure in your understanding.
At the end of the course, we will expect you to build novel applications using your understanding. If you cannot build things, we cannot put you forward for jobs. It is in your personal interest to make sure you have properly understood this module.
To progress to the next module you need to meet the success criteria for this module. How will you as a cohort meet the module success criteria? Discuss it in your class channel and make a plan together.
π§πΏβπ€ good strategies
- asking volunteers to review your code
- helping each other with coursework blockers
- arranging midweek study sessions
- using Saturday time to review code and cohort tracker
π πΏ 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
At the end of your module you will need to submit your own work in the CYF dashboard. This means things like pull requests you have written sent from your GitHub account, and Google Docs you have written.
What you need to submit is listed on the success page for the module.
Remember - the goal is your understanding. If you are not confident you could delete and re-do the work you’re submitting easily, you should take more time to revise the topics. It’s more important that you understand the work, than that it gets done quickly.
- π― Topic Code Review
- π― Topic Communication
- π― Topic Delivery
- π― Topic Requirements
- π― Topic Teamwork
- π― Topic Testing
- π― Topic Time Management
- π Priority Mandatory
- π¦ Size Tiny
- π Sprint 1
- π JS2
[TECH ED] Explore the network tab π Clone
Link to the coursework
https://developer.chrome.com/docs/devtools/network/
Why are we doing this?
You’ll be using the network tab in the next module, so take some time now to follow along with this workshop. There’s a video and screenshots, but make sure you open Devtools and do the steps yourself.
Maximum time in hours
.5
How to get help
Try searching stackoverflow this time.
How to submit
No submission step. Just do it and be glad! π
- :brain: Prep work
- π― Topic Problem-Solving
- π― Topic Testing
- π Priority Mandatory
- π Size Small
- π¦ Size Tiny
- π Sprint 1
- π JS2
[TECH ED] Play the Bandit π Clone
Link to the coursework
https://overthewire.org/wargames/bandit/
Why are we doing this?
Basic Linux skills are essential for roles in Cloud, DevOps, Cyber, and SRE. Junior Cloud and DevOps roles are growing in the industry; React and fullstack junior roles are becoming scarce. So it’s a good idea to practice Linux skills to make yourself more employable. At the basic level this means using a computer from the command line instead of a GUI. You will learn to use commands to move from folder to folder, to open and edit files, and to get info like the size of a file or its location. At CYF we build this skill by playing a game called The Bandit.
There are many levels, and many more games after The Bandit, but your goal is to get to Level 30 by the end of this course. Set a task in your calendar to repeat every other day and spend 15 minutes a time.
- This blog post by Tanner Dolby will walk you through level 1 to 5. Yes, you get the first 5 levels done for you.
- Join #cyf-over-the-wire to help others.
Maximum time in hours
2
How to get help
Work through the puzzles together in #cyf-over-the-wire
Don’t share solutions in this channel, or you steal from others the opportunity of learning.
How to submit
There is no submission step. However, to apply for some roles and some courses (like CYF+ ) you must demonstrate these skills, so it would be a good idea to learn them.
Anything else?
Here’s a ChatGPT prompt you can use to get the best, most helpful learning experience:
Please act as a friendly, warm, straightforward technical mentor. You are an experienced Site Reliability Engineer who uses the terminal regularly and understands all shell commands in bash. You can explain clearly, using English mostly at CEFR B2 level, how to execute shell commands and how to navigate Linux file systems. We will be playing The Bandit, Over the Wire, shell game together. I don’t want you to give me all the answers. I want you to walk me towards the answer, helping me to find out and learn Linux commands, explaining clearly what is happening as we go. Please answer my questions carefully and do not offer code solutions, just explain in English the approach I should take and then review the commands I suggest to you. Say okee dokee if you understand.
- π― Topic Problem-Solving
- π― Topic Programming Fundamentals
- π Priority Mandatory
- π Size Medium
- π Sprint 1
- π JS2