How to Transition into Web3: Engineering Edition
Developer interest in Web3 is spiking. Github activity has doubled in this last cycle. Ethereum now has 4,000 monthly active developers. Both new and established engineers are moving to Web3 protocols, startups, and projects.
For those making the switch, there is no “right path”. Roles aren’t standardized, projects are scrappy, and hiring is fast (often 1-2 weeks to receive an offer).
The good news: the industry is welcoming of anyone who wants to solve big challenges. We need all the smart, passionate people we can get. If you’re excited about something and willing to pick up a shovel, you’ll find friends everywhere.
As you look to make the transition, here are six steps that may help:
1. Ask yourself why
What makes you excited about working in Web3? Your real motivations will guide you best.
Maybe you’re fascinated by the tech itself. Or how it could solve a big problem. Or maybe you’re just ready for something new, or there’s just good money in it. All totally reasonable answers.
But before you go further, try to be honest with yourself and identify what made you read this article.
2. Pick an area of interest
No one just works in “crypto”, just as no one works simply in “tech”. Crypto isn’t an end in itself. It provides new tools to solve big (old) problems.
Defi is trying to make banking more accessible and efficient. Web3 gaming is trying to bring more ownership to players and transferability across games.
Which problems interest you most? Explore a few. But go deep into one of them, and get involved in the communities. Join the discords, follow the main contributors on Twitter/Github, and add your voice where it feels right to you.
If you explore Web3 engineering through a topic you really care about, you’ll learn faster, make more friends, and do more meaningful work.
“Defi” and “Web3 gaming” sound huge as general terms. But as you’ll see, these communities are just small groups of people. The door is open, and the light is on.
3. Learn the basics of the Web3 stack, do sample projects
Solidity, Rust, Ethers.js, the EVM… At first glance it seems like there is a lot to learn. And that it requires a lot of new programming knowledge. But this isn’t true.
When people say “Web3 development”, it usually means “Web2.5”. In reality it’s an average of three types of work:
1) Web3: smart contract development (Solidity, Rust)
2) Web2.5: the interaction layer between blockchain and servers/clients/wallets (Ethers.js)
3) Web 2: DAPP front end development (React).
Depending on your project and role, you might work on one portion of the stack, or along the entire thing.
So where should you start? Take a look at smart contract development. It’s the most incremental to web2 work, and it’s the sun that the rest of the stack revolves around.
Start by picking a chain that’s used in your area of interest. For EVM compatible chains (Ethereum, Polygon, etc.), here are some resources to learn the basics of Solidity, common design patterns, and environment setup for playing around.
- Teach Yourself Web3 (online resource list)
- Ethereum and Solidity: the Complete Developer’s Guide (Udemy course)
- Crypto Zombies
4. Look at real mainnet protocol code
Most protocols make their smart contract code publicly available. You can study it, clone it, and experiment with it as much as you’d like.
Once you’ve done a few sample projects, try reviewing some deployed protocol code in your area of interest. Here are some github links below for various topics.
It can also be good practice to build your own simplified version of a protocol. For instance, if you’re interested in Defi, you can build your own smaller version of Uniswap, perhaps for a single trading pair. From there, you can deploy to a test net and experiment with building a front end.
5. Build and deploy your own personal project, but limit the scope to two weeks
There’s no better way to learn a new language or framework than through a personal project you actually care about. Let’s be real, we’ve all done enough “to do list” sample projects.
Scope out a web3 app you actually want to use and build it.
The caveat: limit it to something you can deploy to a test net in two weeks. No exceptions. The time constraint will help you stick to your idea’s core functionality, and will also give you a sense of progress and accomplishment by actually finishing something.
Also, keep the focus on Web3. Spend 90% of your time on smart contract development. Spend minimal (if any) time on your front end. You’ll learn more new things this way.
Here is an example project. It’s a token-based rewards program for Twitch (video game) streamers. The learnings: ERC-1155 token patterns, tradeoffs of centralization vs. decentralization, and how to keep reliable event sync with the blockchain.
When interviewing in Web3, the projects you build on the side will likely be the ones you discuss.
6. Decide on your endgame: do a Web3 bootcamp, contribute to open source, or pursue employment
This is where your own goals will guide you best. Some suggestions:
If you want individual, part time involvement: DAO bounties, Smart Contract Security bounties, open source contribution, or freelance work.
If you want to learn more while collaborating with others: do a web3 bootcamp (like 0xMacro), participate in hackathons (look up the main protocols or layer 2s in your area of interest, they often have events), or just jump into a new project with friends.
If you want to work full time at a protocol: there are lots of ways in. Generally they don’t expect you to have extensive experience in Web3. A Web2 background plus evidence of Web3 experimentation (Github) is usually enough.
It’s a good idea to pick personal projects that allow you to “go deep” in some area. For instance, “I implemented proxy patterns and contract upgradability” or “utilized a custom Merkle drop” for a particular project.
The industry is still small and organic enough that you can cold message protocols on LinkedIn or Twitter. Many of the Web3 bootcamps also have job placement services that match you to a full time role after.
Conclusion: There are no rules. Follow your interests.
The industry is young enough that there is far more demand for talent than anyone can keep up with. People are rallying around big problems to solve, and everyone is concerned with just making things work and shipping useful products.
Go after what interests you, tap into your scrappy side, and build your way forward. The rest will figure itself out.