- Concurrency
- Building distributed systems (databases, messaging systems, distributed file systems, etc)
- Low level programming