Preheat oven to 400°F and line a baking pan or dutch oven with parchment paper.
In a large bowl, combine flour, sugar, baking soda, and salt.
Cut in the butter with a pastry blender or two knives until the mixture resembles coarse sand. Stir in the cranberries and pecans.
In a small bowl, whisk together the buttermilk and egg, then add to the dry ingredients.
Stir until the mixture comes together to form a shaggy dough and all dry bits are incorporated. The dough will be very sticky; resist the urge to add more flour.
Lightly flour a work surface and scoop out dough onto it. Briefly knead the dough just to shape it into a ball. Transfer dough to baking sheet. If you like, score the top with a cross.
Bake for 45-50 minutes, until golden brown. Let cool at least 10 minutes on a wire rack before cutting.