Software Development and Practices
Not to be a “if I know everything then only execute” sort of a person in this domain. Learning about blockchain development and finding the right roadmap can be a challenging task but it doesn't matter here. Here are some of the practices that I followed and still relying on those facts:
- Learn through practical implementation: This is one of the most important and best practices that you need to follow and will very surely help you towards becoming a full stack web3 developer.
- Executing after learning the entire curriculum: Build projects by taking the guide of documentations, articles from platforms like ethereum stack exchange and short youtube videos rather than depending on an entire course on Udemy or Coursera. It's not like I'm suggesting not to do courses but don't just get fixed on only the topics that they teach, think out of the box and explore other things as well.
- Join discord servers and stay up to date with the network: Start joining communities that consist of like minded people and collaborate with them on projects and other activities.
Roadmap
The roadmap suggested below is for becoming a full stack web3 developer,
- Learn about the basics of blockchain, its architecture and basic functionalities.
- Explore and read about the applications and use cases of this technology like NFTs, cryptocurrency, and finance.
- Interact with the Ethereum Blockchain using Web3.js or Web3.py. You can also learn about Infura (Ethereum API) which can be used to connect to one of the nodes of the network and interact with the blockchain.
- Learn the basics of smart contracts and how they are deployed on the chain.
- Start with solidity, first cover the basics then after working on some contracts, start exploring the advanced levels.
- Work with different IDE's, don't just stick with Remix IDE (which now you'll probably know when you were exploring about solidity), move to working with Visual Studio Code using truffle or hardhat. (TIP: Start with hardhat first, work with some contracts using that and then you can check out truffle).
- As I said earlier, after having a good hands on experience with Remix IDE, you can start working with smart contracts using Hardhat. Resources for learning hardhat will be specified in the links section.
- Now if you are done exploring most of the smart contract part, you can start with the basics of web2 development. (if you are already familiar with it then skip the next 5 steps).
- Learn HTML, CSS and JavaScript (Pro Tip: cover 80% HTML, 60% CSS and 50% JavaScript).
- For JavaScript, make sure you cover topics like Promises, Arrow Functions, DOM (Document Object Model) Manipulation and Asynchronous Programming.
- Learn about various CSS frameworks like Bootstrap, Material UI, Tailwind CSS, Chakraui and more
- Start with React. Please don't go and buy a course for it now. Just go to YouTube and type “react tutorial” or “full stack projects using react”. Watch any of those videos and PLEASE don't go to one of those 100 video playlist tutorials.(it could be resourceful but is a waste of time). The playlist for react tutorials can be suggested to watch if you want to go through each and every concept properly but learning React by doing a project is the best way to understand its concepts and recommended by most of the developers.
- Bonus: After learning React, you can also look into working with Next.js. Links for learning Next.js are also available in the links section.
- Learn Ethers.js (learn after you are comfortable working with React and also Hardhat), this is used for interacting with the smart contract from the frontend. If you have a good understanding of JS then you'll be able to learn this tool without much effort.
- Make a greet dApp - provided in the projects section, you can take reference from there. It's one of the basic decentralized apps that you can start working with. Later on you can work with big projects. Other projects have also been added for your reference
- You can also check out tools like Ganache which comes with Truffle Suite for local blockchain development.
- Also do read about sidechains, IPFS, token standards for Ethereum (ERC-20, ERC-721, ERC-1155)
This article was written by Gautham Krishna, a 2nd year CSE student at VIT Chennai.
Gautham is the winner of multiple Web3 hackathons and an experienced web and blockchain developer.
References:
- https://docs.ethers.org/v5/
Comments
Post a Comment