Here are nice materials to read.
Always ask the right questions, make the proper assumptions, and gather all the information needed to build a system.
- Linux Kernel Development
- Linux Device Driver
- Linux Kernel Internal
- The Linux Kernel Module Programming Guide
- Intrusive linked lists
- CompTIA Network+ Certification All-in-One Exam Guide, Eighth Edition (Exam N10-008) (CompTIA Network + All-In-One Exam Guide) 8th Edition
- Cloudflare learning center
- Head First Design Patterns
- The principle extracted from the book: "Take the parts that vary and encapsulate them, so that later you can alter or extend the parts that vary without affecting those that don't"