13

I would like to become a Substrate Blockchain Developer.

What is the recommended path?

I have 4 months of Rust programming experience and 3 years of Python programming experience.

I am just starting to learn blockchain. I am using the following steps to learn.

  1. https://wiki.polkadot.network/
  2. https://learnpolkadot.com/kusama/
  3. https://docs.substrate.io/tutorials/v3/
  4. https://web3.foundation
6
  • Dont forget web3.foundation also.
    – juancho
    Commented Mar 23, 2022 at 13:33
  • Do you have programming background or no programming background? And what is your goal with learning blockchain? You want to be a blockchain dev? Or you want to understand high-level concepts of how a blockchain works? A little info on your background and your aim would be great.
    – Bruno
    Commented Mar 23, 2022 at 13:34
  • @Bruno, Added the Goal in the question.
    – Udit
    Commented Mar 23, 2022 at 13:42
  • @juancho, may you help to decide the ranking of web3.foundation in the learning steps?
    – Udit
    Commented Mar 23, 2022 at 13:42
  • 2
    for me, the realistic way to learn is by reading the source code of Substrate, Frontier, Polkadot... Commented Mar 23, 2022 at 14:36

3 Answers 3

29

This is a hard question to answer but I will try to give my 2 ..'s on what was helpful for me when I started on the Substrate path as a Polkadot Support Engineer at Parity. Maybe some others can share their perspective as well.

If you have a bit of a programming background and your goal is that you want to learn blockchain to become familiar with Substrate I would recommend the following:

Learn blockchain fundamentals with Bill Laboon:

Become familiar with Substrate Docs:

Do all the Substrate tutorials:

Subscribe & watch videos

Learn about the different pallets available to you. Read them.

  • Use the full Substrate node runtime as a reference as to how to configure some of these pallets
  • Pick a pallet and try to implement it yourself using the Substrate Node Template

Build stuff

  • Don't be afraid to get your "hands dirty"
  • Pick something that you don't know and try to learn it
  • Become comfortable configuring and running nodes
  • Build a pallet from scratch

Adopt a growth-mindset

  • Learn a little everyday; this adds up

Keep up-to-date on what is happening in the Polkadot community especially the Element chats and Github.

Go deeper into Substrate:

Read the docs!

Read the code!

  • https://github.com/paritytech/substrate
  • This is the Substrate Developer's home
  • You should be regularly poking around in the Substrate codebase to understand how things work; don't be satisfied with concepts, you should understand how it works in the code as well.

Stay up-to-date on Stack Exchange:

Learn Rust as you learn Substrate:

  • Rust Book
  • Several other resources available

Find a mentor

  • Blockchain & the Polkadot ecosystem can be complex; however, the community is thriving, there are Polkadot events online and all over the world - great place to meet others who are a little further on the Substrate path

From here, you could specialize e.g. Substrate Runtime Engineer, Substrate Parachain Engineer, etc. depending on the path you want to take there are a number of additional resources available to you.

And last but not least:

  • Participate in a Substrate-related hackathon!

AND participate in the Polkadot Blockchain Academy:

1
  • 1
    Thanks for all links!
    – Fsjidfefe
    Commented Mar 23, 2022 at 15:31
4

I think the great majority of people start with substrate-kittties tutorial (https://docs.substrate.io/tutorials/v3/kitties/pt1/). I suggest you take a look at this workshop https://www.youtube.com/watch?v=NrG3co6UWEg (Substrate: Blockchain Framework in Rust - Workshop at @ETHDenver). I think this workshop is very well explained and beginner friendly. If you are looking for a little bit more guidance and mentoring while you are learning substrate there is a paid course in this link: https://www.industryconnect.org/substrate-runtime-developer-academy/

2
3

The answers already in here are super good. I want to add that for a lot of people "learning by doing" is a great way of getting into a new framework.

A lot of repositories related to Substrate (Substrate itself, but also parachain projects) have issues in their GitHub repositories tagged as "Good First Issue" or "Mentor available". These can serve as a good starting point for getting your hands on something and have somebody review your code.

For example in Substrate:

https://github.com/paritytech/substrate/labels/Z1-mentor

An easy task where a mentor is available.

Not the answer you're looking for? Browse other questions tagged or ask your own question.