Be technically agnostic

I don't got no type - Rae Sremmurd

I have a friend, whenever you ask him what kind of girls he is into, he always replies "I like beautiful". He always refuses to give the conventional answer of Black, white, tall or short etc. He says what looks beautiful to him keeps changing over time, so he has no type. People always love to categorize things and sometimes even join camps. Back in the day I used to be an Apple fan boy. Apple could do no wrong and every wrong they did I had a justifiable reason how they were being misunderstood. I was not the only one who was in that camp and we just fed off each other to no consequence. Now I could not be farther away from that mentality. I still like Apple products and I still buy Apple products but I will switch in a second (and I have) if there is a better counterpart to an Apple product because at the end of the day, you buy things to get the best bang for your buck right?

Joining camps is something engrained in the computer programming culture. A lot programmers choose languages for one reason or the other when they start out, which they then master and find frameworks that fit their philosophy. This is great and in many ways has pushed computer programming further than it could have ever gotten because of the communities that have formed around various languages and tools. But it also has its negative aspects when people refuse to diversify. For some reason people falsely believe one language is superior to another and people start calling each other names when their choices of framework or language are questioned and then flame wars start. Ten comments deep you start thinking you are watching an episode of Real Housewives of Atlanta. That is if you have not joined the shit show in the name of just adding your own 2 Cents.

What is your objective?

That has been my mantra for a couple years now. I ask myself that whenever something looks complicated or I am trying to solve a problem. What lots of programmers forget is that you do not program because you wanna chat with your computer. You program because you are solving a problem. As long as a language is Turin complete, anything you can create in one language you can in another. Although over time certain languages are better known for solving certain types of problems, this is because of the way they were designed, or the libraries that have come up from the communities around that language. In asking myself what I am trying to achieve I do my research and decide on a weapon of choice. Sometimes I am a master of that weapon and sometimes I dont even know how to grip the weapon. Staying agnostic in the software game will keep you fresh and out of the clearance aisle when time for hiring and firing. The landscape is always changing and similar to Rae Sremmurd and and my friend, I have no allegiance to any tool. It is never a bad idea to diversify your portfolio of knowledge. Do not become a one trick pony!