- You get a mentor.
- It's Pair Coding!
- It is easy.
- It requires a smaller time period.
- And helps in starting with Open Source Contributions
All big companies like Google, Facebook, Amazon, Paytm, BookMyShow etc, they all have one requirement in common and that is requirement for knowledge of Data Structures and Algorithms. One can learn languages and frameworks for development to showcase in their resume but they still ask for Data Structures and Algorithms.
I have suffered enough due to lack of knowledge for the same. Therefore, I want to start a challenge where one can choose a partner for him/herself and they both can code daily for 1 hour. And then they will review each other codes. They will add comments in each other's code as to where it could have been better. They also need to add a new learning each day for 21 days.
- It brings Pair Programming concept with a new twist.
- Everyone becomes a mentor.
- It is easier to commit to.
- It does not take much time.
- one need not focus much on sharing and posting and logging . Just code and show progress.
No, it does not take 21 days to break an old habit. Similarly 100 daysare again not enough to break a habit. Generally the time can vary in the amount depending upon a person. Also if one aspires to change a habit, following a 100 days pattern is quite difficult, it usually happens not to be completed. Reasons could be like sometimes we need to go somewhere and then we thinks to cover it up later. And sometimes we miss it casually, thinking one day won't affect us.
The need is to go straight for a predecided amount of time and without a break. So this is why I chose 21 days. It is easier and we can code for 1 hour.
- We learn how to code 'Algorithms'.
- We get a mentor as a friend.
- We learn how to code with good practices.
- It builds up the confidence towards Coding & Problem Solving, thus lowering all the related fears.
- We will start to aim for bigger companies, thus bigger opportunities.
- Less Imposter Syndrome.
- Doing alogorithms alone is tiresome and you can get stuck in between, thus Pair coding helps.
- We learn a lot.
- It cuts the competition nature of practice. We bring in ourselves a learning nature.
- And, Woahh, We get a working/Active GitHub account! :)
**Fork this repo by clicking on the fork button on the top of this page. This will create a copy of this repository in your account. **
- Find a partner that you think you can relate to. Someone who can code or wishes to learn to code and someone you can communicate to.
- Then you both agree upon a level of algorithms you both will be working together on. By level, I mean the level of difficulty. Do not choose a very hard level to start with.
- You both code for 1 hour daily on a different set of problem from any site you like.
- After you both are done with your daily coding, you need to push it to this forked repository in directory that I have created, in a different file each day with the naming convention - "[NAME OF THE PERSON]-DAY-[Day NUMBER]". eg DHRUVAM-DAY-1.
- Then you both can check each other's code and try to understand and review what could have been done better. Try to review the coding styles, naming conventions, code coverage, code efficiency etc.
- You both add in the comments what could have been better at the end of the file like I have done in this Readme file that you're reading right now with a "REVIEW SECTION" heading.
- Also add a "Today's New Lesson" heading under which you both add anything you learnt today from anywhere around the world(from other resources, I mean) regarding coding or algorithms or programming languages. This will help you both to learn something new everyday and this new thing can be anything and as small as that "In java, the member variable boolean has a default value of false". It does not matter that something you learn about is old or new. If it's new for you, you put that damn thing there!
- You and your partner, both challenge at least one another person on whatever social media platform you like with a hashtag #OneCode21Day. Help the world grow with you!
- I have added two folder named "PartnerOneCodeInside" and "PartnerTwoCodeInside". You both keep your codes there for everyday with a naming convention that I have mentioned in point number: 3.
- To push your code daily into the respective folders, you need to go through this, click here .
- Tweet or Instagram or Facebook Share your progress every day using the same hashtag
This is a good question. Sharing the progress lets you self-retrospect and you gain satisfaction. Each day you share, people come to know about your efforts and work and thus, it remove the feeling of competition. Our lives is too small to compete. Let's share and spread the love.