I started at as the DC for Eastern Michigan on a 1 year deal. Then I took the Baylor DC and stayed for 2 years on a 3 year contract. Eastern Michigan offered me the HC position. Even though I really liked coaching for Baylor, I took the Eastern Michigan job because of my history with them. It was a 1 year contract. Following that year, Michigan offered me the HC job. Of course I took it. It was less than 10 miles down the road and I wouldn't have to buy a new house.
It really just depends on what jobs open up. I was frustrated early because I wanted a big time position and wasn't offered any. At least not as a HC. After my 1 year as a HC for Eastern Michigan, I was offered most of the big time positions that were available at the time: Texas, Nebraska, Miami, and of course Michigan.
It just takes patience and a lot of winning.