Attention Developers: Do You Have the Skills to Flourish in Web3?

Insights By Apr 23, 2024 2 Comments
TL;DR: Learn the skills that you will need as a developer making the transition from Web 2.0 to web3.

Software development is a rapidly evolving landscape of tools and techniques, where the next groundbreaking technology could consist of only a few lines of code. To compete, developers must keep up with new software and technical skills.

Blockchain technology and web3 are some of the most impactful of recent developments.

So, how does a developer working in Web 2.0 transition to working in web3? Which of their existing skills will serve them best as a blockchain developer?

Read on to learn about transferable skills from traditional development and new concepts in web3 that you’ll need to master to succeed.

Transferable skills for web3 development

Many traditional developer skills, from frontend to backend, are applicable in web3.

Frontend engineers writing in Javascript or Typescript can use web3-specific libraries like Web3.js, Viem, Wagmi, WalletConnect, and Ethers.js, alongside familiar frameworks like React and Vue.js. These web3 libraries handle blockchain transactions, smart contract interactions, and wallet management directly from the front end.

APIs remain crucial. Protocols like The Graph offer RESTful and GraphQL APIs, while data providers like Pinax provide accessible HTTP and WebSocket APIs. These APIs abstract away the complexity of directly interacting with blockchain nodes.

In the web3 realm, developers typically blend traditional and decentralized tech. On the backend, databases like PostgreSQL and MongoDB are staples for storing complex, bulky off-chain data. These components interface with the blockchain via purpose-built libraries, ensuring efficient communication between decentralized and centralized systems.

Serverless cloud computing platforms like AWS Lambda and Google Cloud Functions offer scalable infrastructure options for running backend code and managing off-chain storage. By combining this backend with containerization technologies such as Docker and Kubernetes, developers can deploy and manage complex hybrid applications across diverse environments.

Coming into the space as a web developer, I found that… most of my existing web dev skills were applicable to the work I was doing. Since web3 is the next evolution of Web 2.0, I feel like almost any developer from any background could find a place for themselves in the web3 space since many of the same technologies are used in both spaces.”

Samuel Papineau, Full-stack developer at Pinax

New concepts in web3

While decentralized applications (dApps) share the concepts of UI, APIs, and backend, they have another layer behind the backend: the blockchain smart contracts that make up the web3 layer.

A blockchain is an unchangeable record of every computing operation that paid a transaction fee and was included in a block, replicated across hundreds of different machines across the network.

Blockchains charge fees to help node operators cover the cost of replicating data across many nodes. Most developers only push the most important transactions on-chain to minimize the costs associated with these fees.

Builders are willing to pay these fees to leverage the advantages of smart contracts, such as native e-commerce and user accounts.

On a blockchain, users own their wallets and the assets they contain. As a result, developers can immediately and seamlessly offer a fully immersive account and e-commerce experience. Because users own their assets, they can trade blockchain assets on secondary markets and even create financial instruments with decentralized finance, or DeFi.

Tokenization

These benefits are enabled largely through tokenization, or the distribution of blockchain tokens. Tokenization is one of the primary use cases for a blockchain system.

Distributed ledger tokens are, like tokens at the arcade, representations of value used within the system for some purpose. Users can mathematically prove ownership of these tokens directly within the relevant blockchain system.

For example, the Bitcoin network issues Bitcoin tokens and accepts Bitcoin as payment for transaction fees on the network. Likewise, Ether is the native token on the Ethereum network and is used to pay “gas” fees for publishing or interacting with smart contracts on the network.

Developers continue to create new tokenization mechanisms, from utility tokens to Non-Fungible Tokens (NFTs) and Soulbound Tokens (SBTs), each serving a different purpose within the ecosystem.

  • NFTs are uniquely identifiable tokens that cannot be split into smaller pieces. NFTs are like collector’s items, each unique or limited in number, and industries using the technology range from art to gaming.
  • SBTs are special untradeable NFTs. This technology is well-suited for achievement badges, proof of attendance, proof of participation, and many similar use cases.

New token standards are proposed regularly, from semi-fungible tokens to NFT liens and more.

Tokenomics

When developers embrace tokenization in their applications, a new design space opens. Instead of just thinking about how users will interact with the UI, developers must also consider how users will interact with the app’s internal economy, as well as the macroeconomy outside of it.

Through tokenization, developers can use incentives and disincentives to guide their users’ behavior. Incentives are rewards given to users who perform a particular action. Disincentives are penalties imposed on users who act undesirably.

Developers should carefully consider tokenomics to avoid unintended incentivization and negative externalities. These accidental incentive structures represent holes in the economic logic of the system, and some users will inevitably exploit them.

Tokenization also opens the DeFi space, which includes a broad range of applications offering decentralized asset trading, loans, and other financial services. With DeFi, users can trade their assets, swap assets without order books, use their assets to generate collateralized loans and derivatives, and use many other complex financial tools that require only on-chain data. As smart contracts on a public network, the tools are usually permissionless and largely uncensorable.

Accessing blockchain data

To use blockchain data in an application, a developer needs to access that data. The primary method for interacting with blockchain data is through Remote Procedure Call (RPC). Platforms like Pinax simplify this process by providing scalable, managed RPC endpoints to various blockchains, eliminating the need for developers to run nodes.

For more decentralized access, advanced data indexing and querying services like The Graph employ technologies like Firehose and Substreams to provide efficient, real-time access to blockchain data through well-defined APIs.

Decentralized storage technologies like IPFS complement traditional databases for off-chain storage. Centralized databases continue to be useful for non-sensitive, mutable data requiring fast access. Decentralized stores preserve data integrity and availability without a central point of failure. Using both, developers can leverage the strengths of both centralized and decentralized systems, ensuring applications are efficient without sacrificing trustlessness.

In addition, oracles fetch information from outside of a blockchain, enabling applications to react to external events. Oracles are trusted intermediaries that fetch and verify external data (such as data from other blockchains, token prices, or real-world events) and relay it to the blockchain. Oracles allow smart contracts to execute based on conditions met outside of the blockchain environment. Integrating off-chain data with on-chain logic opens new possibilities for dynamic and responsive decentralized applications.

The toughest challenge I encountered was definitely the learning curve. Before I started working at Pinax, I knew very little about how blockchains actually worked behind the scenes, so I had a lot to learn. Even today I’m still learning new things in the web3 space, and I don’t feel like that will slow down anytime soon. I think that’s also what makes web3 solutions such an attractive thing to work on as a developer. Because it’s a rapidly growing space, there’s always things to read, code to experiment with—it’s a fantastic space for innovation.”

Samuel Papineau, Full-stack developer at Pinax

Common pitfalls in web3 development

Developers new to web3 should be wary of several common mistakes.

  • Keep it simple. Decentralized applications are complex systems that are likely to behave unexpectedly as more complexity is added to them. In addition, tooling for web3 can be hard to understand, so keeping user interactions simple is essential for retention.
  • Testing and smart contract audits are essential. Deploying directly to a public network without thorough testing on a testnet can lead to irreversible errors and financial losses.
  • Similarly, private keys and credentials must be managed effectively due to irreversible transactions.
  • Incorporate logic to handle blockchain forks, which occur when different validators in a network have a different version of the ledger. The network eventually resolves these forks.
  • Neglecting gas fee optimizations is a common misstep in smart contract development. Inefficient code leads to prohibitively high transaction costs for users and low usage.

Important considerations for public networks

Engaging with public blockchain networks requires unique considerations that novices may not know.

  • Blockchains are public and transparent, demanding a heightened awareness of privacy considerations. Applications should not store sensitive data directly on-chain without encryption.
  • Be mindful when deploying smart contracts on public networks, where once deployed, the code is immutable, and without preventive measures like upgradeable contracts, any flaws will be permanent.
  • Builders must be aware of legal considerations when creating tokens. The dynamic regulatory environment surrounding cryptocurrencies and digital assets requires continuous monitoring and expert help to ensure compliance and avoid legal pitfalls.

Build the future of the internet

Building on web3 allows developers to create powerful applications with immediate access to payment rails, user accounts, business logic, and all of the data ever stored on the blockchain. By leveraging existing skills and embracing new concepts, developers can superpower their solutions by harnessing web3’s decentralization and incentivization.

Blockchains offer platforms for powerful, unstoppable applications. But with that great power comes the responsibility to use it wisely. Even experienced developers are bound to encounter unique design and implementation challenges building on web3. But with careful planning and execution, competent teams can overcome these hurdles to help change the face of the internet.

💡 This article answers questions like:
- What developer skills are needed to transition from Web 2.0 to web3?
- What are some common pitfalls of web3 development?
- How do developers access blockchain data?

Author

Hi, I'm Andrew. After spending the first decade of my adult life as a music entrepreneur, and then stumbling into a blockchain obsession in 2017, I am now a technical writer and product owner with a commitment to facilitating builders and realizing the potential of decentralized money and power. My vision for the future is that all industries will encapsulate the business logic and value streams of their respective products into automated contracts that adequately reward each participant based on the value they create. These contracts are published open-source, and anybody who thinks value should be rewarded differently can publish their own version and compete in the marketplace based on the results of their theory of value and the behavior it incentivizes. Decentralized organizations will compete on which supply chain participants are most rewarded, what governance structure the organization uses, whether to offer voting rights for tokenized customer rewards, and so much more. It all stems from the central theme of blockchain: Money is power. We can now create our own money. We can now create our own power. We must use it wisely.

2 Comments

  1. PaulieB says:

    Great information here. I hope this helps many make the leap over to web3.

  2. louis says:

    Big article, bunch of great resources too. Very nice read! Thanks Andrew!

Leave a comment

Your email address will not be published. Required fields are marked *