What is it that makes a programmer like programming? It takes a specific mindset to be into programming, dealing with “ones and zeroes” all day long, and it is a small minority of people that would even consider getting into this field.
You would need a talent and liking for a kind of miniature problem solving, keeping track of where to put the periods, exclamation marks, ampersands and colons and then debugging if it doesn’t work out right. Believe it or not many of the normal symbols you use when you type normal text is used in programming; only in programming, if you put one of them in the wrong place when you write a line of code it stops working.
So where does this “basement dwelling, pizza-eating, Red Bull-drinking, neckbeard, CRT monitor wielding sociopath that decided programming was, well, actually sort of cool” – picture of a programmer come from? There is probably some truth to this skewed picture, mainly because of a programming passion but also that you in fact do your best programming when undisturbed for longer periods of time due to the sometimes extremely long train of thoughts found in programming that if you leave those thoughts incomplete in the code you need to spend a lot of time getting back to where you were.
Because of this one more qualifying attribute of a good programmer becomes a skill to get out of his basement to work well with others to get the product marketable. Rare is the programmer that can take self-created software and then succeed himself in marketing this same software to sell efficiently in quantity. Marketing actually has its own very broad but specific field of technology that you don’t just know but will have to learn and that is why there are specialists in this field too.