CYF Docs
  • Welcome to CodeYourFuture Docs
  • CodeYourFuture Curriculum
  • ๐ŸจOrganisation
    • Our History
    • Agreements & Policies
      • Naming Accounts Consistently
      • Code of Conduct
      • House Rules
      • Trainee Forms
        • Personal Circumstances Forms
        • Course Withdrawal Request
        • Leave of Absence Request
        • Learner Agreement
      • Trainee Expenses
      • Trainee Pregnancy Policy
      • Volunteer Agreement
      • Volunteer Expenses
      • Complaints Procedure
    • Partnerships
  • ๐Ÿ‘จโ€๐ŸŽ“Trainees and Alumni
    • Overview
    • Course Eligibility
    • Basic Online Skills Course
      • WhatsApp Community Guidelines
    • CYF Products
      • Our Products
    • Trainee Support
      • Signpost
      • Request a Laptop
      • How to get a bank account
      • Minimum Laptop Specs
      • Trainee Expenses
  • ๐Ÿ‘ฉโ€๐ŸซVolunteers
    • Overview
    • Teams
      • Tech Education
        • Roles
          • Lead Trainer
          • Technical Assistant
          • Tech Buddy
          • Syllabus Team
      • Professional Development
        • Roles
          • PD Trainer
          • PD Coach
          • PD Coursework Reviewer
          • PD Mock Interviewer
          • PD Syllabus Team
        • PD Coach Guide
      • Community Coordination
        • Outreach Roles
        • Social Media Guide
          • Plan and schedule Social Media
        • Applicant Outreach
          • Calling NGOs and other referral organisations
            • NGO Dashboard - Step by step guide for volunteers
          • Calling Applicants
          • More outreach strategy
        • Volunteer Outreach
        • Approaching Potential Partners
        • Energisers and Icebreakers
      • Employability
        • Regional Employability Role
        • Career Mentors
      • CYF Products/Launch Module
        • Roles
          • Product Owner
          • Product Manager (Launch Module)
          • Scrum Master
          • Tech Lead
          • Tech Lead (Launch Module)
          • Developer
          • Code Reviewer
          • QA
          • UI/UX Designer
          • Business Owner (Lauch Module)
          • DevOps Engineer
  • ๐Ÿš€PROGRAMME DELIVERY
    • Running the Course
    • ๐ŸŒLaunching the community in a new region
      • Fundraising & budgeting
      • Finding a Space
  • Archive
    • ๐Ÿ—„๏ธArchived Pages
      • Intro to Digital (ITD)
        • Re-application Requirements for Application rejection
      • After Graduation
      • Running the course
      • Getting a Job
      • Useful Links
      • Hackathons
      • Asking Questions
      • Hosting on Netlify
      • Applicant Interviews
        • Interview - Technical
        • Interview - English
        • Interview - Rubric
      • Selection Day
      • Google Classroom for Trainees
      • Google Classroom
        • Google Classroom For Volunteers
      • Re-admission to Course
      • Laptop Request
      • Requesting a Laptop or Support
      • Graduation Module
      • Join CYF Tech Products
      • Overview
      • PD Coursework Reviewer
      • PD Coach
      • Onboarding PD Volunteers
      • CYF Website
      • Mission, Values & Working Principles
      • Our Trainees Backgrounds
      • Onboarding Process
      • Dashboard
      • Joining
      • Overview
      • Tools
        • Slack
          • Slack for Volunteers
          • Slack for Trainees
      • Leaving or Stepping Back
      • After the Course
        • From Trainee to Volunteer
      • General Information
      • Overview of our Process
        • Outreach Process
        • Application Process
        • Student Selection Process
        • Volunteering Structure
        • Class Structure
        • Communication from each CYF branch with CYF Global
        • Tech Projects
        • Tech Suite
        • Marketing
        • People into Employment
        • Finances and Insurance
      • The Founders team challenge
        • Challenge 1 - Find the Founding team
        • Challenge 2 - Strategy Challenge
          • The strategy challenge Template
        • Challenge 3: Find the Ambassador team
      • The Ambassadors Challenge
      • Volunteers Requirements
      • Welcome Event
      • The first Ambassador Team
      • Intro to Digital Course
        • Course Materials
        • Intro To Digital Slack Community Guidelines
      • Fundamentals Course
        • Course Materials
      • Software Development Course
        • Course Materials
      • Guides
        • Node Version Manager
        • Common Responses
          • Create an example
          • Don't ask to ask
          • Read the error message
          • Reply in thread
      • Coursework Feedback
      • Training Tips
      • Starting a Course
      • Getting Setup
      • Hackathons
      • Codility
      • Study Groups
      • Before the Course
        • Course Eligibility
      • Request a Laptop or Other Support
      • Success Criteria
      • Joining the Course
        • Laptops
          • Installing Ubuntu
      • Assessment
        • Milestones
      • Codewars
        • Codewars Advice from CYFers
        • Codewars Advice from Mentors
Powered by GitBook
On this page
  • Interpreting Requirements
  • Iterating Solutions
  • Refactoring
  • Time Management

Was this helpful?

  1. Archive
  2. Archived Pages
  3. Codewars

Codewars Advice from CYFers

Interpreting Requirements

Some problems may get confusing and complicated so write down exactly what you are trying to do in plain English first (pseudocode) then look at each step and think about what you need to do to complete it.

Code wars has helped me a lot in practicing the way I approach programming problems. Interpreting and breaking down code has helped me a lot to figure out a lot of the solutions on code wars. If given time, you can greatly improve you confidence working around JS syntax and see how to apply the different data structures you have learned.

If you are stuck on the interpretation , then sometimes you can get a hint in the discussion or a bit of clarification. The solution will be hidden but sometimes another user will have asked the question you're wondering about already.

Iterating Solutions

At first I would jump into coding straight away, due to the excitement, eagerness and curiosity to find the solution as quickly as possible. That was a mistake. Because I skipped pseudo code, it took me even longer. I am still not at my best yet but it is getting better. Please don't skip pseudo code step and try to break your problem into as many smaller problems as possible. That extra 15 mins you spent on your pseudo code will save you hours you can potentially waste while solving your Kata.

Some problems may get confusing and complicated so write down exactly what you are trying to do in plain English first (pseudocode) then look at each step and think about what you need to do to complete it.

For larger problems setup a folder in VSC and use the test cases from Codewars to test your solution until it passes, its much easier to work on the problem in a familiar IDE.

Start off with the easy ones and if the next level ones are too difficult just keep going on the same level till you are ready to move up a level. It is better to complete 10 katas at your level than spend the same amount of time staring at the screen on one that is too difficult and not even completing it.

I have found that doing more of the easier Katas increased confidence, helped to practice syntax and break down problems.

Refactoring

Always read other peoples solution after you solve the kata, its nice to see how other people have approached the problem, just remember, the shortest solution isn't always the best!

It is good to read all the solutions once you've successfully submitted. The more I have learned JS , the more I can recognise how others have refactored/refined their solution - e/g using ternary operator or arrow functions.

You may not seem to benefit from them but if you look back at yourself from a couple of months ago, some problems you did not understand back then, seemed much easier now. I just experienced it myself, last week during React week 2. I had better understanding of array methods when I did some katas from array methods

Time Management

With the 20 minutes you have do not waste time agonizing over a solution in the code editor. If the problem requires new areas of knowledge save the example code and text and name of the challenge to a folder. Move on to the next challenge.

Start doing the codewars ASAP it helps to start early so you're not playing catchup and also not studying 2 different subjects like React and CSS at the same time.

Donโ€™t sit on problems too long - google for help to work out what is going on in other code examples and look for the simplest solution that you understand. Take notes and build a library of similar solutions you can use again.

IMPORTANT: if you are stuck and cannot seem to find a solution through Google searches or any other method, ask for help from mentors or Education buddies. Do not give up or suffer in silence. It may be difficult now, but it will definitely get better.

I do find codewars helpful and if I skip it for a week I can tell that I am a little out of practice. I have started to time myself doing Katas after not doing as well as I should on the codility test which wasn't particularly difficult it was just completely different under pressure which was a bit of a wake up call for me.

Ideally, you would have covered some of the topics through other coursework to help with your Codewars. For instance, I did not know what promises were when I did my CodeWars. After spending hours finishing them, I moved onto other tasks and realised that promises were covered in that week's coursework...

Finally, know when to walk away, it wouldn't be the first time Iโ€™ve done this and been able to just know what to do when I come back.

PreviousCodewarsNextCodewars Advice from Mentors

Last updated 4 months ago

Was this helpful?

๐Ÿ—„๏ธ