Bring a large pot of salted water to a boil. Add the spaghetti and cook as instructed on the package. Reserve a big cup of the pasta water and let it cool off.
While the pasta cooks, cut the guanciale into small strips or cubes. Place it into a cold pan and set the heat on medium. Starting off with a cold pan will allow the fat on the guanciale to render, making all of your bits crispy. Let the guanciale cook until golden and crispy, then remove from heat and set aside.
Separate the yolks from the whites for 3 of the eggs. In a bowl add the yolks and the one full egg that rests, whisk together with the Pecorino Romano and a generous amount of freshly ground pepper. The consistency you should have is that of a cream or crepe dough, not too liquid but not too dense either.When the guanciale has cooled off, add the rendered fat and half of the guanciale from your pan to the egg mixture. Put the pan back on low heat and add the egg mixture and toss quickly and continuously so the sauce becomes creamy without scrambling the eggs. Add the water that you kept from the pasta gradually until a silky consistency coats the spaghetti.
Taste and adjust seasoning if desired, add the left off guanciale on top. Serve immediately while warm.