Corda
What is Corda?
Corda is a permissioned DLT written in Kotlin and Java. Applications (CorDapps) are built from states (the data on the ledger), contracts (the rules for valid state transitions), and flows (the choreography between nodes that agree on a transaction). The platform is opinionated about privacy: there is no global broadcast, and notaries handle double-spend prevention.
This is a niche, adult specialization, usually picked up by developers already working in finance, trade finance, or enterprise integration. Prerequisites: strong JVM language skills (Kotlin or Java), familiarity with Gradle, comfort with concurrency and message-passing, and at least a working understanding of the business domain you're building for. Public blockchain experience helps less than you'd expect — the mental model is different.
How to Learn Corda
R3's official documentation and the Corda training portal are the only serious starting points; the public ecosystem is small compared to Ethereum or Solana. Work through the sample CorDapps, then build a simple bilateral asset transfer between two nodes before adding a notary, observers, and a third party. Running a local network of three or four nodes is non-negotiable for understanding how flows actually behave.
The hard parts are flow design (especially handling exceptions and node restarts), state evolution and contract upgrades, and integrating with the off-ledger systems where the real business logic often lives. You're making progress when you can model a new business process as states, contracts, and flows on a whiteboard, and reason about which parties see which transactions without checking the docs.