Hacking on code and culture: Failure as validated learning