Grate the Pecorino and Parmigiano and set out the eggs so they come to room temperature.
Bring a large pot of water to a boil and salt it generously.
Cook the guanciale in a large cold skillet over medium heat, stirring, until crisp and golden, 8 to 10 minutes. Remove from the heat.
Whisk the egg yolks, whole egg, Pecorino, Parmigiano, and black pepper in a bowl until thick and pasty.
Cook the spaghetti until just shy of al dente, about 1 minute less than the package directs. Reserve 1 cup of pasta water, then drain.
Add the hot pasta to the skillet with the guanciale off the heat. Toss, then pour in the egg mixture, tossing constantly and adding splashes of pasta water until a glossy sauce coats every strand.
Serve immediately in warm bowls with extra Pecorino and black pepper.