12 Things Every Programmer Should Know