Start a pot of salted water for the pasta. Cut the bacon into 1-inch sections and sauté in a big heavy bottomed pan until crisp.
Remove the bacon pieces from the pan and pour off almost all the fat, then add in the olive oil. Sauté the shallots and garlic until they become translucent—just a couple of minutes. Add in the black pepper and stir for a few seconds, then return the bacon to the pan.
Meanwhile, cook the linguine until al dente. Drain it, reserving at least 1-1/2 cups of the cooking water. You will need it for the sauce.
Add the cooked pasta to the skillet, ladle in 1/4 to 1/2 cup of the cooking water, add some of the Parmesan, and toss everything together so it is all coated. Turn off the heat.
Quickly add in the egg yolks and toss everything again, adding in more of the cooking water very gradually. Your goal is to create a glossy, smooth, even sauce that handsomely coats everything. This should happen pretty fast!
Add in the lemon juice and zest and more Parmesan until it tastes the way you want it to. Season with salt, if needed. If the sauce seems too thick or things are sticking together too much, lace in a little more of the cooking water.
I suggest plating this individually, rather than family style in a big bowl. Eat it right away.