Pair programming, if done correctly, encourages you to communicate with your partner. If he is shy, he won't be to excited about it, so I would start giving him the possibility to attend a pair-programming session of two other developers working at a pretty trivial task.
2. coding dojos
Participating a coding dojo and solving a problem in groups of 2 or 3 devs can support you not being shy about presenting your solution. A fizz-buzz unit testing dojo maybe would be too trivial, but I think adventofcode[1] may provide some interesting problems that have nothing to do with your daily tasks.
3. Code reviews
Weekly 45 minute code reviews build up a regular practise and knowlege transfer. My recommendation would be that you start by having a conversation about a piece of code, that everybody likes to get into a positive mood. Presenting something that you are proud of can be a problem but discussing a problem about an existing solition is often a common ground.