A few months ago, I decided to learn Rust , mainly because I’m very interested in Substrate (a Blockchain framework). At first, I thought it would be an easy task, and that it will take just a few days and I should be up and running. Well, that wasn’t the case, I really struggled with this language, it reminded me of my University days, studying C++, I felt like I don’t know what I’m doing, which is probably very true.
So, I decided to take a step back and have another take on this process, approach it a bit differently and in a more systematic way. On my first try, I simply went to the docs read everything, and tried some code. That didn’t really help much, it only made me more confused and less motivated.
The second time around, I decided to follow a “consistent motivation” approach - something that I came up with while writing this post.
Basically, whenever I feel lost and unmotivated, I’ll go watch some YouTube videos that would excite me.
Here are some of my favorite:
My Process
- Read the Rust docs, all of it, without trying any of their coding examples, I just wanted to get a feel of what’s going on in this language - the story behind it. That helped my intuition for whenever I read Rust code.
- Watched a TON of YouTube videos. I found a bunch of great channels of devs streaming themselves learning and coding Rust. That was inspiring and gave me the desire and motivation to actually try to code things myself.
- Followed the top Rust accounts on Twitter. The goal was to keep myself up to date with all things Rust. They also share great resources and blog posts.
- Re-read the Rust docs again, this time I tried all the code they provided, and I spent a lot of time familiarising myself with its syntax.
- Read as many blog posts as I can find.
- Read all of Substrate codebase on Github.
- Build something with Substrate.
Lesson Learned
- Don’t give up quickly.
- Realize that learning takes time.
- You’re not the only person struggling with learning new things.
- Read other people’s code (!important).
- READ THE DOCS.
- CODE CODE CODE.
Rust Resources
- Great Udemy Course https://www.udemy.com/course/rust-lang/
- Official Rust docs https://doc.rust-lang.org/book
- Rust by example https://doc.rust-lang.org/stable/rust-by-example
Substrate Resources
- Substrate Crowdcasts https://www.crowdcast.io/e/substrate-seminar
- Substrates Tutorials, Knowledge base, and Recipes https://substrate.dev/en/
- Substrate Developer Hub https://github.com/substrate-developer-hub
- Polkadot docs https://wiki.polkadot.network/en
This is my first blog post ever, I hope it helps someone with their coding journey. Oh, and I’m definitely open to any feedback that could help me improve the quality of what I’m sharing on this blog.
Follow my posts on: Adib Hanna
Cheers!
Top comments (8)
Thanks for sharing! I think we are witnessing something special with Substrate and Polkadot, and the dev experience will only improve with time :)
That's true! the team is building really great tooling that will help us take the Blockchain to the next level!
The substrate codebase has to be the most intimidating use of Rust's trait system. This is my first time learning substrate and looking at all those types makes me unstable. How did you manage to get productive in substrate?
Thanks for sharing, I am similar condition as you were. Is it really necessary to have firm knowledge of blockchain before diving into Substrait's environment? I am curious because I have just started learning blockchain with Substrait and their tutorials mentioned no prior knowledge of blockchain is requirement to get started.
thanks for sharing your exp. I just started learning Rust and Substrate and am struggling as well. Glad to know I am not alone
hey, thanks for sharing !
Is there any group, place where you can ask questions for Substrate. The chatgroup they have on official website just is not good.
They do have a channel on Riot.im
riot.im/app/#/room/#polkadot-water...