Complete Web3 Developer Roadmap for 2023
Dec 18, 2022 10:46 am
Today, I'm going to show you how to become a web3 developer in 2023.
In a world of white noise where hundreds of coaches trying to sell you their courses, I'm going to walk through a step-by-step guide on how to learn web3 for free.
By having a clear structure of how to learn web3, you increase your "luck surface area" to get the new high-paid remote job, which is how you increase your life and career in the long term.
Unfortunately, most guides are trying to sell you paid courses, rather than helping you find the best way to get new skills.
Project-based learning is the best way to learn code
A lot of people start learning code and then they drop it out. There are main reasons why it happens:
- They learn a lot of theory without practical work and find it boring.
- They learn multiple programming languages without a clear structure.
- Lack of discipline.
- They learned technology, but they can't find the first job. So, they stop maintaining their skills.
I have the action plan for the next 90 days. This roadmap increases your chances to learn web3 and find a job because:
- It's based on building small projects and having fun
- The structure of what to do
- I wish to give you some discipline, but it's on you :)
- You will get advice and additional resources on how to get the first job
And yes, it's possible to become from 0 to web3 full-stack developer in 90 days, if you can study code for 3-4 hours per day. Every step has an approximate time range for learning and a list of free resources to learn.
Web2 and Web3 apps structure
If you have already tech skills then skip this paragraph. If you don't know the code, then let me show you how a typical web2 application works. 3 main parts allow us to use websites, and applications, and watch cats pictures on Twitter:
- Frontend or client machine: think about a page you see when you open Twitter on your browser.
- Backend or server machine: think about the operations Twitter does to show you content: when you load the page, Twitter authorise you and shows you personalised content: cats, memes, and everything that is based on your actions and interests. That's the server's work.
- Database: the place where an app stores the data. It might be PostgreSQL, MySQL, MongoDB, etc.
It's the default structure of the web2 app.
In the web3 world, we don't use servers by default because we have Blockchain. There is a frontend (the website), blockchain (nodes, transactions, data), and smart contracts (the programs that do something with data from the blockchain).
However, I think that web3 full-stack developers should know how the backend works without blockchain. So, I included this part in the roadmap too. Here are the main stages of learning:
- In the beginning, we learn basics and frontend
- Then we master your backend skills
- Afterwards, we go to blockchain to make you a web3 wizard
Ok, let's dive into your roadmap:
Step 1: Learn the basics of HTML and CSS
To begin, it's critical to understand how a website works.
You can't survive without it. Technically speaking, you can skip it if you want to work only on the backend side. However, it will increase your value even as a backend developer, if you know HTML and CSS.
Day: 1 - 10
Resources where you can learn it:
Step 2: Time for Javascript
JavaScript is one of the most popular programming languages used today.
Javascript is used for a variety of different purposes, from web development to game development and more. It's highly recommended for anyone interested in coding or creating digital products.
With JavaScript, you can create interactive web pages and applications that are both dynamic and visually appealing.
Day: 11 - 25
Resources where you can learn it:
Step 3: Learn CSS framework
Learn it to make your front-end development faster.
It's an optional step. However, I highly recommend doing it to avoid spending much time on CSS work. It takes one day to learn the main principles of a framework, which you will practice during the other steps.
There are 3 most popular CSS frameworks: Bootstrap, TailwindCSS, and Bulma. I significantly increased my productivity when I mastered Tailwind.
Day: 25 - 26
Resources where you can learn it:
Step 4: Learn Front-end JavaScript framework
When it comes to building websites and apps, JavaScript frameworks are the most commonly used tools.
Frameworks contain sets of prewritten, ready-to-use code, they’re far from being the same thing as vanilla JavaScript. Popular JavaScript frameworks include React, Angular, and Vue – all of which offer their own unique sets of tools and features to help you create dynamic user interfaces more efficiently.
Day: 27 - 41
Resources where you can learn it:
- React Fundaments
- Build an Online Store Using AWS, React, and Stripe - Course from freeCodeCamp
- Vue.js 3 Fundamentals
- Vue.js Course for Beginners
Step 5: Learn Web2 Backend
Time to learn how a server works.
It's also an optional step because you can jump to the next step and learn Solidity, which is designed for Blockchain development. However, I recommend you learn a programming language that you can use outside of Blockchain. Also, it will show you how web2 apps work.
There is no one right language to choose. The most efficient is to learn the programming language that you will use working with blockchain. Each tech has its benefits.
To simplify, here are top-5 common languages which are used not only in Blockchain:
- Python
- Rust
- JavaScript
- Go
- C++
The fastest way to learn server-side is JavaScript because you already know the basics. So, if you want to do the backend with JavaScript, then your choice is Node.js, which is a JavaScript framework for a server environment. However, other programming languages have their benefits.
Day: 42 - 56
Resources where you can learn it:
- Node.js Tutorial for Beginners
- Codecademy Python 3 Course
- Easy Rust: bite-sized Rust tutorials
- Learn Go Programming by Building 11 Projects – Course by FreeCodeCamp
Step 6: Learn Blockchain basics
Time to learn Blockchain.
To build dApps and smart contracts, you should know the basics: how Blockchain works, what's decentralized web, what's DeFi, what are Token economies, and so on.
Day: 57 - 60
Resources where you can learn it:
- Blockchain Technology Explained (2 hours Course)
- Blockchain Theory 101
- The Complete Course On Understanding Blockchain Technology
- Learn Blockchain: The COMPLETE beginner's guide
- Thread with 30+ web3 terms: Web3, Blockchain, NFTs, dApp, etc
Step 7: Learn Solidity
Solidity is a programming language used to code smart contracts on the Ethereum blockchain.
It has since become one of the most popular languages for developing decentralized applications (dApps) on the Ethereum platform.
There are 3 best resources to learn Solidity: Buildspace, CryptoZombies, Solidity by Example.
Here, also, you will learn how to build dApps, how to create smart contracts, how to set the Ethereum development environment, which frameworks to use for it (Hardhat, Truffle, etc), and more.
Day: 61 - 70
Resources where you can learn it:
- Buildspace
- CryptoZombies
- Solidity by Example
- Mini Solidity Course: Become a Blockchain Developer
- Learn Solidity in 30 mins
Step 8: Learn Web3.js or Ether.js
Learn how to interact with blockchain.
After learning how to write Smart Contracts, it's time to connect to the front end of your application. Among the many library options are Ethers.js, Web3.js, and Web3.py the most popular.
All these libraries have the same purpose. If you use Python, then Web3.py looks like your choice. Otherwise, Ethers.js and Web3.js are the most popular in this field.
Day: 71 - 72
Resources where you can learn it:
- Web3.js Intro · Web3.js · #1 Ethereum Blockchain Developer Crash Course
- Master Ethers.js for Blockchain Step-by-Step
- Blockchain Python programming tutorial web3.py
Step 9: Build dApps
Time to revise everything and practice by building your own decentralised applications.
You completed the solid way of learning code and blockchain. Time to master your skills. Build different projects and have fun.
Day: 73 - 90
Recommendations for what you can build:
- How to Build a Full Stack NFT Marketplace on Ethereum with Polygon and Next.js
- Build Twitter Blockchain Web 3.0 App with Solidity | Next.js
- Code a Web 3.0 Real Estate App like Zillow Step-by-Step (Solidity, Ethereum, Hardhat, React)
- Code a Web 3.0 Music Player like Spotify Step-by-Step
- Build Airbnb with Solana & Next.js
Additional materials
If you feel that you need more documentation about Blockchain, I have something for you.
Here is a thread with 5 books that made a massive difference in a web3 developer's life who landed $135k job.
Unpopular opinion
Project-based learning is the best way to learn a code. However, it's not enough to really master your skills. I agree on this topic with @Rahatcodes who said about communication and reading other people's code to supplement your learnings.
You should not only have skills to build something from scratch, but also understand someone's code.
How to do it if you haven't found a job yet?
- Read open-source projects and comment on the code via ask questions
- Take existing open issues on open-source repos and work on them locally
User stories
Here are a few stories from people who learned web3 to work on interesting projects and improve their life:
- I'm Quitting Web2 (And So Should You) from @rafathebuilder
- How I found my Place in web3 from @meowy-kun.eth
- Thread about How to get your first web3 job?
Where to find a web3 job
There are 3 main sources where you can find a web3 job:
- Web3 job boards
- Discord channels
If you are at the beginning of your web3 journey, you can check entry level jobs on Aworker.
TL;DR
- Day 1 to 26: Learn the basics of HTML, CSS, and JavaScript
- Day 27 to 41: Learn JS framework (React, Vue.js or Angular)
- Day 42 to 56: Learn web2 backend
- Day 57 to 60: Learn Blockchain basics
- Day 61 to 72: Learn Solidity with front-end libraries (Web3.js, Ether.js, Web3.py, etc)
- Day 73 to 90: Build dApps