Again this year, I did a couple of talks at Orlando Code Camp, the amazingly awesome free mini-conference that our local user group, ONETUG, has been putting on for a decade now. I am again fascinated by the vibrancy of our community, and all of the people who volunteer their time to share knowledge. It's humbling and amazing. (My decks are on GitHub, by the way. I won't rehash the mentoring and career development stuff here.)
One of the talks that I did was about mentoring developers. It's something I'm passionate about, and I think it solves a problem that keeps getting worse. Our profession doesn't have enough people to do the work, and the experience and skill level in the pool that we do have isn't high enough. And if you dispense with the egos and hyperbole often associated with some segment of developers, you start to see the pattern that our work has more in common with classic trades than it does a truly academic pursuit. In other words, it's more like learning how to be an electrician or carpenter than it is learning to be a doctor. You need experienced people to teach you how to do the work, hands on.
With that in mind, mentoring has to be a part of our daily routine when we're in senior positions and when we're managers (assuming that we're managers who code). I didn't mention this in the talk, but I flatly reject the idea that we don't have time to do this. It's built in to everything we do, whether it's formal code reviews, pairing activities or informal talk about life. You can read all of the blog posts and StackOverflow answers in the world, but unless you have contextual, interactive opportunities with other humans, you won't gain the experience that you need to improve your skills.
That's why it's vitally important to get involved with something like a local code camp or user group. A strong technology market doesn't get strong just by having the right companies move in. It's ultimately composed of people that make work happen. If you're in any career stage where you feel like you have something to share, to pass on your experience, do it. The amount of work there is to do keeps growing, and the number of people who can do it isn't keeping pace. There's no need to protect your knowledge. Share it. Our profession depends on it.