There are many things that can negatively affect us from being productive and creative. One of them is the constant attempt to withhold information and knowledge. Constantly being worried about the secrets you believe you need to guard, thinking of ways to keep your secrets from being out in the open, strenuously trying to avoid others from getting hold of your “secrets”…a mind working on such things can rarely or almost never think of or work on creative ideas and problems. This mindset is bad and simply doesn’t work well. It didn’t work well for Gollum as well if you can remember, did it?!
Knowledge is power. In the course of our development experience, we would have learnt a lot (I suppose!). We would have come up with many tips and tricks to do things faster, in a better way. For example, you might have automated your routine tasks of opening your applications sequentially, because you would open them more or less the same way every single day when you come in to work. You might have automated the way you build your source code and handle the server start-up. Or you might have faced some problem and would have come up with a solution, which could be very helpful for everyone in your team. It could be anything. But each one of us mostly does come up with something or the other that can definitely be helpful to more than one person…other than you. If it’s going to help other people, then why would you want to hide it?
Many people try to guard information so obsessively that it’s almost sickening to everyone working with them. Such people hide information as if they sharing it with others would have had them thrown to prison! Unless you really, truly have some highly classified or sensitive information or the like, which you are legally not allowed sharing, what value would you probably gain by hiding information and knowledge? It does not benefit anyone…wait a minute, it does not benefit you too! How? If you are the holder of important information, would it not enhance your position in your community? Would you not be seen as someone sought after?
Well, firstly, people who hide information that can help others are simply hated. Trust me. You have information. People can save time, energy, frustration and also maybe money, with the information that you have and you do not share. They end up having to go through all the same trouble. If this is you, then good luck trying to find anyone who would like to work with you. So the damage done to your image is very bad. Secondly, your mind would be trained to try and “safe guard” knowledge. So your mind would be more or less like a closed cage. So you would be certainly less receptive to new knowledge and more learning. A closed mind can only think of safeguarding what it believes it has within. Learning will drastically come down. Even if you do learn, you would do it to try and become better than others. You will certainly fail to get a lot deeper into the subject and learn it the way it has to be learnt. I have seen this happen to a few developers, including myself for sometime a few years ago! Moreover, if you are irreplaceable, you will never be promoted!
Dave discusses this point in a pretty neat way in his post about the 7 habits of highly dysfunctional enterprise developers:
There is no point in holding on to useful information that could make others better developers. That is, unless you’re trying to stay in the same job forever. Ask yourself, who do you want to work with on your next job? The person who helped you write that complex algorithm on their lunch break, or the guy who hissed at you when you walked into his cube: “Mine! Stay away, filthy Hobbitses”.
This ideal of sharing knowledge and information is the very essence of the Open Source world. There are too many wonderful problems that are waiting to be solved in this world and it’s a real pity if people will have to end up re-inventing the wheel again and again. You don’t want to end up having to re-invent the keyboard, for example…you simply have to use it and do something more useful!
Not only do you get accepted as a better person when you share information, it will also help build a more collaborative and cohesive working team. People interacting very well with each other deliver projects with much higher quality and less stress levels. You face a problem, spend many hours trying to resolve it, and then you do resolve it. After sometime you get to know that your colleague had also faced the same problem yesterday but he deliberately did not share this with the team and kept the solution to himself…Myyy Preh-sshhusss…!. Wouldn’t you hate to work with such a person? Think of the amount of productive time lost. This kind of mentality affects the project also in the long run with such productive hours being wasted. That’s a bigger problem…for no good reason.
This is one of the reasons why Hackers simply love Open Source software. Among the Hacker community, it would be considered almost a sin to NOT share knowledge. Richard Stallman gives a wonderful analogy in the video “The Code”:
Development is very much like cooking. It’s a way to accomplish something. You come up with a recipe, you like the taste and then you share it with your friends. Your friends like it too. Some may even make the taste better by making some small changes to the recipe. They share it with you and everyone enjoys the whole process and the great taste. This process just keeps getting better. Now imagine if someone went to great lengths to ensure that if you shared something with anyone, you would be called a traitor and would be thrown into prison for many years. It’s the same with code.
It makes a lot of sense doesn’t it? Now let me give you another analogy. Suppose you had been to a new, distant place for some purpose, either personal or business. You face many hurdles when you were there, there were many experiences that you would have had, positive and negative. You come back home. Now let’s say your colleague is getting ready to go to that same place shortly. Imagine how much immensely it would help him/her if they got to know beforehand what to lookout for, what to expect, what were the bad things and what were the good things that you knew should not be missed in that place. Yes? It would make his trip a lot smoother and enjoyable. What would YOU get by making his trip a lot better? The good will of your colleague and the rapport this would help you build up in your workplace. The respect you gain when people look at you as someone who truly helps them is immense.
Every problem has to be solved once and only once. So the solutions simply have to be shared! Sharing information and knowledge is a great way to nurture a great, collaborative and productive work environment. You will learn more. You will grow faster. You will gain a lot more in the end. You share with people and everyone will share with you wholeheartedly, and in the process you will end up learning a lot more than you would’ve learned in isolation.
You can become truly great by genuinely helping people. As you sow…so shall you reap…simple law of nature