The pragmatic programmers

Series by Michael T. Nygard