Bring a large pot of salted water to a boil for the pasta.
In a medium bowl, whisk together the egg yolks, Pecorino Romano, Parmesan, and black pepper until well combined.
Add the spaghetti to the boiling water and cook according to package directions until al dente.
While the pasta cooks, render the guanciale or pancetta in a large skillet over medium heat until crispy. Remove the meat with a slotted spoon and set aside, leaving the rendered fat in the skillet.
Reserve about 1 cup of the pasta cooking water before draining the spaghetti.
Drain the spaghetti and immediately add it to the skillet with the rendered fat. Toss to coat.
Remove the skillet from the heat. Gradually pour the egg and cheese mixture over the hot pasta, tossing continuously to create a creamy sauce. The heat from the pasta will cook the eggs without scrambling them.
Add a splash of the reserved pasta water, a tablespoon at a time, to achieve the desired sauce consistency.
Stir in the crispy guanciale or pancetta.
Serve immediately, garnished with extra cheese and black pepper.
Notes
For a more authentic flavor, use guanciale. If unavailable, pancetta is a good substitute. Avoid adding cream, as it is not traditional in Carbonara.