The Collective Conscious of Programmers
I was recently discussing with our newest regular contributor here at Chapter of The Day, Mr. Theodore Clayton, and an interesting topic arose: The collective conscious of all programmers.
To anyone who is not a programmer or programmer adjacent, the name Stack Overflow may not mean anything. However, to those who are aware of Stack Overflow, I’m sure you all know where this is going and why I chose to open this piece with a quote from the Borg.
According to their own definition, “Stack Overflow is the largest, most trusted online community for developers to learn, share their programming knowledge, and build their careers.”
Say that you are a software engineer, like me. Let’s say the software you’re working has a bug in it or there’s been a request to add a certain feature. Maybe the customer wants their button to turn green when clicked or the button keeps turning green when it isn’t supposed to.
The first thing you’ll do is apply any knowledge you personally have. But the minute you run out of hunches, you turn to you’ll good old friend Google and type in your exact question or problem and search for it. Sure enough, someone else has had this same issue before and so you click on the first link.
Google then takes you to the wonderful land of Stack Overflow, where this person who asked their question has the answer to their and your question, as well as explanations of why and how it works. So you take the answer they provide, plug it into your code and everything works. You may need to do some extra tweaking from here, but you better bet that you can find answers on how to do that on Stack Overflow as well.
You see programmers rely heavily on Stack Overflow. This is because individually, we may not know that much. We may have been trained or built very specific applications before, meanwhile we have no training or knowledge in that specific thing we need to do. So we call out to the hive mind of programmers because that may exactly be the very specific training that some other programmer has done and can help us. They will gladly help you too, because they too know that there are things they do not know and will come to rely on others for answers as well. Individually, we are weak and know next to nothing. However, as a cohesive hive mind on Stack Overflow, programmers can solve nearly any problem you could ever imagine and with only minimal information.
Think of the wider implications of this approach. Take for example, the problems many young couples have when they have their first child. There are so many new experiences and things they suddenly have to try and figure out. Sure, they may know the answers to some of them, but they will need help with a bunch of other things. So they contact parenting groups, their parents, and other resources for help. Instead of flailing around in the dark unknown, they reach out to someone who has already done the flailing themselves and knows precisely where the light switch is and how to turn it on.
There are so many things in life that are made harder by not contacting or asking people for insight on matters. I’m not saying you have to have them help or do it for you. After all, that route leads to you not learning anything and imposes on them greatly. Instead, just ask for their expertise and opinions on the matter and go from there. They don’t have to show you how to walk through a live minefield, they just have to give you the map or the things to look out for to know where the mines lie so that you don’t end up having things blow up in your face.
On the flip side, if you see someone struggling with something or someone asks for your expertise, don’t be too harsh and do what you can to help. There is no telling when your positions may be flipped and the last thing you want is to ask for advice from someone who you refused advice previously.