If you aim to simply write better software, check out The Pragmatic Programmer. Design-by-contract changed how I approach the act of writing software.