Here‘s a book about programming on Unix and Linux. This has some very handy tips for programming anything and designing things in general. In all honesty I haven’t finished the whole thing yet (it’s pretty long); however it still has some useful info.