- Learn Web2 programming
- Learn about blockchain in general
- Learn basic web3 terms
- Learn a web3 programming language
- Search for the web3 community and practice
Learn Web2 programming
Whatever you write in Web3 must be connected to Web2 mobile or web applications. Before you start running, you must learn to walk. Similarly, before learning Web3, you must understand the primary Web2 languages and the philosophy behind Web2 architecture.
Which Web2 languages would be best to learn? I personally recommend Django, Python, and AWS, but the choice is yours. Just make sure you know how to integrate with API, communicate with DB, use REST and RPC, and create web apps in general.
Learn about blockchain in general
The next step is understanding the basics of web3 and blockchain: what they are and what benefits and threats they bring. While there is plenty of information about the benefits of Web3, the voices of criticism are much rarer, especially in the bubble of developers fascinated with blockchain.
I'm not saying that you should look for threats at all costs, but it's undoubtedly good for you to be aware of them. For example: is the rule that information cannot be erased on a blockchain platform always good? What if your account on the Web3 social platform gets hacked, and the hacker posts your nude photos on it?
The hype for Web3 is one thing; the responsibility for the code you create is another. So before you start programming in Web3, you need to understand what technology is behind it and its advantages and disadvantages.
Learn basic web3 terms
These three terms will be your bread and butter as a Web3 developer, so you want to understand them from scratch.
A smart contract is a software on a blockchain that automatically executes an agreement when certain, predefined conditions are met. Smart contracts, unlike classic arrangements, operate without 3rd parties who verify the compliance of the terms of the contract.
Smart contracts are used to ensure that all parties to the agreement have equal and fair processing of the terms of the contract. That’s why they are so popular in the financial industry, although their use is endless. Additionally, smart contracts are immutable and robust, so they also serve as the backend of decentralized apps.
Decentralized applications (Dapps) are apps that operate on the blockchain and are in line with its philosophy; they aren’t managed individually, and no specific person or a company controls them. In Dapps, all information published is permanent and belongs to the people who post it so that no one can manage or delete it, not even the publishers. At Dapps, all data is public and transparent. An inseparable element of Dapp is integration with the wallet.
The wallet allows you to store and quickly exchange money between blockchain users; in this sense, it's similar to a classic wallet or money transfer app like PayPal. At the same time, a crypto wallet is also a form of ID or passport used to participate in blockchain apps or verify one's identity. The most popular wallet is MetaMask, which allows you to connect to the Ethereum wallet via a browser extension.
Learn a web3 programming language
Search for the web3 community and practice
Finally, to put theory into practice and start programming in Web3, look for communities that want to achieve a certain goal with blockchain. You don't necessarily want to find strictly programming communities. Instead, look for a group of people who share an idea, e.g., creating a company, mobile application, social platform, or computer game, and want to do it based on equal shares, participation, direct democracy, and predefined rules.
Such communities need tech people who will do the Web3 coding for them and your role as developer 3.0. is to help with that task. Initially, do it for free to build fundamental skills and a portfolio. Then, after some time, you can look for commercial projects. Or, most probably, the commercial projects will look for you.
Where to look for such communities? I recommend Reddit, internet forums, Discord, FB groups, and local blockchain communities. In addition, it's worth following fanpages, hashtags, or specific people related to the blockchain world. I personally recommend starting by following zooko, jack, Vitalik Buterin, CZ Binance, and SMS T◎Ly
Importantly, when you find a Web3 community, make sure that it will support you, i.e., help you regularly, answer questions, send you to the right places, and give direction. Helpful, experienced developers will provide you with a much easier start and save you dozens of hours spent looking for solutions on your own.
And when you finally learn to program yourself, don't forget about the colleagues who happen to be at the place you were at a few months or a few years ago. :)