Skip to main content
  1. My Blog Posts and Stories/

CodeCrafters: A project based way to learn programming.

·556 words·3 mins

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 #

List of projects
List of CodeCrafters Projects so far

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.

Project Summary
Project Summary

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.

Task summary
Task Summary

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.

  1. HTTP Server
  2. Shell

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.