Skip to content
Preptima

Blockchain and Web3 Engineering

Writing programs that run on a replicated, adversarial, permanently-public machine, and building the ordinary software around them that makes them usable. The engineering is unusually constrained: code is hard to change, every input is hostile, and mistakes are irreversible and public.

Niche demand18 min readSmart contract engineer, Solidity developer, Protocol engineer, Web3 full-stack engineer, Blockchain infrastructure engineer, Smart contract security researcherUpdated 2026-08-10

Assumes you know: One general-purpose programming language you can write without a tutorial open, Enough JavaScript or TypeScript to build a small web client, Comfort with hashing, public-key signatures and what they do and do not prove, A working mental model of concurrency and of why ordering matters

Overview

What this area actually covers

Two things that people bundle into one word and that require different skills.

The first is writing programs for a replicated deterministic machine. A smart contract is code deployed at an address on a public network, where the bytecode is effectively permanent, the storage persists indefinitely, every execution is re-run identically by thousands of independent machines, and every byte of state is visible to everyone forever. Those constraints are the whole discipline. You cannot patch, you cannot log privately, you cannot call an API, you cannot schedule a job, you cannot assume a caller is a human, and every resource you consume is billed to whoever invoked you. Programming under those rules is less like writing a service and more like writing firmware for a device you will never be able to recall — except that the device is also holding money and anyone in the world may prod it.

The second is the ordinary software that sits around those contracts and makes them usable. Wallets that hold keys and construct transactions. Backends that read chain state through remote procedure calls to nodes they do not operate. Indexers that turn a stream of events into queryable tables. Storage layers for the files that are too large or too mutable to live on chain. This half is closer to conventional distributed-systems work, with the twist that your database is a global replicated log operated by strangers, its view of the present is provisional, and the writes cost money and cannot be rolled back.

It is worth naming what gets wrongly bundled in. Trading strategy and market-making are finance, not blockchain engineering, even though they employ a lot of blockchain engineers. Cryptography research is a separate field, and almost nobody in this area implements a primitive; they use signature verification and hashing as given. Consensus protocol development — writing the client software itself — is a small, specialised world of a few hundred people, and it is not what the job description usually means. And token economics, the design of incentives and supply schedules, is a discipline of its own that engineers are frequently asked to opine on and rarely trained in.

The honest boundary of the area is this: everything from "how do I keep this contract from being drained" up to "how does my web application read chain state reliably", and nothing above or below it.

Where to go next

Now practise it

6 interview questions in Blockchain & Web3, each with the rubric the interviewer is scoring against.

All Blockchain questions
blockchainsolidityevmweb3smart-contract-securitydecentralised-storage