SkillSoftware Engineer (Backend)Blockchain Developer
Library · practice
Automated testing
Write fast unit tests and focused integration tests that catch real bugs, use test doubles for slow dependencies, and read coverage for what it does and does not tell you.
Automated testing appeared in 32% of the Software Engineer job descriptions we read, and it is assumed in almost every code review. The examples use pytest, and the same ideas apply to JUnit, Go's testing package and node:test, which appear on the Java, Go and TypeScript shelves.
Intermediate lessons for Automated testing are being written.
Advanced lessons for Automated testing are being written.
- 1BeginnerA product catalogue API in Go
- 2BeginnerA Rust command-line tool for chain data
- 3BeginnerAn ERC-20 token with a full test suite
- 4BeginnerAn orders REST API with Spring Boot and PostgreSQL
- 5BeginnerBuild a toy blockchain with Merkle proofs
- 6BeginnerContainerise a service and ship it through CI
- 7BeginnerFind and fix vulnerabilities in a small app
- 8BeginnerPut a safety net under legacy code
- 9IntermediateA constant-product AMM in Solidity
- 10IntermediateA fast catalogue with MongoDB and a Redis cache
- 11IntermediateA multi-signature wallet
- 12IntermediateAn escrow contract with disputes and deadlines
- 13IntermediateAn NFT collection with an allowlist mint
- 14IntermediateFind and fix a slow endpoint with measurements
- 15IntermediateReliable order events with Kafka and the outbox pattern
- 16IntermediateSecure an API with tokens, roles and rate limits
- 17AdvancedA field-encryption and secrets service done right
- 18AdvancedA staking rewards contract with fair accounting
- 19AdvancedChange a live database schema with zero downtime
- 20AdvancedOptimise and harden your own contracts