Heat a large pot of water over high heat and bring to a boil. Once boiling, add the pasta and cook until al dente. Drain, reserving ½ cup of the pasta cooking water.
Meanwhile, heat the olive oil in a medium skillet on medium heat until melted. Add the shallot and sauté for 3-4 minutes until fragrant. Add the chopped garlic and cook for 1 minute more. Stir in the cubed ham and the frozen peas and toss to combine.
Add in the reserved pasta cooking water and then the pasta and 2 varieties of cheese. Season with salt and pepper and lemon zest. Toss to combine and serve as needed.