In a heavy skillet, fry the bacon in the butter until just browned and crispy. Remove from the pan and reserve.
Add the minced garlic, cook for 1 to 2 minutes until golden, and then add the onions. Cook for 5 to 7 minutes to soften.
Meanwhile, boil a pot of salted water and cook the pasta to al dente. Drain, and return to the pot. Add the onions to the pasta, toss, and then stir in the egg mixture. The residual heat from the pasta will cook the eggs in just a few seconds. Next, quickly stir in the parmesan, parsley, and bacon, season liberally with fresh black pepper, and serve.