Put the flour and salt into the bowl of a stand mixer fitted with a dough hook attachment.
Heat the milk in a small saucepan over a low heat until it is just warm, or blood temperature. Add the sugar and the yeast to the saucepan and whisk well. Leave to stand for two to three minutes.
Turn the mixer to a low speed and add the milk and yeast mix. Add the eggs one by one, and gently increase the speed.
Begin to add the very soft butter, adding a teaspoon at a time, ensuring each spoon is completely incorporated into the dough before adding the next. Once all of the butter is added, continue to knead the dough on a medium speed for about 10-15 minutes until smooth and elastic.
Put the dough in a large bowl, cover with a clean tea towel or cling film and place in the fridge for at least four hours, overnight is best.
For the Filling:
Beat the butter in a bowl until very soft. Add the icing sugar, instant coffee powder, coffee and vanilla extracts. Set aside.
Scrape the cold brioche dough onto a lightly floured surface and roll out to a large rectangle, around 40 x 50cm.
Spread the coffee butter over the brioche, leaving a 1cm gap around the edges. Sprinkle the chopped pecans on top, and begin to roll up from the longer side, until you have a long swiss roll shape.
Cut the dough in half, then cut each half into 6 x 1inch slices. Place the slices cut side up on a lined baking tray.
Cover the brioche and put the tray in a warm place to rise for about an hour or until doubled in size.
Preheat the oven to 190C or 175C if using a fan oven.
To make an egg wash, whisk the egg and milk together in a small bowl and brush over the top of the risen brioche.
Bake the brioche for 35 minutes until puffed and golden brown. Leave the buns to cool for a few minutes in the tin before turning out onto a wire rack to cool completely before serving.