Need help understanding Bitcoin DeFi?
→ START HERE
Need help understanding Bitcoin DeFi?
→ START HERE
Need help understanding Bitcoin DeFi?
→ START HERE
Need help understanding Bitcoin DeFi?
→ START HERE
Need help understanding Bitcoin DeFi?
→ START HERE

How to Become a Web3 Developer

The demand for Web3 developers has gone through the roof in the past few years. Even given the tech slowdown in the past six months, the number of active and full-time developers in the field has doubled since 2020. More Web3 projects are getting started, more Web3 projects are growing, and more companies, even large corporations, are becoming involved in decentralized applications and Web3. It's a great time to become a Web3 developer. So how do you do that?

Type
Deep dive
Topic(s)
Published
July 19, 2023
Author(s)
Talent Sourcing Partner
Want to start building apps in Web3?
Contents

It turns out that the process of becoming a Web3 developer isn’t so different from becoming one in Web2—you start by learning the basics, exploring the latest tools and frameworks, working on projects, and constantly trying to improve your skills. Most of all though, you start coding. If that’s what you’re looking for, here are a couple of tutorials to get you coding immediately:

  • The Hello Stacks tutorial is a great place to dive right into coding on the Stacks blockchain.
  • The Stacks.js Starters can help you build out JavaScript projects for interacting with Stacks.

But even these tutorials make it clear that, to really grok Web3 development, you have to build a deeper understanding of the decentralized model these technologies are built upon first. If you want to become a Web3 developer, whether you’re new to development entirely or are coming from Web2, taking the time to learn the basics of Web3 is well worth it. Let’s start at the beginning.

Learn the Basics

You don’t need to know the intricacies of cryptography or blockchain consensus mechanisms, but the journey to becoming a Web3 developer begins with an understanding of the foundational concepts and tools that underpin the blockchain ecosystem. 

This is a crucial first step, as it provides the context and basis for everything else you’ll learn and create. Web3 development builds on a fundamentally different model than the internet you’re used to. You have to think about the web differently to become a successful Web3 developer.

The fundamentals include:

  • The blockchain. Blockchain technology forms the backbone of Web3. A blockchain is a decentralized, distributed database, known for its security, transparency, and immutability. Blockchain allows multiple parties to agree on a single version of a database, without the need for a trusted centralized intermediary. Everything you are building in Web3 revolves around this technology and the idea of trustlessness and immutability.
  • Cryptocurrencies. Cryptocurrencies like Bitcoin and Ethereum are the most well-known applications of blockchain technology. These tokens serve not only as digital currencies but also as the incentive mechanism that encourages participants to maintain and secure the blockchain network. Every blockchain has its own native token, and they often share a name (e.g. “Bitcoin” is the name of both the blockchain and the token).
  • Decentralized applications. dApps are applications that operate autonomously on a blockchain network. They leverage smart contracts to enforce rules and operations, leading to censorship-resistant and trustless applications.
  • Smart contracts. Smart contracts are self-executing contracts with the terms of the agreement directly written into lines of code. They automatically execute transactions when predefined conditions are met, eliminating the need for middlemen.

Those are the four core components of Web3. If you can gain an intuition for each of those and how they interact with each other, you will be well-placed to build with Web3. 

Pick a Blockchain

Once you grasp the basics, it’s time to choose a path. Different blockchains offer different strengths and weaknesses, as well as different programming languages. Initially, Ethereum (and its smart contract programming language Solidity) was the only option for building smart contracts and dApps. But as alternative platforms have come online in the past 3-4 years, developers now have a huge range of options for Web3 development.

If you stick with Solidity, you can also work on other blockchains, including Polygon, Cosmos, Fantom, Binance Smart Chain, and Avalanche. If you want to learn Rust instead, you can work on Solana, Polkadot, Cosmos, NEAR, and Elrond.

And with the launch of Stacks in 2021, smart contracts and decentralized apps can now also be built with Bitcoin. To do so, you use the Clarity language. Clarity is an interpreted language, not compiled. This means the code is human-readable, making it easier to reason about the logic of the contract. The code for all Clarity contracts are also open-source and visible on the Stacks blockchain, making it easier to learn as you can read the code of popular contracts (whereas with Solidity, all you’d ever see is compiled bytecode or assembly).

Each of these ecosystems is going to have different tradeoffs around security, decentralization, and scalability. For instance, Solana is great for security, but the blockchain is run by the Solana Foundation (less decentralized). Polygon is more decentralized, but relies on Ethereum for security.

Do your research and discover what ecosystem has the right foundation for whatever it is you want to build or work on, and feel free to experiment. Many Web3 devs have experience working in multiple ecosystems. Your first pick doesn’t have to be your last.

Explore Web3 Devtools

Once you've laid a solid foundation of the basics, it's time to explore the tools of the trade. As a Web3 developer, there are several frameworks, libraries, and development environments that you'll use frequently. Which specific tools you work with depends on which blockchain ecosystem you choose (different blockchains have different tooling), but at a high level, we can break down devtools in Web3 into the following categories:

IDEs & Smart Contract Development

An important part of Web3 development is writing smart contracts. You need an environment to code them, debug them, and testing them locally before deploying them to a blockchain. That’s where IDEs come in, and there are a number of options devs can choose from.

As you’ll see throughout these sections, different blockchains have different tools, and IDEs are no exception. If you’re writing Solidity contracts for Ethereum, you’ll use a tool like Truffle, Hardhat, or Remix. For Stacks, you use Clarinet or the Hiro Platform. For Cosmos, you use Ignite. You get the idea.

These tools offer syntax highlighting, debugging tools, local blockchain environments (so you can test how your contracts interact with a simulated blockchain, including simulated miners, nodes, and all the rest), and the ability to deploy your contract once it’s ready for production.

JavaScript & UI/UX libraries

One piece of good news is that in Web3 development, you don’t have to do everything yourself. Most blockchain ecosystems offer free JavaScript libraries that handle basic functions your app may need, such as interacting with user wallets, user authentication, broadcasting transactions to the blockchain, and more.

If you’re building on Stacks, you’d leverage Stacks.js. For Ethereum, Web3.js and Ethers.js. For Solana, Solana-Web3.js

These libraries offer plug and play packages that you can use to jumpstart your Web3 app development.

Storage

Storage is an interesting part of the Web3 stack, and an area where a good understanding of the fundamentals of decentralization become important. To build a true decentralized application, you can’t just use an s3 bucket. A couple of options are the InterPlanetary File System. (IPFS), a protocol designed to create a permanent and decentralized method of storing and sharing files, and Gaia, focused on user control and privacy. However, many Web3 projects use popular Web2 storage solutions, such as AWS or Google Cloud, because they offer advantages in pricing, maintenance, security and scaling.

Blockchain APIs

If you are building a Web3 app, you need a way to query blockchain data, such as how many tokens are held by a particular address or what is the metadata of a particular NFT. You also need a way to write new data to the blockchain. You could do that yourself—all blockchains have built in APIs that allow you to do these things—but it’s hard to do this reliably and at scale. 

Many 3rd-party services offer hosted APIs for better reliability and to reduce that logistical overhead for you. Options vary across blockchain ecosystems. You have the Stacks Blockchain API for Stacks, Alchemy and Moralis for a variety of chains, and more.

Testnets

On blockchains, you have several different networks. Mainnet is the production environment, testnet is a public test network, and devnet is a private local environment. Devnet and testnets are useful for testing and debugging your code. They function similarly to mainnet, but they don’t use real currency. Instead, you can request test tokens from a “faucet” and receive them for free. This means a) you don’t have to spend money to test your code and b) your users don’t have to risk their assets when testing your project either.

When building a Web3 project, always leverage devnet and testnet before deploying to mainnet.

Other Tools

This only skims the surface of the tools available to Web3 developers. We haven’t talked about wallets, block explorers, oracles, bridges, and other services that make your life easier. Just as development on the blockchain is constantly growing, so is development for the blockchain itself. You might want to think about whether you want to contribute to the core blockchain protocol or its tooling instead of building an app. There’s plenty of opportunity in both.

Experiment in Web3 Ecosystems

The blockchain and Web3 landscape is in a state of constant evolution, with new protocols, tools, and practices emerging frequently. To thrive as a Web3 developer, you must adopt a mindset of continuous learning and improvement.

To do this, the best approach is to simply “learn by doing”:

  1. Experiment with new tools and platforms. When a new tool or platform is released, take the time to experiment with it. This could involve reading the documentation, following a tutorial, or creating a simple project.
  2. Build side projects. Side projects are a great way to apply what you've learned. This could be anything from a simple smart contract to a full-fledged dApp. It doesn't have to be complex; the goal is to learn and understand new concepts.
  3. Contribute to open source. Many blockchain projects are open source. Contributing to these projects can help you understand their codebase, learn best practices, and get familiar with real-world applications of blockchain technology.
  4. Rebuild existing projects. Choose an existing project or dApp and try to rebuild it. This forces you to understand the underlying technology and architecture, giving you a better understanding of how everything fits together.
  5. Experiment with different blockchains. Don't limit yourself to just one blockchain. Each blockchain has its unique features and learning them can provide a broader perspective.
  6. Audit smart contracts. Try to find bugs in existing smart contracts. This is not only a great way to understand how contracts work, but it's also a valuable skill in the blockchain space.

By focusing on learning by doing, you'll build a strong, practical understanding of Web3 development. 

Of course, you still need a starting point before moving to your own experimentation and contributions. Every ecosystem has free courses to jumpstart your journey. For example, Solana offers this resource hub, and Stacks offers Clarity Camp.

Most blockchains have foundations—check their website to find these educational resources or ask around in the community Discord to get pointed in the right direction. Some devtool companies also offer educational resources, such as Alchemy University.

These curriculums give you the best of both worlds–hands-on experience coding but within a guided framework.

Engage With the Web3 Community

The world of Web3 extends beyond just code and technology—it's also about people and community. Networking and active community involvement play pivotal roles in the progression of your Web3 developer journey. They offer avenues for learning, collaboration, and career opportunities.

In particular, there are two places you should spend your time. The first is Twitter. “Crypto Twitter” is a known thing, and there is no better way to stay up to date with the space than following the many experts on Twitter, whether fellow devs, project founders or general enthusiasts. Start by following projects and project founders—they’re the easiest to find—and from there you will quickly build out a Twitter network by seeing who they engage with.

The second place is Discord, which serves as a community hub for Web3 projects. Just about every blockchain and Web3 app has its own Discord channel, providing a place for announcements and updates from project leads but also for the community to chat. 

As a dev, Discord is a great place to find other devs, who can help answer your questions as you get up to speed. So join some Discord channels! Engage in conversations, offer help, share your work, and don't be afraid to ask questions. Remember, everyone was a beginner once, and most people are more than willing to help. By immersing yourself in the community and forming meaningful connections, you'll enrich your Web3 development journey.

Find Web3 Opportunities

If you’re interested in becoming a Web3 dev, you probably want to get paid at some point. The good news is that numerous companies, from startups to established organizations, are investing in blockchain and looking for talented Web3 developers.

When looking for job opportunities, consider the following:

  • General job portals. Traditional job portals (e.g. LinkedIn, Indeed, etc) can have listings for Web3 developers, but you’ll find the most interesting roles on Web3-specific platforms such as Cryptocurrency Jobs, Crypto Jobs List, Web3.career, and Web3 jobs.
  • Ecosystem job boards: Most ecosystems will offer job boards to showcase companies hiring in that specific ecosystem. These boards can be found on the blockchain’s website  (which is generally overseen by the ecosystem’s foundation). For example, here is the Stacks job board. If you’re set on working in a particular blockchain ecosystem, this is a good way to narrow your search.
  • Grants and bounties: Many ecosystem foundations offer grants that developers can apply for. These grants are for various projects that the ecosystem needs done (and they are all paid). Work directly for the foundation, build your resume, and get paid. Not a bad gig. You can generally find grants on the same websites you can find the ecosystem job boards described above. You can view Stacks grants here.
  • VC announcements: Not sure what Web3 companies are hiring? Look for companies that have raised funding recently. With new funding inevitably comes new hires. Follow VCs, read ecosystem newsletters, and you’ll find yourself in the loop on where the money is flowing.
  • Company websites: If there are specific companies you want to work for, check their career pages regularly for new job postings.
  • Networking: Your network can often provide leads on job opportunities before they're advertised (this is why Twitter and Discord are important!).
  • DMs: As a general rule of thumb, DMs are a good tactic to use alongside all of the above. Many projects get flooded with applications, and if you want to make sure you’re seen, a DM is an effective way to get in front of the hiring manager or the HR department (make sure you do your research and DM the right employee first).

As you gain experience, ensure you clearly demonstrate your skills and knowledge along the way. This might be through creating a portfolio of your work, public contributions to open-source software, or demonstrable expertise in specific tools or technologies. The Web3 field is competitive, but with the right skills, continuous learning, and a proactive approach, you can carve out a successful career as a Web3 developer.

Embrace the Future as a Web3 Developer

Becoming a Web3 developer is an exciting journey. You’re joining a completely new technological paradigm in its nascent stages. The work is intellectually stimulating and rewarding.

The path isn't always easy—the blockchain space is complex and evolving—and it can sometimes feel like you're trying to catch a moving train. But the rewards, both in terms of personal fulfillment and professional opportunities, are well worth the effort.

As you embark or continue on this journey, remember that success isn't merely about acquiring knowledge—it's about applying it in ways that push the boundaries of what's possible. It's about contributing to a community that's working towards a more decentralized and equitable digital future. It's about not just adapting to change, but driving it.

If you’re looking for work as a Web3 developer, we’re hiring.

Copy link
Mailbox
Hiro news & product updates straight to your inbox
Only relevant communications. We promise we won’t spam.

Related stories