First, let me introduce what Web3 is.
In 2014, Ethereum co-founder Gavin Wood first proposed the concept of “Web3”, providing a solution to the problem of excessive trust required by the Internet.
Undeniably, centralized networks have helped billions of people integrate into the Internet and have built stable and reliable infrastructure on it. However, at the same time, a few centralized giants have almost monopolized the Internet and can do whatever they want. Web3, on the other hand, returns power to users in the form of ownership through blockchain, cryptocurrency, and NFTs.
Web3 has now become a comprehensive term that represents a renewed and improved vision of the Internet. Although it is difficult to provide a strict definition for Web3, it generally has the following characteristics:
Decentralization: Not controlled by a centralized entity, but by the builder and users to assign ownership;
There is a sentence in “Lü’s Spring and Autumn”: “The gentleman moves from time to time, and follows the trend”. This means that a Satoshi and visionary person will be prepared, act quickly at the right time, follow the situation, make judgments, and make a difference.
I believe Web3 is undoubtedly a trend, but there are different opinions on when it started to become a trend. Some say it was the emergence of Bitcoin, while others say it was the emergence of Ethereum. I don’t completely agree with either of these views. The emergence of Bitcoin marked the beginning of the entire Web3 industry, while the emergence of Ethereum laid the foundation for the Web3 industry. However, what truly made Web3 a “force” in my opinion was the massive outbreak of the DeFi industry in 2020, which brought blockchain applications into the financial scene.
Web3 has experienced explosive growth in user numbers since 2020, with the exception of a slowdown in 2022 due to the bear market. The number of users has been continuously increasing in other years. It is believed that with the halving of Bitcoin and the arrival of a bull market in 2024, the number of users will continue to rise, and the upward trend will be unstoppable.
In fact, the attitude of Hong Kong, China towards Web3 can also be seen from the fact that since 2023, Hong Kong, China has frequently released friendly signals to Web3.
Since Web3 has become a trend since 2020, the best time to join Web3 is four years ago, followed by now!
As a developer who started working with Web3 in 2020 and transitioned from Web2 to Web3 in 2022, I would like to share some personal experiences on why Web2 developers should learn Web3.
Actually, this question is no different from “Why do non-AI developers need to learn AI?” I think as a developer, the first and foremost thing is to be a continuous learner, because the technology industry is rapidly evolving and requires continuous learning to keep up with the changes and maintain competitiveness.
Study depth and breadth, both are equally important. Depth helps you become an expert in your field by delving into technical details, while breadth allows you to track technological trends and learn knowledge from adjacent fields, enabling you to introduce new ideas into your professional field and make your work more creative.
Now learning AI and Web3 is the same principle, you can increase your technical breadth by learning cutting-edge technologies, just like learning mobile development in the early years. However, what sets Web3 apart from these two is the lack of a “singularity moment”.
The emergence of the iPhone has led to a revolution in the mobile industry, making it a “tipping point” for mobile devices. The emergence of ChatGPT has opened up the imagination of AI, making it an “inflection point” for AI. However, Web3 does not currently have such revolutionary innovations. But this also means that Web3 is an industry with more potential and innovation. If a Web2 developer can combine their existing technology and experience to build on Web3, they may be able to nurture great innovations.
Learning Web3 also has another advantage over Web2, in case Web2 becomes inoperable in the future, you can still join.
Web3 technology stack currently does not have a unified definition. I am using the Alchemy Web3 technology stack panorama, from bottom to top, they are:
When you choose to become a Web3 developer, you need to understand which layer of the Web3 technology stack your technical service serves.
If it is a network layer service, it means that development is required for Layer 1 or Layer 2, usually corresponding to the laboratory or foundation. The required skills vary greatly. The underlying technologies include cryptography, consensus algorithms, storage, networks, languages, and virtual machines. The engineering technologies depend on the architecture and performance of the chain. Some chains are built quickly using Cosmos SDK or OpStack.
If it is the service blockchain interaction layer, it usually goes to some infrastructure service providers, such as node services, data analysis services, index services. This layer is actually similar to the infrastructure service providers of Web2 (such as cloud services), and the roles are also front-end, back-end, data, testing, and operation and maintenance, so the required skills are roughly the same, and you may need to have additional understanding of the interfaces of the blockchain network.
If it is the service presentation layer, it is to provide developers with development tools and libraries, commonly known as “selling shovels”. The specific development skills will be determined based on the product form and the type of service developer. For example, developing an IDE will involve user interface, local network setup, contract compilation, contract deployment, etc.
If it is about serving DApps, the majority of the development needs in Web3 are actually focused on DApp development. So when we talk about Web3 development, we mainly refer to DApp development. The next section will elaborate on this topic.
Traditional internet application architecture should be familiar to everyone, including the front end, back end, and database. Taking an online shopping website as an example, users first access the interface provided by the front end through a browser to perform relevant shopping operations. If the user searches for a certain product keyword, the back end will be responsible for processing the corresponding logic, that is, responding to requests from the front end, retrieving necessary data from the database, and returning it to the front end. The database provides stable storage for the application, including all information of the products and relevant information of the users (such as the contents of the shopping cart).
The biggest difference between DApps built on the blockchain and traditional applications lies in the change of roles for the backend and the database. Smart contracts play the role of the traditional backend, while the blockchain replaces the traditional database, providing decentralized data storage. The close collaboration between smart contracts and the blockchain makes data storage and retrieval transparent and tamper-resistant.
Therefore, the skills required for DApp development mainly lie in front-end and smart contract development. The skills that need to be mastered are as follows:
Front-end
Interface development. For front-end engineers with experience in web development, interface development skills are transferable. Basic skills such as HTML, CSS, and Java, as well as proficiency in modern front-end frameworks like React and Vue;
Identity authentication mechanism and data read and write. In DApp, the user’s identity authentication and management are implemented through blockchain wallet (such as MetaMask), so it is necessary to learn how to integrate wallet interface, and data read and write are also through on-chain API. By using Java libraries such as Ethers.js, it is easy to implement identity authentication mechanism and data read and write.
Backend
Due to the semi-centralized nature of many DApps nowadays, there is a significant demand for backend development. Although backend engineers can transfer their skills, integration with on-chain data requires the adoption of blockchain SDKs. It is recommended to use Go/Rust/NodeJS as the development language.
Smart Contract
For contract development on EVM chains, the main language to learn is Solidity. Newbies are recommended to learn on WTF Academy. For contract development on non-EVM chains, you need to learn specific languages based on the chain. For example, to develop smart contracts on Solana, you need to learn Rust. To develop smart contracts on Sui, you need to learn Sui Move. However, there is currently limited learning material available, so you need to visit the corresponding official website.
Web3 is definitely the future. For Web2 developers, exploring the field of Web3 allows them to leverage their existing technological advantages and expand their professional horizons, enhancing the creativity of their work.
But the current Web3 industry is still very impetuous, and many people are chasing after it crazily. Radical investments often make people feel anxious. If you are determined to become a Web3 developer, you must consciously shield some distracting information, focus on the technology itself, do something of long-term value, and better help yourself grow.