The median in SF is much higher than that, and in the peninsula even higher. Also, middle class is all but the 1%. The top 1% is the capitalist class of very good jobs (high finance, specialized doctors, exectives, some lawyers, etc) or people who own a lot of assets instead of working, owning 40% of the wealth in the country and 34% of the income. So yes, programming is a middle class job, though I suppose 'upper-middle class' would suffice as well.