- Jh123x: Blog, Code, Fun and everything in between./
- My Blog Posts and Stories/
- CodeCrafters: A project based way to learn programming./
CodeCrafters: A project based way to learn programming.
Table of Contents
Introduction #
CodeCrafters is a platform that provides a series of programming challenges to help you learn new programming languages. It is a great way to practice your programming skills and learn new languages in a fun and interactive way.
I have tried a few of the challenges and I found them to be very interesting and challenging. In this blog post, I will share my experience programming with CodeCrafters.
Projects #
There is a huge list of different projects that you can choose from.
Getting started #
I feel that this is a good way to learn a new language as it provides a structured way and a project to do so.
A project summary is something like the above. It shows a list of all the todo tasks which you need to complete to finish the project. Each of the task has a difficulty level based on how long it will take a proficient developer to do it.
For each of the task, it consists of a description of what is required to be done and a test case to verify if the task is completed correctly.
It feels like having a project manager that gives you a list of tasks to do and you have to complete them one by one.
The description of the task is very clear and it provides a good starting point for you to start working on the task.
If you are stuck on any of the tasks, you can take a look at the hints or even some code examples to help you get started.
My Experience #
Currently, I have completed two projects on CodeCrafters.
Starting on these projects was a new experience for me as I have never done any of these projects before.
For the HTTP Server project, it was my first time using TypeScript and I found it to be a very interesting language to work with. Through completing the different tasks in the project, I was able to learn more about TypeScript and how to use it to build a simple HTTP server. At the same time, I was able to learn more about how HTTP servers work and how to handle different types of requests and learning about how the protocol works.
For the Shell project, I completed it in the programming language that I am most comfortable with, Go. Even though I am familiar with Go and have completed a similar project before (GoShell), I still found it to be challenging and interesting.
It also made me realize that some of the design decisions that I have made in my other project was not the best and that there are many other ways to improve on my current implementation.
Conclusion #
In conclusion, I think CodeCrafters is a great platform to learn new programming languages and practice your programming skills.
Even if you are an experienced developer, this is a good way to learn more about a language that you already know and even some other concepts that you might not have known before through the project.
If you want a free week of CodeCrafters, you can use my referral here CodeCrafters Referral.
Otherwise, you can still sign up for a free account and try out some of the challenges here.