This question may end up being too vague and flawed in several ways, so I am taking a risk, but I think it is something of general value, and I'll try to limit the scope, so please give it a chance.

I work in a small tech company with software developers, DBAs, devops etc etc. We all have specialist skills, and it often creates a problem when one of us is off work, so I am thinking about how we can teach each other about our expertise in in the best format.

What I am after is not which media technology to use, but the format of the process - perhaps elements like:

  • A short presentation
  • A written document (containing what?)
  • Demo and active participation
  • Apprenticing/mentoring with a defined plan
  • Occasionally subjects outside the scope of work (eg. a subject in science or whatever) for it interest value
  • Discussion of the session: was it interesting, was something missing etc
  • ...

I would like to hear about people's experiences and opinions as to what works. My ambition is not just to teach everybody strictly relevant skills, but also to strengthen everbody's ability to express themselves with confidence and clarity, speaking in public etc.

So, what do you think?

  • @JoeStrazzere Could you tell more? Like, what was the format, which subjects were allowed, etc? I hope to find a format that in a way drives itself and engages people, so they want more.
    – j4nd3r53n
    Sep 2, 2021 at 10:09
  • 1
    I see about two or three different questions in this one: 1) How can I cross-train my team? 2) How can I improve presentation / public speaking skills in my team 3) What should I look for when designing training programs? I suggest you choose one of them, as they have wildly different answers Sep 2, 2021 at 11:19
  • 1
    @JulianaKarasawaSouza Good point - maybe I should split it out into three questions.
    – j4nd3r53n
    Sep 2, 2021 at 13:05
  • Do you have support of upper management? That's more a detractor for learning than anything, where bosses are pushing for faster and faster deadlines and people are over-utilized. The act of finishing projects and having blame-free post-mortems will already teach a lot.
    – Nelson
    Sep 2, 2021 at 15:37
  • @Nelson I don't have that support - yet. My ambition is to get there, and to do that I want to be well-prepared, so I can avoid the half-hearted support from management for some run-of-the-mill style of courses that nobody really wants.
    – j4nd3r53n
    Sep 3, 2021 at 7:23

3 Answers 3


At my previous company we instituted a "Lunch and learn", people could present on anything they fancied to help them brush up on their presentation skills. We'd have questions and feedback about the contents and about the presentation in general. Often people would pick a work-related topic, which did help to give a flavour of what they were doing. However this is not the best format for really training someone on the nitty-gritty.

As for more proper cross-training in the team, we used pair programming a lot. So a less experienced person would sit with a more experienced person to do a task, usually with the less experienced person controlling the keyboard. They should feel they can ask clarifying questions and make notes. We also used a team wiki space (our company had Confluence, but there are other options) to keep documentation, instructions etc. Pair programming can be tiring, so best not done all day every day, but certainly helps everyone learn from each other.


I come from a software dev and electronic design background, so this answer leans heavily in that direction.

The easiest way to transfer knowledge is directly during development, not afterwards. We use code or design reviews heavily for that. Don't just do "hey, look at my design quickly that I can publish it". Set up meetings, where you and at least one colleague go through the new design and talk about it. Don't stop until the colleague has understood everything and found at least one bug. As with all code/design reviews, make sure that the amount of change is manageable. If there is already too much to grasp in one meeting, split it and do multiple sessions.


I would like to hear about people's experiences and opinions as to what works.

I'm afraid there is whole classes and books about this topic.

It boils down to this: there are about two dozen teaching methods that are practical and not just some scholary theory.

That is because there is no one best method, it depends. It depends on audience, topic and teacher. And then external influences. I'm sure people would love to hear about that supercomputer cluster, but you just don't have the money to have one around for demonstrations. Another example would be new syntax features vs git usage. Git usage is important, if you screw it up you can do a lot of damage, but if you don't remember the new syntax... worst case you get a compiler error.

So... there is no one-size-fits-all in knowledge transfer. You will need to find someone who knows this stuff, or you will need to find someone willing to get to know this stuff. Or you could just go by trial and error, do what you think is best and adapt.

If you have apprentices in your company, look for their educator, they should know about those methods.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .