Learn about the key features in CodeCrafters and the thinking that went behind them.
On CodeCrafters, you build real projects as a way to get good at your craft.
You don't become a great swimmer merely by watching others swim.
On CodeCrafters, you build real projects as a way to get good at your craft.
You don't become a great swimmer merely by watching others swim.
Projects take the form of challenges in the Build your own X format (e.g Build your own Git).
Each new challenge gets you to dive deep on a specific topic, encouraging you to develop a complex system. While aiming for maximum joy.
A challenge is broken down into stages.
Stages bring structure to the learning process. They take a seemingly overwhelming project, and make it manageable.
Just like playing a game, you can make as much progress as you can within the time you have available. When you come back, you will know exactly where you had left.
To pass a stage, you follow its instructions, and write code locally.
You write the code within a unique repository that we create for you during the time of project setup. When you have working code, you git push
to run tests.
You can use your preferred code editor, extensions, and terminal to work on the project. No web browser constraints.
Stage instructions contain just enough to tell you what to accomplish.
We don't spoon-feed by design. We link to the official specification and documentation where we can.
If the prerequisites for a stage are particularly challenging, we supplement it with additional resources.
Sometimes you might get stuck.
Perhaps you're attempting a challenge in an unfamiliar language. Or perhaps your local environment is misbehaving. It's OK to seek and receive help when you need it. There are 3 main ways to get help within CodeCrafters.
Depending on your familiarity with the subject and the time you have available, the project experience is going to be unique to you.
User hints are comments from other users.
They appear below the Stage Instructions. Hints could take several forms:
If you find hints useful, consider upvoting them. When the opportunity presents itself, consider adding your own hints to help others.
Screencasts are videos of other users going through CodeCrafters.
They're typically short, and cover just one stage. Watching others go through the same exercise can offer a different perspective on solving the same problem.
You're welcome to submit your own screencasts. When we like streams from influencers, we link to them from within our screencasts tab. So encourage your favorite YouTuber to stream themselves going through CodeCrafters!
Code Examples are solutions to the same stage from other users.
They're available in a dedicated tab next to the stage instructions.
Reviewing code examples is a good idea even if you're not stuck (in these cases, you could review them after you're done completing a stage). You might learn an alternate approach to tackle the problem, or a stylistic convention for your language that you weren't familiar with.
Learning to read code well is as important as learning to write.
That is it! You now understand the key ideas in CodeCrafters.
To summarise:
Keen to learn a new concept? Try Network Protocols.