I should add that although Civil Engineering encompasses many subdisciplines as listed above, in current U.S. practice the term Civil Engineer is most often applied to someone who does not specialize in any of the subdisciplines. So a Civil Engineer is often someone who does grading, drainage, utility layout, etc. Specialists in Structural Engineering prefer to call themselves Structural Engineers, specialists in Geotechnical Engineering prefer the term Geotechnical Engineer, etc.