Concepts, Techniques, and Models of Computer Programming, otherwise called CTM, by Peter van Roy and Seif Haridi is my "one book" for software development, if you need to pick one. What I love about CTM is that it covers a huge range in topics, from programming in the small to in the large, functional programming to object oriented programming, and sequential programming to concurrent programming. Not only does it cover all these topics but, in my opinion, covers each of them sufficiently suc...