Pour olive oil into a medium skillet. Place over medium heat.
When oil is hot and shimmering, add diced potatoes. Cook, stirring occasionally, until golden and tender, about 10 minutes.
Season with salt and pepper.
Remove from skillet and set aside.
In the same skillet, add a bit more olive oil if needed. Add chopped bell pepper and onion. Sauté until softened, about 5 minutes.
Remove and set aside.
In a bowl, whisk eggs with a pinch of salt and pepper.
Place butter into a medium non-stick skillet. Place over medium heat.
When butter has melted and is hot (do not burn), pour in the beaten eggs, swirling to coat the bottom. As the edges set, gently lift them to allow uncooked eggs to flow underneath.
Once eggs are mostly set but still slightly runny on top, sprinkle the sautéed vegetables, diced ham and shredded cheddar cheese evenly over one half of the omelet.
Carefully fold omelet in half and cook for an additional minute to melt the cheese.
Slide the omelet onto a plate.
Serve with toasted rye bread spread with butter.