On a large baking sheet, toss asparagus with oil and season with salt and pepper. Roast until tender and charred, 18-20 mins.
Meanwhile, in a large pot of salted boiling water, cook pasta until al dente. Drain, reserving 1 cup pasta water, and return to pot.
In a large skillet over medium heat, cut the ham and cook it with oil for 5 mins.
In a small bowl, whisk together eggs, egg yolks and parmesan. Season generously with salt and pepper.
Combine cooked linguine and egg mixture and stir until coated. Add enough pasta water to make a loose, creamy sauce. Stir in roasted asparagus and prosciutto and serve.