The publishing part of
Microsoft, started in 1984. They actually have quite good books on
Software Engineering - I can especially recommend the books by
Steve Maguire, with second place going to
Steve McConnell. They call the series these are in the "Best Practices" series (and it is a pain to find on their website).
Books in this series include:
- Writing Solid Code, by Steve Maguire - if "invariants" does not immediately ring a bell, this is a must read. Includes a lot of techniques for making sure that you keep bugs out of your code.
- Debugging The Development Process, by Steve Maguire - also a must read. It is a tiny (200 pages), easily read book about how to make software development work - with a lot of concrete advice.
- Code Complete, by Steve McConnell - a good overview of different software engineering theory, so if you've not tracked that field, this is a good place to start. The book is large but easily read - though I think it would have been even easier to read if it had been less wordy, and instead covered more material. Note that there are some errors in the example programs.
- Rapid Development, by Steve McConnell - McConnell's attempt at cloning "Debugging The Development Process" (or at least so it seems). Worth reading, but if you're only going to read one, pick "Debugging The Development Process".
- Dynamic Of Software Development, by Jim McCarty. A case study in how the Visual C(++) team managed to tune their development to do quarterly releases, more or less on the day. Includes a number of interesting observations in team dynamic - worth reading, but not a must-read (though some people disagree with me on this.)
I have no clue how Microsoft Press can have this good books on these topics and Microsoft still release with the software quality they do.