After joining the 100-days-of-code challenge for 2 weeks...

It's been two weeks since I embarked on my 100-days-of-code challenge and I'm excited to share my progress so far. The goal of this challenge is to improve my coding skills by dedicating at least one hour of coding every day for 100 days.

I've chosen to focus on ReactJS and Ruby, the former is a popular JavaScript library for building user interfaces, and the latter is what Makers taught me in their bootcamp course. I've been working on several projects to put my new skills to the test.

Let me share my experience, the challenges I've faced, and what I've learned so far.

Projects I've done

You could click the links below to check my projects. They are all public repositories.

  1. Makers Week 1-2: Solo Project - Restaurant System (Ruby)

  2. McDonald's Menu Website (React)

  3. Todo List by React (React)

  4. Makers Week 1-2: Battleships Project (Ruby)

What I've learned

Planning is always the priority

Before diving into any coding project, it's always important to take the time to properly plan and organize your approach.

This can be as simple as sketching out a rough plan on paper, or as detailed as creating a comprehensive project plan with specific timelines and milestones. Regardless of the level of detail, taking the time to plan and think through your project can save you time and headaches in the long run.

Here is an example from my todo list by Ruby project:

This diagram gives me a clear roadmap to follow and helps to identify potential roadblocks and challenges early on, allowing me to address them before they become bigger issues. Additionally, planning also allows you to focus on important aspects of the project, prioritize them and make sure that you are using your time and resources efficiently.

In short, planning before diving into code is always the priority, it helps to ensure that your project is on track and that you are able to deliver a high-quality product.

Documenting in README.md is a way to learn too

Documenting your code in a README.md file is not only a best practice for making your code more readable and understandable for others, but it can also be a valuable learning tool for yourself.

Keeping detailed notes on the purpose of your code, any challenges you encountered, and any decisions you made can help you to better understand the logic behind your own code. It also allows you to easily reference your own work in the future and to share your project with others.

Additionally, when you are documenting your code, you are forced to explain your thought process and the reasoning behind your decisions, which can help you to understand and solidify your own understanding of the code. Furthermore, it also helps others to understand and contribute to your project if they want to.

Also, don't forget to put a preview of your website or app in the first part of README.md . It is a good way to present your project visually and I'm sure your audience will love it.

Be patient about the process

Learning how to code can be a challenging and frustrating process, but it's important to remember that it takes time and patience to master any new skill. It's normal to encounter roadblocks and to feel overwhelmed by the complexity of the task at hand.

However, it's important to remind yourself that these challenges are a normal part of the learning process and that every mistake or setback is an opportunity to learn and grow. It's important to break down large problems into smaller, manageable tasks and to take the time to understand the building blocks of the coding language you are learning.

Practice regularly, and don't be afraid to ask for help from more experienced programmers or mentors.

Also, be open to feedback and criticism, as it will help you to improve and grow as a developer. Remember that the process of learning to code is a marathon, not a sprint, so don't get discouraged by small setbacks or temporary difficulties.

Be patient about the process and have faith in your own ability to learn and improve.

Pairing Programming is fun!

I did lots of pair programming in these 2 weeks because of Makers BootCamp. I enjoyed it a lot! You might ask: "What is 'pair programming'?". Don't worry let me explain a bit.

Pair programming is a software development technique in which two programmers work together at one workstation. One person, the driver, writes code while the other person, the observer, reviews each line of code as it is typed in.

Pair programming is a fun and rewarding experience for both parties involved! It allows me to learn from my partner's perspective and techniques, which can help me to improve my own coding skills. It also provides an opportunity for me to share my own knowledge and experience with others, which can be both satisfying and motivating.

Furthermore, it allows me to collaborate and problem-solve together, which can lead to more efficient and effective development. It can also help to build a sense of camaraderie and teamwork among the developers.

Closing

After joining the 100-days-of-code challenge for 2 weeks, it's clear that this experience has been both challenging and rewarding.

The journey has been filled with obstacles and moments of frustration, but also with moments of triumph and growth. The challenge has pushed me to improve my skills as a developer and to take on new and difficult tasks. I have learned new technologies and techniques, and have had the opportunity to collaborate and learn from other developers. The experience has also allowed me to build confidence in my abilities as a developer and to develop a more disciplined approach to coding.

This 100-days-of-code challenge has been a great opportunity for personal and professional growth and I'm excited to continue on this journey and see where it takes me. I highly recommend taking on a similar challenge, it's a perfect opportunity to push yourself to improve your skills and become a better developer.

I will try to give you guys another update on my journey in the next 2 weeks! See you then.

Did you find this article valuable?

Support Terry Cheng by becoming a sponsor. Any amount is appreciated!