Select your current position
Pick a role and level — we'll show the growth path, skills and gap analysis.
Development path
Junior
0-2 years
Responsibility: Completing tasks under the guidance of senior colleagues. Learning the codebase, standards, and team processes. Writing code to spec, fixing simple bugs, writing tests.
Key skills:
Middle
2-5 years
Responsibility: Independently developing features from decomposition to deployment. Participating in code review. Optimizing performance. Mentoring junior developers. Taking part in architecture discussions.
Key skills:
Senior
5-8 years
Responsibility: Designing the architecture of components and services. Solving complex technical problems. Managing technical debt. Code review as a quality gatekeeper. Mentoring middle developers. Choosing technologies for new tasks.
Key skills:
Lead / Staff
7-12 years
Responsibility: Technical leadership of a team or area. Designing system architecture. Coordinating with other teams. Establishing standards and best practices. Participating in hiring. Planning the technical roadmap.
Key skills:
Principal
10+ years
Responsibility: Technical strategy at the company or domain level. Cross-organizational influence. Solving systemic business problems through technology. Mentoring lead engineers. Publicly representing the company.
Key skills:
Gap analysis: skills to develop
To reach the next level you'll need to develop:
Independently develops with Blockchain Fundamentals in Hardhat/Foundry. Conducts basic audits. Optimizes gas.
Independently develops with Blockchain Indexing in Hardhat/Foundry. Conducts basic audits. Optimizes gas.
Analyzes trade-offs of various consensus algorithms: finality time, throughput, decentralization. Configures and monitors validators in production networks. Understands slashing conditions and validator economics.
Independently develops with Cross-Chain Bridges in Hardhat/Foundry. Conducts basic audits. Optimizes gas.
Implements integration with cross-chain messaging protocols: configures endpoints, handles retry logic and failed messages. Tests bridge token transfers with lock/mint mechanism.
Develops full-featured dApps with transaction signing, event listening, and optimistic UI. Integrates ENS, IPFS metadata, and The Graph subgraph for data indexing.
Integrates DeFi protocols into blockchain infrastructure: event indexing, price feed aggregation, liquidity monitoring. Implements backend for DeFi position monitoring and health factors.
Independently develops with Ethereum Ecosystem in Hardhat/Foundry. Conducts basic audits. Optimizes gas.
Independently develops with IPFS and Decentralized Storage in Hardhat/Foundry. Conducts basic audits. Optimizes gas.
Configures and operates L2 nodes in production. Implements cross-layer messaging infrastructure (L1<->L2). Understands fraud proofs, validity proofs, and sequencer architecture.
Develops blockchain node components in Rust: P2P networking, storage layer, transaction processing. Uses async/await with tokio for concurrent operations. Uses unsafe only with justification.
Writes integration and fork tests for contract interaction with DeFi protocols. Uses Foundry fuzz testing to find edge cases. Tests upgrade paths and cross-contract calls.
Develops production contracts with OpenZeppelin: AccessControl, Pausable, ReentrancyGuard. Optimizes gas via packed storage and calldata. Achieves 90%+ test coverage.
Writes parameterized and property-based tests for blockchain components. Tests edge cases: large blocks, malformed transactions, concurrent access. Coverage 90%+.
Develops SDK and library wrappers for blockchain infrastructure. Implements batched RPC calls, event subscription, retry logic. Supports multiple provider backends.
Implements ZKP components for blockchain infrastructure: proof generation, verification pipeline, witness generation. Works with Circom, Halo2, or Noir for ZK-circuit creation.
Configures and operates zk-rollup nodes. Implements proving infrastructure integration. Understands EVM compatibility differences: type 1-4 zkEVM. Monitors proof generation and submission.
Conducts security review of contracts before deployment: analyzes access control, economic attacks, oracle manipulation. Uses Mythril, Slither, and Aderyn for automated analysis.
Implements various Merkle tree types for blockchain: Patricia Merkle Trie for state storage, sparse Merkle tree for membership proofs. Optimizes proof generation and verification.
Models economic parameters of blockchain protocols: emission schedule, staking rewards, fee distribution. Analyzes game-theoretic incentives for network participants and their impact on security.
Operates blockchain nodes in production: configures monitoring (Prometheus/Grafana), alerting, automated restarts. Optimizes performance: disk I/O, memory, network bandwidth.
Develops infrastructure supporting multiple smart contract platforms: unified deployment scripts, multi-platform testing, abstraction layer over different VMs.
Applies Merkle proofs for blockchain data verification. Implements commitment schemes and VRF for on-chain randomness. Integrates BLS signatures for aggregation in validator networks.
Independently develops with Applied Cryptography in Hardhat/Foundry. Conducts basic audits. Optimizes gas.
Implements distributed system components for blockchain: peer discovery, gossip protocols, state synchronization. Configures P2P networking via libp2p and handles network partitions.
Implements infrastructure support for extended token standards: ERC-4626 vault tracking, ERC-2981 royalties, wrapped tokens. Configures monitoring and alerting for token operations.
Applies clean code practices in infrastructure development: separating network, consensus, and storage layers. Refactors legacy code while maintaining backward compatibility of protocols.