The term is a portmanteau of bro, a short form of brother, and programmer. The typical bro is young, male, white, middle-class and heterosexual. NPR conducted a Twitter survey and decided on four dominant traits of bros: stonerish-ness, dude-liness, preppiness and jockishness. They further stated that the terms didn't imply, for example, that a bro used drugs but that he had a stoner-like or surfer-type element to his persona. Likewise, preppiness may be manifested mainly through wardrobe choices.
On Quora, the question of how a programmer becomes a brogrammer received this response (among others):
"Lots of red meat, push-ups on one hand, while coding on the other, sunglasses at all times, a tan is important, popped collar is a must. It's important that you can squash anyone who might call you 'geek' or 'nerd' and that you can pick up girls, but also equally important that you know the "Star Wars" movies by heart, and understand programming ideas, like recursion and inheritance."
Brogrammer culture is the absorption of that demographic into the software development industry, probably motivated by higher demand for programmers and the higher pay-scale that resulted from that demand, along with the growth in startups.
More problematic elements of brogrammer culture include racism, sexism, misogyny and a general intolerance of diversity. The prevalence of these attitudes tends to discourage women and other people who don't fit the brogrammer model from entering tech careers; it is also often their reason for leaving jobs in the industry.
Archie Prakash discusses the problems of brogrammer culture and how it prevents women and people of color from entering (or staying in) IT: