RSS Amplifier

SHARDLAB · Apr 23, 2025

What It Really Means to Be a Blockchain Developer

0
Sign in to vote or save

This page did not load. You can still read it on the original site — the toolbar below keeps your place in the directory.

What blockchain developers really do: insights on smart contracts, wallets, nodes, mainnet and the skills that shape Web3.

🧭 About This Series
As a Tech Lead at ShardLab, I often get asked what it actually means to be a blockchain developer. This post kicks off a new series where I share what I’ve learned from working across different parts of the blockchain stack—mainnets, wallets, smart contracts, DApps, and beyond—along with insights into the roles, skills, and challenges that define blockchain development today.

Subscribe for in-depth interviews with talented builders, code-level examples, and lessons from the field!

👋 How I Got Here

I didn’t fall in love with blockchain because of its philosophy at first. What drew me in was its architecture—the idea of building decentralized systems with new assumptions, new constraints, and new tradeoffs. As an engineer, it was a completely different kind of challenge, and that alone was exciting.

In 2017, I started building blockchain systems—long before I fully understood the broader implications of what I was working on. At the time, I was simply fascinated by the rawness of the ecosystem, the unfamiliar design patterns, and the lack of tooling or documentation. There were almost no tutorials or open-source references—and definitely no ChatGPT to guide you. So I learned the hard way: by building.

It wasn’t until a few years later, around 2020, that things really started to click. I remember looking at something like Uniswap V2 in 2020 and thinking: how is it possible that fewer than ten developers built something moving billions of dollars in value every day? That moment helped me realize blockchain isn’t just a technical innovation—it’s a lens into much bigger and harder questions about governance, economics, politics, incentives, ownership—even art.

What excites me most now is not just the technology, but the opportunity to contribute to systems that are technically demanding and socially meaningful. Blockchain is messy, idealistic, and sometimes contradictory—but that's exactly what makes it worth building.

Over the past 8+ years, I’ve worked on a wide range of systems:

  • Developing a mainnet entirely from scratch (no forks, no SDKs)

  • Operating and maintaining node services

  • Designing and implementing a custom smart contract language

  • Building hot & cold wallet infrastructure (B2B and B2C)

  • Creating and scaling decentralized applications (DApps)

  • (Briefly) auditing smart contracts

"Blockchain development" isn’t one job—it’s an ecosystem of entirely different roles.

Each area demands different skill sets, capabilities, development styles, and even entirely different ways of thinking.

This post offers a personal overview of those areas—what makes them interesting, challenging, and worth exploring if you’re curious about a career in blockchain.

🔍 Overview of Blockchain Development Areas

As the blockchain ecosystem matured, I found myself working across different layers of the stack—not because I set out to do so, but because each phase of the space’s growth brought new technical needs and open questions. And the more I moved between domains, the more I realized how distinct each one really was.

From designing low-level consensus protocols to building UX for everyday users, the skill sets, decision-making logic, and even development cultures differ significantly. Most blockchain developers specialize in one or two of these areas—but understanding the landscape as a whole helps you navigate where your skills might fit and where you might want to go.

Here’s how I personally think about the major domains of blockchain development:


🏗️ 1. Mainnet Development

Mainnet development is perhaps the most foundational and complex area in blockchain engineering. It’s very similar to building a distributed system from the ground up—because that’s essentially what it is. This work typically involves high-performance system programming using languages like Rust, Go, or C++.

At this level, you’re thinking about how to store and retrieve blockchain data efficiently, how nodes communicate and reach consensus quickly, and whether you should design your own virtual machine for executing smart contracts—or adopt an existing one. You’re also often involved in designing the token economy, defining governance mechanisms, and shaping the underlying philosophy and purpose of the chain itself.

💡 Key tradeoffs: decentralization vs. scalability vs. security (a.k.a. the blockchain trilemma). Offering flexibility—such as dynamic validator sets or upgradable modules—can make the protocol more adaptable, but also introduces audit complexity and surface area for bugs.

This domain is filled with low-level concerns and hard tradeoffs. From performance bottlenecks to protocol-level attacks, everything has to be considered. It goes far beyond writing code—it requires thinking about why the chain exists in the first place, what purpose it serves, and what values it needs to uphold.

Fortunately, many components of modern blockchains have become modular. You don’t have to reinvent every piece. Tools like Cosmos SDK, Substrate, or Polygon Edge offer starting points for launching a chain. But if you’re building from scratch—as I did—you quickly realize just how many invisible complexities are involved.

🧠 2. Smart Contract Language & VM Design

This domain sits at the intersection of systems programming, language design, and blockchain execution semantics. It’s one of the most intellectually intense areas I've touched, and something relatively few developers get to experience firsthand.

I worked on an experimental language and virtual machine (VM) as an open-source side project. It wasn’t production-ready, but the experience taught me a lot about how smart contracts actually run at a low level.

When designing a smart contract language or VM, there are several key considerations that shape how it functions and how safely it can be used:

  • Determinism: The same input should always produce the same result. Since smart contracts run independently on every node, there can’t be any variation. No randomness. No calls to current time. No I/O from external systems.

  • Termination: All smart contracts must eventually halt. Infinite loops or non-terminating calls are unacceptable.

  • Sandboxing: The VM must strictly isolate execution—no touching the file system, memory, or network beyond what the protocol permits.

  • Gas Metering: Every operation has a cost, paid by the user. Instruction design must consider not just expressiveness but execution safety and cost-efficiency.

The more flexibility a language allows, the more surface area it introduces for misuse or vulnerabilities. That’s why many blockchains introduce purpose-built domain-specific languages (DSLs) like Move or Cadence, while others constrain general-purpose languages like Solidity.

Building a secure, expressive, and efficient execution layer is as much about the philosophy of contract safety as it is about engineering elegance.

🛰️ 3. Node Service Operation

Node operation isn’t always the most glamorous job in blockchain—but it’s one of the most critical. Without well-run, well-synced nodes, everything else on a chain grinds to a halt.

In some cases, teams operate their own dedicated nodes (e.g. for RPC endpoints, validators, or infrastructure services). In others, specialized providers like QuickNode or Alchemy offer scalable node access behind unified APIs.

The core challenges often mirror Web2 infrastructure engineering—but with blockchain-specific constraints:

  • Consistency: Because blockchains are constantly growing, different nodes may be a few blocks apart. This can cause inconsistent read results if traffic isn’t routed carefully.

  • High-load behavior: Some RPC calls (e.g. eth_call, balance queries) dominate traffic and need caching, rate-limiting, and sometimes precomputed responses.

  • Archive data: Serving historical state at any block height (i.e. archive mode) consumes massive storage and is costly to maintain.

As teams scale, operating dozens or even hundreds of nodes reliably becomes a full-time challenge. Failover strategies, logging and monitoring, traffic shaping, and endpoint optimization all come into play.

The invisible work of node infrastructure is what keeps blockchain apps usable. It’s a thankless, backend-heavy task—but an essential one.

🔐 4. Wallet

This is the area I’ve spent the most time in, and it’s far more nuanced than it may appear on the surface. Wallet development spans deeply technical and user-centric challenges that go well beyond sending and receiving crypto. While MetaMask is often used as a familiar reference point, even it is a complex product under the hood.

When designing a wallet—whether for consumers or institutions—you need to consider areas like:

  • Key Management: Will the wallet be custodial or non-custodial? This decision impacts whether users manage their own keys or if the service secures them via hardware modules, MPC, or other strategies.

  • Signature Schemes & Address Derivation: Each chain uses different cryptographic curves and derivation paths, which affect compatibility and integration.

  • Asset Models: Some blockchains use UTXOs (like Bitcoin), while others use account-based balances (like Ethereum), requiring different syncing and transaction logic.

  • Token Standards: Even within the same ecosystem, standards like ERC-20, ERC-721, and others may have small variations that impact how transactions and balances are handled.

  • User Experience: UX decisions—such as how to handle recovery, transaction previewing, and gas estimation—can deeply affect usability and user trust.

These aren’t just technical details—they shape everything from user onboarding to long-term scalability and security.

Beyond B2C products like MetaMask, there are also enterprise-grade wallet systems—hot, warm, and cold wallets designed for institutions. These systems include policy engines, approval flows, compliance tooling.

In multi-chain environments, another layer of complexity comes from indexing assets, handling network fees in native tokens, and abstracting the different behaviors across chains into a unified experience.

Lately, I’ve been especially excited about Account Abstraction (AA) wallets. These offer programmable account behavior, enabling features like gas sponsorship, social recovery, batched transactions, and session keys. They represent a huge leap forward in UX and security—but also require an entirely new architecture.

What fascinated me most was abstracting all of this complexity into a UX that Web2 users could understand and trust—without hiding the responsibility and security guarantees that make blockchain powerful in the first place.

🌐 5. Decentralized Applications (DApps)

When most people say they want to build something in blockchain, this is usually what they mean. DApps (Decentralized Applications) are products that combine smart contracts, frontend UIs, and indexing layers to deliver blockchain-based functionality to users.

At a high level, DApp development includes:

  • Smart Contracts: Core application logic lives on-chain. This can include DeFi logic, NFT minting, DAOs, and more.

  • Frontend: Typically built in TypeScript and React, it interacts with wallet providers, reads blockchain data, and triggers transactions.

  • Indexers: Since querying on-chain state directly can be slow or limited, DApps often use off-chain indexers like The Graph or custom services to power UIs.

  • Backend / Off-chain Logic: Sometimes needed for things like authentication, metadata handling, or signature aggregation.

Unlike traditional apps, blockchain transactions are irreversible and often carry fees. This introduces new engineering considerations that Web2 developers may not be accustomed to:

  • You optimize not just for speed, but for gas efficiency—even small changes in contract structure can result in significant cost savings.

  • Once deployed, contracts are immutable unless carefully designed with upgradeability in mind—this raises the bar for writing reliable code before launch.

  • Error handling and transaction feedback become crucial, since failed transactions cost users money and can’t be undone.

Even DApp architecture itself has changed the way we model products. For example, Uniswap V2 introduced an AMM model that works without an order book, without a matching engine, and without fiat. That wouldn’t have made sense in a centralized world—but makes perfect sense when trustless settlement is the default.

DApps must provide clear value over Web2 in order to justify the added complexity and cost of using blockchain. While the UX and infrastructure still have a long way to go, progress is accelerating—and we’re already seeing some glimpses of what’s possible.

🕵️ 6. Smart Contract Auditing

This is a domain I’ve only brushed against directly, but I’ve had the chance to watch experienced auditors work and learn from several notable hacks and reviews. It’s one of the most critical—and most unforgiving—areas in blockchain development.

At its core, auditing is about identifying weaknesses before attackers do. But it’s not just about reviewing single contracts. It often involves understanding entire systems of contracts, protocol invariants, and external interactions.

Good auditors need:

  • Deep EVM-level knowledge: From storage slots and delegate calls, to gas mechanics and precompiled contracts.

  • An understanding of common attack vectors: Reentrancy, overflow/underflow, improper access control, faulty logic in upgradability patterns.

  • Cross-contract reasoning: Some bugs only emerge when contracts interact in unexpected ways.

  • Tool fluency: Tools like Slither, MythX, Foundry, or formal verification frameworks can help—but they don’t replace human judgment.

What I learned is that smart contract auditing isn't about confirming that everything works—it's about assuming that someone will try to break it, and figuring out how. You have to adopt an adversarial mindset and actively look for creative ways contracts might be abused. Especially in DeFi, where huge sums of money are on the line, the motivation for attackers is enormous.

Here are just a few high-profile examples that shaped how the industry thinks about auditing:

  • The DAO (2016) — Reentrancy attack that drained ~$60M in ETH and led to Ethereum’s hard fork.

  • Parity (2017) — A bug in a shared multisig contract led to 500K ETH being permanently frozen.

  • Wormhole (2022) — A Solana bridge was exploited for ~$300M after a signature verification bug.

  • Ronin (2022) — Validators were compromised via social engineering, leading to ~$600M in losses.


💼 Industry Role Breakdown

Aside from my own experience, I’ve observed how blockchain developer roles are structured across different teams—startups, protocol foundations, infrastructure providers, and exchanges. The boundaries between roles are often blurry, but there are some broadly recognized categories that help when navigating job descriptions or thinking about career paths.

Smart Contract Engineer

This role is all about writing and maintaining the logic that lives directly on-chain. These engineers work primarily in languages like Solidity, Move, or Rust, and often operate in high-stakes environments like DeFi, NFTs, or DAOs. A strong understanding of smart contract patterns, gas optimization, and security practices—such as guarding against reentrancy or ensuring safe upgradeability—is essential. They collaborate closely with auditors and product teams and often own the testing and deployment pipelines for contract delivery.

Blockchain Protocol Engineer

Protocol engineers focus on the base layer of the blockchain itself. They implement consensus mechanisms, build peer-to-peer networking layers, design transaction propagation rules, and work on the core blockchain clients. Their work involves deep system-level programming, often in Rust, Go, or C++. They typically contribute to Layer 1 or Layer 2 protocols, or ecosystem tools like validators, relayers, and light clients. These engineers think in terms of state transitions, fork choice rules, and performance tradeoffs at the protocol level.

Web3 Frontend/Backend Engineer

This role spans building interfaces and APIs that connect users to smart contracts. On the frontend side, these engineers integrate wallets like MetaMask or WalletConnect, handle transaction flows, and reflect on-chain state in real time. On the backend, they might aggregate indexed blockchain data, manage cache layers, or trigger off-chain processes like queuing or metadata management. Many wallet developers fall into this category as well, since building a wallet often involves combining frontend logic with cryptographic backends.

Infrastructure / DevOps Engineer (Web3 Infra)

Infra engineers handle the operational backbone of blockchain systems. They deploy and monitor RPC nodes, configure archive nodes, set up logs and metrics, and ensure services remain highly available. Their stack usually includes Kubernetes, Docker, Grafana, Prometheus, and cloud providers like AWS or GCP. They may also support developers by maintaining indexers, orchestrating testnets, and managing CI/CD pipelines for protocol or app-level deployments.

Security Engineer / Auditor

Security roles exist both in-house and at specialized firms. These engineers audit smart contracts and blockchain infrastructure, looking for vulnerabilities before attackers do. They read low-level EVM bytecode, fuzz edge cases, simulate exploits, and validate that core protocol invariants hold. Their toolkit may include Slither, Foundry, MythX, or formal verification frameworks. This role requires not only technical depth but also an adversarial mindset and strong understanding of game theory and financial mechanics—especially in the context of DeFi.

These roles often overlap in practice. Smart contract engineers sometimes audit each other’s work; backend engineers often collaborate with infra to tune indexers; and everyone benefits from knowing a little security. Still, these role archetypes provide a useful way to navigate the landscape.

🚀 Final Thoughts: The Road Ahead

“Which part of the blockchain development stack do you want to focus on?”

It’s about building systems that transfer and store value, establish trust without intermediaries, and operate reliably in decentralized environments. Each area demands a different mindset and engineering approach.

It sounds ambitious—and it is. But that’s also what makes this space so intellectually and creatively exciting.

We’re still early in this journey. Despite all the headlines, blockchain hasn’t yet reached the level of mass adoption many of us envision. That’s not because the potential isn’t there—but because there are still so many challenges to solve.

The user experience is often clunky or intimidating. Developer tools are still maturing. Security issues continue to shake trust. And most importantly, many DApps still struggle to deliver clear value beyond what Web2 alternatives already offer. Until blockchain applications can provide a distinctly better or more meaningful experience—whether through ownership, composability, or censorship resistance—most users won’t have a reason to switch.

But that’s also what makes this moment interesting. The space is still being defined, and there’s real opportunity to shape how things evolve. What the ecosystem needs most isn’t just more users—it’s more people willing to build, explore, and contribute in their own way. Whether that’s prototyping new DApps, contributing to infrastructure, improving UX, or writing better docs—there’s no single path, and no permission needed.

If you're reading this and wondering whether there's a place for you: there is.

Whether you're new to Web3 or looking to deepen your expertise, I hope this post gave you a clearer picture of what it means to be a blockchain developer.

In the upcoming posts, I’ll explore each area more deeply—with practical examples, technical insights, and interviews with builders shaping the future.

✨ Stay tuned—and thank you for reading 🙌

If you enjoy the series, feel free to share it and don’t forget to subscribe to Protocol Newsletter for more!

Read on 0xshardlab.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.