One of the things that helped me gain a wide variety of experience was to work for a very large engineering firm (10,000+ employees). While sometimes you may feel like a very small cog in a very large wheel, in my opinion, it is a great way to have access to a wide variety of opportunities in one place.
I spent more than 20 years with the same firm but got to work on an array of interesting projects. While I was there, I did everything from designing landfills and water and wastewater treatment plants to designing the pedestrian plaza in front of the Lincoln Memorial. I got to design embassy sites abroad, and local and regional parks right here at home. The firm I worked for also does a lot of work in disaster relief. They send teams of engineers to assess damage and help with recovery after hurricanes, floods, and earthquakes. They also have a strong commitment to volunteer organizations like Water for People and Engineers without Borders. While I am pretty sure that participants still donated their time on the projects, the company provided funding for projects and allowed employees the flexibility to take time off and travel to do the work.
I have always been a design engineer but was still able to do a fair amount of fieldwork performing construction administration on projects I designed. I also got to travel to some strange and unusual places. My job has taken me to Istanbul, Turkey to help develop solutions to a large landfill slope failure; to Iceland to sample wastewater (ugh!) and help identify how polluted stormwater was entering the ocean around the US naval base there; to Paris, France to help a team figure out why there was water leaking onto the crypt below the Lafayette Escadrille Memorial.
All that being said, I spent the first 10 years building my technical skills. And observing career paths of colleagues at all levels, I think 10 years is pretty typical. But once you have that basic "civil engineering toolkit," in hand, you can apply it to almost any type of work. And if you think about it, your client doesn't hire an engineer to administer their budget and schedule. Your client hires and engineer because they have a technical problem that needs to be solved. Even if you end up in a project management role, you will be a much better project manager because you can solve technical problems.
So how did I find all this opportunity? There were a number of things I did along the way that really helped: