I have to much work to do! See, how many bugs I have to fix! What do I get from writing all these down, nobody will read that! Testing is stupid, I will be the only one doing it , everyone else doesn't do it!
Oh , how many such sentences I've heard from everyone I talked to. And the energy I spent correcting each and different attitude. Ah! And then to see them fall back to their evil no engineering ways, practically makes me wonder why do I try.
OK, I try , because I really want to teach others what I know and think that should be a practice for all experienced developers, only this way our profession will grow and evolve. I do not gain anything by not sharing and teaching others.
What are the benefits of sharing (for example with your team mates):
- You can shuffle boring and uninteresting work to them, while you focus on more challenging stuff
- You can discuss problems with someone who understands the topic , and possibly made some learning on their own
- You learn by teaching
- People around you will write code with greater quality
Teaching others , or sharing knowledge , has its drawbacks :
- Time spent teaching others is not time spent on improving you
- Teaching others (in my experience) often diminishes your knowledge in the eyes of others , since for them is so easily gained
- Teaching is a strenuous and continuous process with unknown results (if you want to see big bangs for you bucks quickly, better be ready for disappointment)
And the greatest truth of all: you can't force people to really learn and implement that they are not interested in. Especially if you do not a rifle on their heads.