Programming books are a start, but they hardly ever mention stat(), inodes, sockets, named pipes, the fact that kernel calls are extremely slow, deadlocks, data structures…
Well, that just depends on the programming book? If you pick up TLPI it will talk about stat and inodes. Pick up a book on perf, it will talk about syscall overhead, etc