Why Programmers Choose Complex Over Simple Code