openskills.info
← The sensible career map

Mostly harmless, conspicuously useful

The Hitchhiker's Guide to Becoming a Blockchain Developer

A blockchain developer builds decentralized applications and smart contracts on blockchain platforms, with security as a first-class concern, which is a perfectly reasonable vocation until you remember that immutability is a feature you cannot undo, the smart contract cannot be patched only replaced, gas fees are a unit of regret, and the audit found the bug after the money was already gone. You learn to translate "put it on the chain" into consensus, cryptography, contracts, token standards, indexers, wallets, and a deployment that, unlike every other system you have worked on, cannot be rolled back by anyone you can telephone. The chain is not a database; it is a very large number of nodes that must agree, a ledger whose entries are permanent, and a contract whose every line is a financial commitment measured in units of computation the customer pays for. This guide travels from reading one block to setting on-chain strategy across protocols, with practical stops at fundamentals, contracts, security, tokens, integration, and the recurring discovery that a transaction marked "confirmed" is merely confirmed to be irreversible. The grand objective is a contract that does what it claims for as long as anyone is willing to call it; the daily evidence is usually a testnet deployment that behaves, an audit that finds the reentrancy before the mainnet deployment, and a gas estimate that fails to surprise anyone except the finance team, who have learned not to be surprised by their lack of surprise.

Level 1 · Novice

Read the block before asking the chain to deploy civilisation

You inspect block explorers, read contract source, deploy to a testnet, and run sample transactions, learning how a perfectly polite wallet can spend a small fortune in gas before you finish reading its ABI.

You begin with read-only artifacts: a block explorer's transaction list, contract source on a verified address, a testnet faucet, a wallet balance expressing recent opinions, and a gas tracker. A blockchain is a distributed ledger whose entries are append-only and agreed by consensus; a smart contract is a program deployed to the chain whose functions anyone may call for a fee; gas is the unit of computation the chain prices per operation. You review these with developers, security staff, and an experienced engineer so everyone can trace how input, state, and output connect before anyone signs a transaction whose confirmation is also a permanent record.

Suppose a team wants to record an asset "on the chain." On a testnet with no real value, you read the contract source, estimate the gas for a candidate function, compare deployment costs across two contracts, and note that storage costs apply whenever the contract writes state, which contracts tend to do. You record the estimate, assumptions, and the single line item that exceeds all others. One brisk deployment is an anecdote with good posture, not an architecture; but it prevents the team from commissioning a mainnet contract for a record that runs four calls a year.

Words from the spaceship manual, translated

Blockchain
A distributed, append-only ledger whose entries are agreed by consensus among nodes. Resources on different chains can talk to each other, for a bridge fee, and at a security that suggests they are on speaking terms rather than close friends.
Smart contract
A program deployed to a blockchain, callable by anyone, priced per operation. The chain handles the replication; you handle the consequences of having asked it to hold money it cannot return.
Gas
The measurable increment a chain charges for computation — a unit per operation, a unit per storage byte — and the small print that decides whether "approximately $X" means $X or $X plus a quiet surcharge for optimism during congestion.
Testnet
A parallel chain with no real value, used for deployment and testing. The testnet is welcoming on the way in and commemorative only in the sense that a mainnet mistake cannot be undone here first.