This talk was part of Developer Growth Summit 2022. Go to the DGS2022 page to view recordings of all sessions.
About the talk
The demand for web3 talent is exploding. Are you a web2 developer thinking of starting in web3? As someone who made the transition, Julien will share his tips for you to get started. Learn about blockchain and web3, web3 crypto, and the necessary skills to venture into web3.
This talk will cover
- Introduction to blockchain and web3 key concepts in the industry
- Key technical skills you need to learn to become a web3 dev
- Tips on finding great jobs in this industry
About the speaker
Software dev who landed in crypto, Julien teaches web3 at his online coding school EatTheBlocks while creating YouTube content for his extensive community.
Highlights of the talk
What are some key concepts in web3?
Blockchain is a special kind of decentralized and immutable database. It’s important to separate the blockchain technology from its application. Bitcoin introduced the blockchain technology in 2009, and at that time, bitcoin leveraged the blockchain technology to create a digital currency and in 2015, Ethereum was introduced. Like Bitcoin, Ethereum is a cryptocurrency, but it also allows you to build applications on top of the blockchain. Today, when you hear about blockchain development it can mean two different things: (1) when you work on the blockchain software itself (blockchain core development), and (2) when you build applications on top of the blockchain.
What are some technical skills to get into web 3.0?
Before you dive into web3, you need to already understand web development because web 3.0 is built on top of web technologies. So you need to know JavaScript, Node.js, HTML, CSS, and a frontend framework like React to build applications on top of blockchain. Once you feel comfortable building web applications, then you can continue to web 3.0.
Next, a decentralized application (Dapp) is an app you build on top of the blockchain. Once you deploy it, no one can stop it, no one can sensor it. The disadvantages are that it’s slower and more expensive than normal applications. Most of the apps are built on Ethereum and can be split into (1) De-fi and (2) NFT. De-fi stands for decentralized finance, where you can buy, sell, and lend or borrow tokens without KYC. NFT stands for non-fudgable tokens, where you can create unique digital assets on the blockchain.
At the very bottom of the architecture of a Dapp, you have a blockchain like Ethereum. It’s not part of the Dapp, but an infrastructure on which the Dapp is built. Then, you have the smart contract, a small program that lives on the blockchain, and is the most critical part of a decentralized app. This is where you put your most important data, like ownership, everything that should be decentralized should be on the smart contract. On top of it, you have a web or mobile application on the frontend to allow the users to interact with the smart contract. By using the frontend interface, users are able to read and modify the data of the smart contract.
Reading data is more simple but modifying data is more complex. To do so, the user has to sign and send a data package called transaction, and to send this data package, they have to use a wallet. A wallet is a software that is hosted on the client side and it has the private key of the user, which is the equivalent to the password in the web3 world. With the private key, users can create transactions to modify the data on the blockchain. It’s important to remember that while a decentralized application is decentralized, the frontend is not decentralized. Anyone can create a new frontend to interact with the smart contract.
What are some tips for web3 jobs?
There’s one blockchain that really matters, and that’s Ethereum, from a developer’s point of view. Most of the job market for web3 is for Ethereum, which is why you should focus on Ethereum. Ethereum is one of the first second generation blockchain, which is capable of running applications on top of it, so it has the first mover advantage. It was able to attract a huge community of users, developers, and investors. Besides Ethereum, there are many other blockchains, but most of the other blockchains are built on top of the technology of Ethereum, so they can leverage the pool of developers and users who are already familiar with Ethereum. Not only so, a lot of blockchain technologies sacrifice decentralization for scalability, so they cannot really be considered true blockchain. Ethereum is one of the very few blockchain that’s developing a scalable, secure, and decentralized blockchain. You have to focus on it to get into web3.
The bad news is that Ethereum is pretty complex. The good news is you don’t have to understand everything about Ethereum. It’s important to understand you’re trying to become a Web3 developer, not a blockchain core developer, so you don’t have to dive too deep into the Ethereum protocol. As a web3 developer, you need to know the protocol but not the implementation. A book that will help you understand how blockchain works is Mastering Bitcoin: Programming the Open Blockchain by Andreas M. Antonopoulous.
On Ethereum, you have addresses that basically act like identifiers, so you need to understand how addresses are generated, which data is associated with which address, and you also need to know the data structure of Ethereum blockchain. Once you understand the basics of Ethereum, you need to understand what smart contracts are and the concept of EVM, Ethereum Virtual Machine. You want to understand how the EVM executes smart contracts. There are two endpoints to interact with smart contracts: (1) an endpoint to read data and (2) an endpoint to modify data. Check the documentation of the JSON RPC API to understand what parameters are required. Related to the two endpoints is the concept of a transaction.
A transaction is basically a signed data package to modify the state of the Ethereum blockchain. It is used to execute smart contracts and also to transfer Ether between addresses. So you need to know the different fields of a transaction. Once you know this, you can move onto decentralized applications.