Roadmap to Learning Blockchain (Overview)

Blockchain is one of the trending topics in the IT industry and otherwise as well. It is widely known for its application in the Crypto Currency but obviously has much more substance to it than that. While the world is out there to make money out of the available applications of Blockchain. I have come to believe that building one or more of those applications would be a great idea, similar to the axe sellers during the gold rush.

Developer Roadmap in Blockchain

Just like in any new tech stack which is still being explored, learning blockchain seems fairly daunting as well but if follow a top-down approach into manageable pieces. It becomes a little easier to perceive as doable.

Types of Blockchain Developers

Basically blockchain developers are divided into 2 categories:
1. Core Blockchain Developer
2. Blockchain Application Developer

Core Blockchain Developer

A core blockchain developer is the one who develops what one calls a Blockchain Client, For eg:- Ethereum, Solidity, Bitcoin. It involves various things starting from Protocol, Proof of Work to Tech stack. Which majorly means deciding the languages which it will be using, the way they will used, the protocols it will be following and many such things in lieu of its utilization and security as well.

As you might guess, it is quite hard and not something that you should not jump for at the start

Blockchain Application Developer

It can be summed with 'Decentralized Application'. What it means is that we pick one of big players like Ethereum, Bitcoin, Solidity etc. and focus on learning the basics it has. Once we do it will give us a fair gist of the working Blockchain ecosystem starting from linguistics to use of smart contracts in Production environments. As developers it is quite common to go for what is understandable first and then chase the bigger fish.

I've set aside 3-4 months to learn blockchain development to build at least at the level of a Blockchain Application Developer. Following is the list of targets I'm running for :-
  1. Solidity - Is trending and learning it will give me a better understanding of Smart Contracts.
  2. Ganache - It is what you call a localhost of Blockchain, it will be hosted in your machine, provide you with 10 test wallet, give you 100 test Ether in each and you will have your own pseudo Ethereum environment to play from.
  3. Truffle - A world class development environment, testing framework and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier. This is similar to NodeJS in web development.
  4. Web3JS - web3. js is a collection of libraries that allow you to interact wuth a local or remite Ethereum node using HTTP, IPC or WebSocket. If you haven't guessed so far, I have no idea how this helps but I guess that is what I'll be learning in the near future.
  5. Metamask - This is something that you can learn by googling a little, it becomes an extension on your browser and then you can link your wallets and accounts through it. This is how we get to apply the smart contracts in the real world.

Requirements before Starting to learn Blockchain

There aren't many specific requirements to start learning blockchain, to get started if you are web developer who has worked on NodeJS and was attentive while learning any basic language like C++ or Java. You're good to go. Still, for later convenience I'll list them down here.
  1. Mathematics, basics of cryptography. Like the ones we see in basic aptitude tests.
  2. Web Development - a little bit working of NodeJS and other fundamentals.
  3. An overview of Blockchain from a non-technical standpoint - might sound obvious but still reading for about 10 minutes on it can do wonders for you.
With that I'll start learning Blockchain and keep updating the same here. If you want this can be your own Roadmap to starting as a Blockchain Developer. Good luck !

Comments