DEV Community

TrinhDinhHuy
TrinhDinhHuy

Posted on • Edited on

Improve knowledge sharing in your organization - Part I: Motivation

Photo by Elaine Casap on Unsplash

I mainly worked at consultancy companies throughout my career. We have to work with many projects using various tech stacks.

Sooner or later, everyone would notice the benefits of knowledge sharing between people in the same organization. If the organization is relatively small, it's easy to keep track of what others did. However, if the organization starts to grow big, we soon face some challenges in knowledge sharing.

Note that this is just my very opinionated opinion. Please leave your comments below to let me know the problems you face regarding knowledge sharing and how you would solve them.

In this post, I would like to discuss challenges we may have and possible solutions 🐨 to improve knowledge sharing in a big organization.

I love challenges. Let's take a look. 😋

1. 🏋️‍♂️ We don't have a good overview of what people have.

As a new person who joins a company, I would like to know

  • how many people know XYZ
  • who is interested in the same topic as I am

Well. I guess I can start to ask around, and eventually, I will have all the answers. But what if people change their interests?

🧑‍💻 Should I start to ask around again?

Only after a pretty long time, I figure out that one of my colleagues has extensive experience on one particular topic. I wish I could learn it in the first place.

🐨 We could tackle this issue by creating a profile for everyone. Then, we can freely express what we are good at and what we want to learn. People can view each other's profile.

👾 But if we don't have a convenient way to search for a profile or we still don't have a big picture of what people are good at. Technically, we have already ruined the idea of interest sharing.

2. 🏋️‍♂️ We research the same things over and over again.

  • Shopify vs Woocommerce. Which platform should I use?
  • What's the best URL structure for SEO?
  • Where can I start to learn about this topic?
  • What is cool about this project?

Be proactive on what I want to learn. I can actively search for a course that I wish to. But since we have worked on many projects, we might already have tons of materials/lessons learned. As working in the same organization, we might have to deal with the same problems.

🧑‍💻 I see people do the same homework over and over again when we start a new project.

Sometimes it's not that easy. We can't just google it. It could be a waste of time if the answers are already there.

But, hey, it's summer. Just "copy" your friends' homework, then enjoy the sun. We all want to stand on the shoulders of giants.

🐨 Let's create documentation for every project.

From my point of view, every project should at least has documentation. In this way, we can swiftly onboard new people to a project. In addition, we can put all the cool tricks that we did and show them to the world.

👾 We can do more. Check the next challenge.

3.🏋️‍♂️ It's hard to search for and maintain materials.

I have to admit that sometimes I feel documentation is fantastic if we want to share information between people in the same project. But, on the other hand, it could be not so good to share it with people outside the project.

Let's say that React testing is quite common in many projects, and I want to know how people set it up. After asking around, people point me to an XYZ project documentation.

🧑‍💻 I have to go through lengthy docs and understand the project to just search for what I need. If the project is complicated, it's hard to just grasp what I really want.

I don't quite care about a particular project. I just want to learn about React testing. Docs are sometimes too formal, less fun to learn.

🐨 Let's put all common and essential materials on the Wiki page or Google docs.

So React testing is quite common, huh. We can create a small project to demonstrate this particular technique (optional) and write a post about it. Then, if there are valuable materials out there, we can put all references to the post too. In this way, people in other projects can still enjoy the material.

👾 But I still cannot find those materials (it's hard to search in Google docs)

👾 Who is responsible for maintaining those materials? If the material is out of date, should I be the one who can update it?

👾 I don't know if I have permission to contribute to our standard materials

👾 I have other ideas and different points of view and want to share

By putting materials under company's Google Docs, I feel that it's something standard and official. I am not sure if I have the right to edit it.

As working at a consultancy company, I am not a huge fan of "standard" material (things might be different for product companies). Standard material might "force" people to use the same particular boilerplates or techniques. Thus, it prevents people from their creativity.

4. 🏋️‍♂️ It's hard to learn across different competencies.

We might have various competencies such as Dev, SEO, Design in our organization. For example, I am a developer, but what if I want to learn more about design. What is a good way?

Other places we might share our knowledge

Of course, there is no perfect solution, so we may need to combine all solutions that work best for us.

1. Slack/Discord

These channels are fantastic if I want to discuss a topic or ask for help quickly. We have many good discussions on Slack.

👾 From my experience, anything discussed on Slack is eventually lost.

The topic may not be relevant to me when we discussed it. But later, when I need it, I can not find the thread. Slack is not meant to be used for storing long-form content

2. Talk/Workshop

I always enjoy workshops. I feel it like watching a good movie when I can learn something new.

👾 "It could be a barrier for people who are frightening to present in front of a group."

3. Pair programming

"Having two people work on a piece of the code helps the team spread knowledge on technology and domain on a daily basis and prevents silos of knowledge."

🎁 Read more at On Pair Programming

A possible solution that may fill the gap

I notice that we always take notes as we learn. Gradually we start to build our second brain, a reference sheet that we can go back and refer to when we need it. However, we usually keep them in private.

Here are the notes that I've taken over time.
my-notes

🐨 We have, let say, 30 or more than 100 people in our organization
🐨 What if each of us publishes only 10% of our notes.
🔥 It's cooool

🐨 I am talking about building an internal blog for an organization. It could fill the gap that we are missing in all the solutions described above.

👉 Check out Part II: Internal blog for organization.

Time for discussion

Please leave your comments below to let me know the problems you face regarding knowledge sharing and how you would solve them.

Top comments (0)