Top 10 Things Software Developers Can Learn from Martial Arts