Your Roadmap To Becoming A Web 3.0 Developer
From The Basics To Your Job Application
Blockchains are still hot and the industry has a crazy amount of demand for developers right now. Next to awesome salaries, it's also an immensely interesting field to work in.
If you want to be a part of this and advance in your career to become a Web 3.0 developer, a structured approach can leverage your learning by a lot.
Let me give you a roadmap that will definitely lead you towards your goal.
Prerequisites
You should know JavaScript and web development in general. If you don't, you should take a step back at this point and learn about web development first.
There are so many awesome courses and tutorials out there. You won't have a hard time finding good ones.
1. Learn The Basics Of Blockchain
You need to know what you work with. Blockchains are an incredible piece of technology, but they also aren't trivial to learn. You'll have to put some time into it to understand what you will later build on.
A good idea is to start with this course that explains the concept of blockchains awesomely well.
After taking the course above, you can advance a little further with this course.
After these courses, you will have a general idea about blockchain technology. This is a great foundation for your further learning.
2. Learn About Smart Contracts
Smart contracts are how you can actually program the blockchain. They are code deployed to the chain, written in some language that blockchain nodes can execute.
Smart contracts can nearly do everything, from fungible and non-fungible tokens to the backend of your next decentralized app. They are, however, different from the code you usually write. They'll make up a good portion of your future work, so better understand them well.
A good introduction that also introduces you to Solidity can be found here.
3. Learn How To Interface With The Blockchain
Decentralized apps consist of two components: Your frontend and smart contracts executed on the blockchain. For your frontend to talk to the blockchain, you'll need to interface with it.
This is where libraries come in and there are two popular choices to interface with blockchains that implement the Ethereum API:
- ethers.js
- Web3.js
Pick one, and learn it well. You will definitely need it. It's one of your most important tools from now on.
4. Learn Solidity
There are many blockchains out there, and nearly equally as many of them come with their own unique way of building smart contracts.
Solidity, however, is the language of the Ethereum VM which is integrated into many other blockchains. It won't only serve you well on Ethereum. It will also help you to build smart contracts on other chains.
The job market for Solidity developers is the largest by far. Many businesses build or want to build on Ethereum. It could take a long time until another blockchain reaches the same level of adoption that Ethereum has reached.
Although it currently has a few problems (the chain is overloaded), the community is actively working on migrating the consensus over to Proof-of-Stake. All scaling problems will be gone when this happens, and the adoption rate might sky-rocket even further. Until then, layer-2 solutions help to scale the chain, so you don't need to worry about your job and choice.
What you especially need to understand is how gas works and how each line of code you write in Solidity affects the price of execution of your smart contract. There is no way around it. Unfortunately, some companies optimize aggressively for gas consumption.
If you want to work in this field, you'll need to learn to optimize your code. It will be part of your job and a huge part of some interviews because thorough optimization can save millions of dollars each year for a heavily used app or contract.
Still Curious? Crypto Zombies is an awesome start to Solidity. You learn by basically playing a game. What's better than this?
5. Build Your Portfolio
A portfolio of projects can help immensely in your job search. If you want to work in this field, build, build, build.
To give you a rough idea of what a project should contain:
- A frontend
- A smart contract
- Some (Solidity) code optimizations with comments explaining why
- Unit tests for everything
- A local test network setup
- E2E tests that thoroughly test the contract
- Continuous Integration
- Continuous Staging Deployment
- A Deployment to the official testnet
6. Apply
With all that new knowledge and a portfolio, you can begin your job search.
Don't be demotivated when it takes some time, especially if you don't have too much industry experience yet. It might well be that some companies try to get talent with more experience.
Show Your Support
If you found this article interesting or helpful, leave a like, and follow me for more like this. It would mean the world to me!
And if you would love to read even more content, feel free to visit me on Twitter.