To be a software developer requires a higher intellect than the average person, knowledge of multiple programming languages, frameworks, http protocols, databases, etc. Writing code often requires a lot of intellectual effort, as compared to someone in upper management who just answer emails, updates spreadsheets, and makes phone calls all day and makes twice as much money.