To make the gremolata (if using), add parsley, garlic, and lemon zest to a small bowl and use your hands to mix/massage the garlic and zest into the parsley to thoroughly combine.
Bring a large pot of water (about 3-4 quarts) to a boil over high heat. Salt it generously (about 2-3 tsp), then add the pasta. Cook according to the package instructions. Reserve about a cup of the pasta water, then drain. Transfer the pasta back to the pot, immediately add the butter and stir until the butter is melted.
While the pasta cooks, in a medium bowl, whisk together the cheese, eggs, salt, and pepper until combined. Slowly pour in about ¼ cup of the reserved pasta water, whisking constantly as you pour.
Turn off the heat, then pour the cheese and egg mixture into the pot (while the pasta is still hot) and stir vigorously until the sauce is thickened and coating the noodles, about 1 minute. There will be some liquid/sauce sitting on the bottom.
Let the pasta rest for about 3-5 minutes - the liquid will thicken up as the pasta sits, then give it one final toss, adding more pasta water if needed to thin it out. Taste the pasta and add more salt, if needed.
Serve topped with gremolata (if using), black pepper, and more parmesan.