Three-Types-of-Software-Developers