(Chandra Sivaraman)

Books:

Introduction to Algorithms

Comprehensive and lucid reference book on data structures, algorithms and concepts such as time complexity every software engineer needs to know.

Structure and Interpretation of Computer Programs

Classic computer science text that has shaped my ideas on abstraction and functional programming, and demystified how interpreters work.

Refactoring

Exhaustive guide to Refactoring patterns that can be applied to improve quality of any project, especially brownfield systems.

Skeptics Guide to the Universe

This is not a software text, but a guide to critical thinking that should be on everyone’s bookshelf.

Podcasts:

Hanselminutes

Scott asks the most probing questions as he surveys the latest software trends.

Corecursive

Incisive guide to software techniques, practices and principles with a computer science orientation.

Programming Throwdown

Overview of contemporary topics in software development accompanied by interesting questions and banter.