How much does a civil engineer make in Des Moines?
$97,330a year
Median yearly pay for civil engineers in the Des Moines-West Des Moines, IA metro area. That is $46.79 an hour or $8,111 a month.
- Hourly
- $46.79
- Vs. national median
- -3%
- Rank among cities
- 167 of 373
- Jobs in the area
- 830
Pay range
Lowest 10%: $65,080Median: $97,330Highest 10%: $140,800
| Percentile | Yearly | Hourly | |
|---|---|---|---|
| 10th | $65,080 | $31.29 | |
| 25th | $78,320 | $37.65 | |
| Median | $97,330 | $46.79 | |
| 75th | $122,700 | $59.01 | |
| 90th | $140,800 | $67.68 |
Other cities in Iowa
Median yearly pay for civil engineers.
| Omaha, NE | $102,000 |
| Ames, IA | $100,200 |
| Dubuque, IA | $99,210 |
| Waterloo, IA | $97,430 |
| Cedar Rapids, IA | $95,540 |
| Iowa City, IA | $93,020 |
| Davenport, IA | $92,950 |
| Sioux City, IA | $88,460 |
Related jobs in Des Moines
Same field, median yearly pay.
| Electrical Engineer | $107,000 |
| Mechanical Engineering Technologist and Technician | $105,200 |
| Engineer | $100,900 |
| Health and Safety Engineer | $99,480 |
| Industrial Engineer | $98,270 |
| Architect | $97,460 |
| Environmental Engineer | $94,800 |
| Mechanical Engineer | $85,490 |
| Electronics Engineer | $81,330 |
| Surveyor | $78,860 |
Frequently asked questions
How much does a civil engineer make an hour in Des Moines?
The median hourly pay in the Des Moines-West Des Moines, IA metro area is $46.79 ($97,330 a year).
Do civil engineers make more in Des Moines than the national average?
No: $97,330 against $100,800 nationally, 3% less.
How does Des Moines compare with the rest of Iowa?
The median in Iowa is $96,430, so Des Moines pays 1% more.
Where does Des Moines rank for civil engineer pay?
167 of 373 metro areas with data.
How much does a civil engineer make starting out in Des Moines?
The lowest-paid 10% make $65,080 or less a year; the top 10% make $140,800 or more.
Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS): pay in May 2025, published by BLS in 2026. Hourly pay is the yearly figure divided by 2,080 hours.