Here's my red hot take on this:<p>I started programming in my early teenage years, and befriended a bunch of peers, as well as older folks, that were in the same "hobbyist" group. Yes, it intersected with a lot of other "nerd" circles - but what made the programming circle a bit different from the usual nerdy groups, was how passionate and dedicated coders were.<p>Lots of people made it their identity to be a computer guy, hacker, software developer, etc. and a solid share of them were pretty much hermits in real life - keeping to themselves 24/7, and just communicating with others over IRC or similar.<p>Then when these folks entered college/workforce/etc. they already had numerous years of experience, and had tied up those formative years with their self-worth. Lots of highly opinionated experts, to put it that way.<p>Someone presents an alternative way to do things? Or tries to come with constructive feedback? No, that's just stupid. I've been doing this 12 hours a days since I was 10 years old, have red 100s of books on the topic, have done 100s of open source projects, of course I know the optimal way.<p>My conclusion was that for people like that, the topic of programming is deeply personal. If you abstain from regular social life, "normal" activities and milestones, and put all your money on becoming a rock-star hacker throughout your teens and 20s, I can see why someone is so invested in that idea.<p>Unfortunately, I've worked with a bunch of guys like that. Many were very competent and smart, pushing out good products - but were a nightmare to work with or manage. Too much ego and not enough soft skills.