I am searching for the best way to get people involved internally at a company. This company has tons of knowledge(from C#, Ruby, Mobile Dev, Windows Linux, Java, everything), with the problem being it is silo'ed in various peoples heads.

How do you go about creating a culture that allows for their intelligence to spread? We have tried wikis, we have tried Jive SBS (which gave us blogging) and its still seems that the community isn't building.

It would be ideal to have both Blogging (information sharing) as well as some type of source control system that contains code examples, that would help facilitate internal people moving to new technologies.

8 accepted

Just some humble tought:

  • Give people 20% of their working time free to work/investigate/discover something FOR the company. It doesn't matter which technology they will use. Ask them for a deadline where they will present their work to you and other managers (I mean people that decide things in your company).
  • Reward them giving responsibility for their projects and maintaining this responsibility after they achieve a good result.
  • Reward them in front of your customers publicly.
  • Reward them asking for new strategies in future project you'll start.

This wouldn't solve your communication problem, of course, but will be a good tool to filter people who still wants to achieve,improve,build... Share and grow!

If there is a RubyConf, JavaConf, whatheverConf they like to participate, send them there (with your funds) and ask them to bring a collegue (more inexperienced) with them. If your company can, organize or participate in arranging one of those conferences, in your town.

Promote internal training courses on modern technologies, with small classes, if possible.

I read about Philip Greenspun creating small groups of consultants and sending them directly to the customers making them responsible for handling customer relationships, deadlines, needs avoiding any "I sell, I promise, You build" sales force layer in the middle.

Seth Godin talks about "linchpins" as people who can manage himself and lead in a company. I'm sure your company has some of them. The point is to have them emerge, giving them a reward for this coming out.

About the tool, although It could seem generic and subjective, Let them choose their tools.

It could sound crazy, but I'm not the only one thinking this way :)

By the way this is what happen sometimes...

alt text


Out of the things I tried I think the more successful was reserving some slot every week for someone to do a presentation on something interesting in his expertise area.

The side effects ends up to be more important than the presentation subject itself.

It will get people in a room, talking about technology, and how to apply it in the company.


Deploying a collaborative tool or site to get people to share knowledge is actually only a small part of the battle. At the heart of this, this is a people problem. Depending on the situation, a number of things could be blocking progress. A few things that you can do to help the process along are:

  • Provide Time: People need the time to in order to teach others what they know. If your heads down at work, do you really have time to be typing up hows-tos or attend training sessions?
  • Foster Commitment: People need to know this is important and be encouraged to share their knowledge with their coworkers, especially if this is extra-circular work. Also, follow up and see how the process is going with the people. If management wants people to buy into putting knowledge into a wiki, see how they are doing as time progresses and work with them to bring this about. Always participate yourself, otherwise people will loose faith in the effort. If people aren't committed to sharing their knowledge with their pears, they won't.
  • Dispel Fear: People can sometimes try to steak out fiefdoms cause they're afraid of being replaced. Encourage people to learn new things cause it helps advance them and their career.
  • Give Opportunities: Give people a chance to use what they've learned. People learn by repetition, and if they get a chance to use what they've learned, they'll get more out of the process. No matter how good a training program is, if people don't get to use those skills, they'll learn a lot less than if they do get a chance to use the skills and technologies discussed. Large companies like Microsoft often encourage people to change teams and move around the company so they can learn new things and avoid getting into ruts.
  • Keep Things Fresh: Encourage people to keep the information they've put out for others up to date, and to always add new things. This is a dynamic process and information should be continuously put out for others to review.
  • Connect People: Based on the size of company you've mentioned, people may not be familiar with the various parts of the company. Connect people from different backgrounds in the company so they can be exposed to new ideas.

If people are actively working together, they can learn from each other. Do your best to bring them together. Provide the right motivations and people will get on board. Your looking to change the culture of your company, tools are only part of the equation.

Management has to be invested in this culture change, and has to be willing to dedicate the time and resources to see it happen. You want to encourage people to go beyond their normal day to day way of doing things, and start making new connections within the company itself. As you've mentioned, a lot of this has to be online and your companies size may be one of the problems here. Actively disseminate information, and let people spend the time to review it. It won't happen overnight, so be patient and persistent. Don't get discouraged.


Forget all the technology solutions, as this is not a technological problem. As some people have pointed out, this a cultural and human problem.

  1. First, make sure people share the value you are talking about. Both the leadership and people on the street need to be committed and talk about it. If there is too much resistance, it just won't work. If you have hold-outs, work on selling them on the idea, and if this doesn't work, you may have to make some hard choices.
  2. Create opportunities for people to share publicly within the company. With technical staff this is usually best done with "brown bags" or design reviews or code reviews or book clubs.
  3. Make a place for people who are more comfortable one-on-one. I am a big believer in pair programmer to spread this type of knowledge. Consider mentoring relationships or something more formal than pairing if people want that.
  4. Rotate people around between different teams and roles to help them learn new things. This is best when coupled with some sort of training (or pairing).

With a larger or more transient team, you may need your focus on a documentation. Apparently people won't do this voluntarily. (Maybe they are busy with other stuff?) If this is the case, you may need to put down specific goals for people. For example, management could ask for a weekly technical presentation accompanied by a blog post, and people could be evaluated on this.


Why is it important for you to get documentation of knowledge sharing?

If you want knowledge sharing, remove the barriers that keep it from happening now.

Not sure what those barriers are? Ask the staff that sees value in keeping knowledge silo'ed. When that staff sees value in sharing knowledge, they will. When they see reasons to keep knowledge to themselves, they will.

If you want to change someone else's behavior, you need to understand it and then work with them on it towards a common goal. Why should they work on something important to you that doesn't benefit them?



The task is to encourage people to ASK and RESPOND to specific qestions . Nothing is more motivating than a current need for knowledge.

Have everyone up on Skype. If it takes more then a few minutes to find an answer to a question, then skype it to the group.

The easy questions are quickly answered, the tough questions get a thorough discussion.

Moderate the conversations to make sure the alpha doesn't take over or completely bulldoze the other participants. A deliberate conversation is as much the goal as the answer.


It can be useful to have domain experts present short "brown bag" talks on their particular area of expertise - this works especially well when it relates to a project currently being developed at your company. You can use this to drive participation in tech specific mailing lists (provided there's a large enough pool of knowledge for specific areas).

The reason I say specific is that I think a general "tech" email group will get less participation than specific java/c#/etc groups as the experts are less likely to read messages they can contribute to. Think about using the tags on this site to find questions that are relevant rather than reading everything...


Take a look at yammer. It's like a private twitter for your company. You create an account with your corporate email, and your profile & status updates are only visible to others with the same domain in their email.

Encourage folks to post 1-liners about what they're working on, what they're learning, just funny stuff, whatever. It helps your colleagues at least get a better feel for what other people know and can do. It's worked out pretty well for us.


My first recommendation would be to read Clay Shirky's Here Comes Everybody which explains how and why groups form and why the tools provided by the internet can reduce or eliminate the barriers that traditionally have been present.

Then I would recommend reading some books about how and why open source projects work - I like the Cathedral and the Bazaar.

Then I would recommend reading Drive by Dan Pink which explains three key factors (Autonomy, Mastery and Purpose) that motivate knowledge workers to do things.

Armed with those, you will have a better idea understanding of the obstacles that are preventing greater collaboration and knowledge sharing in your organisation. Although you may see sharing information internally as advantageous there is the real possibility that the company's culture and compensation structure means that there are very strong incentives not to do so.