A software developer's guide to diving into the rabbit hole.