Coding Challenges vs Coding Projects
Photo by Rubaitul Azad on Unsplash |
Hello Learners,
When learning to code you always hear the advice to actually “code”, which makes sense, because things don’t always work out exactly as you read them, or on the tutorial videos, at least that has been my case. Some even go as far as to say “You should code every day” even if its just a little bit. For me, I am very goal oriented, its what me helps learn. So I start creating little projects for coding purposes, then I came across someone mentioning “Coding Challenges”, I looked into it, I tried it, and now I will tell you what I think are the Pros & Cons of each, based on my experience.
// Projects
This is my jam, my GitHub is filled with projects that I’ve created. I actually started learning Python due to a passion project (The Nubian Dictionary), and it kind of escalated from there. Now I have other non-Nubian related projects as well, so it very much got my ball rolling for sure, and its very exciting.
CON:
Once the project is done, you now have to think of a whole new project to code again, or just make minor improvements on the code you already have, and both can take time, and can be a bit limiting. So in the time between, you may not end up coding for a while, which is…not encouraged, especially if you are trying to learn and get better.
PRO:
Creating a project from start to finish is exhilarating, and you do get a sense of great accomplishment. Knowing that you can create a program or tool from scratch that would help you do something you need or want to do, really boosts your self-esteem (and your skills). It is very empowering, and its like potato chips, once you successfully make one, you will want to make another, which is also a good thing. Being goal oriented, this is helpful for me, because I have an end goal to work towards, so I’m navigating very specific issues to solve a very specific problem, which is helpful and less overwhelming.
// Coding Challenges
I have only tried one platform so far called CodeWars which is browser based, the UI takes getting used to bit. I found it easier for me to work on the challenge on my local IDE and then either copy or retype the answer into the site to submit it. They do have discussion channels for each challenge, so you can ask questions if you need, and when you solve the challenge, it shows you how others have solved it to, so that you learn other ways you could have done the same thing, which is very neat.
CON:
The end goal is not mine, or something I would do, or think of doing, which can be frustrating or discouraging sometimes, since you don’t have a personal interest like you would with a passion project of your own choosing.
PRO:
It will challenge you. Being goal oriented, it was harder for me to wrap my head around getting a random task to which I had no opinion on, or why its being done “this” way. BUT I think this is where your mindset comes in handy. I started thinking of each challenge AS the end goal, I also feel like this could be more real-world in a way. If I get a job as a programmer, I will most likely be part of a team that is working on an existing project, and I would be helping the team solve a small part of a larger program. With coding challenges I can attempt to work on one (or more) a day, which would get me coding everyday. And since each challenge will be different, then it will force me to expand and grow my skills because of it.
// Conclusion
I think, if you are serious about getting better at programming, no matter what the language is, then you should do both. Projects are great at teaching you how to put something together from scratch, and Code Challenges are great and getting you to work on problems you may not come across on your personal passion projects.
Projects are great for your self-esteem, and contribution to the community, as well as making your life easier if your making tools for yourself. Code Challenge are great to “Up Skill” your programming. And I’m sure at some point they will overlap, and I think each one of them works a different programming muscle, so go do your reps.
I hope this post has given you some ideas.
Thanks for reading.
See you at the next post.
Ash Noor.