Yes, there are many people who blog and otherwise publicly discuss development methodologies and what they’re working on, but there are even more people who don’t. Blogging takes time, for example, and not everyone enjoys it. Other people are working on commercial products and can’t divulge the inner workings of their code.
That we’re unable to learn from the silent majority of experts casts an unusual light upon online discussions. Just because looking down your nose at C++ or Perl is the popular opinion doesn’t mean that those languages aren’t being used by very smart folks to build amazing, finely crafted software. An appealing theory that gets frantically upvoted may have well-understood but non-obvious drawbacks. All we’re seeing is an intersection of the people working on interesting things and who like to write about it–and that’s not the whole story.
Link to article: http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
Producing beautiful software is not a goal. Solving complex technical problems is not a goal. Writing bug-free code is not a goal. Using sexy programming languages is not a goal. Add revenue. Reduce costs. Those are your only goals.
Don’t call yourself a programmer: “Programmer’ sounds like ‘anomalously high-cost peon who types some mumbo-jumbo into some other mumbo-jumbo.’ If you call yourself a programmer, someone is already working on a way to get you fired.
Co-workers and bosses are not usually your friends: You will spend a lot of time with co-workers. You may eventually become close friends with some of them, but in general, you will move on in three years and aside from maintaining cordial relations you will not go out of your way to invite them over to dinner. They will treat you in exactly the same way. You should be a good person to everyone you meet — it is the moral thing to do, and as a side note will really help your networking — but do not be under the delusion that everyone is your friend.