We like to tell ourselves how awesome our jobs are: generally good salaries, decent office conditions, flexible work hours, no dress code, etc.
There's a big "but": SW dev requires a certain mentality to be able to stick at it for a long time, without becoming bored out of your mind or going crazy about all the inefficiencies, dysfunction and utter meaninglessness of it all.