The temptation is to use butter, but it's jake at high heat so temper it with some cooking oil. Heat the pan until it's got that rippling shimmer, but the water in the butter isn't popping yet. It's a tricky sweet spot.
If the heat is too low, then you're gonna get some stick. Most proteins do this, that's why we preheat pans before putting steaks in 'em. But if it's crazy-balls hot, when you put the eggs in, the water contained inside is gonna just explode, which is also gonna give you some stick. Ideally, you want that moisture to make the eggs "puff up" but retain their protein structure, giving you bubbly eggs that are, really, just shallow frying on a layer of fat. Like Citizen said, it takes a good deal of practice to really nail it. Start to finish, your omelet should take about 15 seconds.
I use cast iron and carbon pans for almost everything, and could probably fire off an omelet on a piece of aluminum siding if I had to, but I still keep a cheap non-stick pan in the house for eggs. It just makes life easier.