Have incumbents met their match? An overview of the statewide races on Iowans’ midterm ballots

U.S. Senate candidate retired Navy Admiral Mike Franken speaks during a debate with U.S. Sen. Chuck Grassley at Iowa PBS in Johnston, Thursday, Oct. 6, 2022. — Sarah Lewis/Iowa PBS

It’s a truism of American politics that with rare exceptions, incumbents always have a big advantage in an election. And nowhere is that truism truer than Iowa.

Chuck Grassley has been in the U.S. Senate longer than all but one of his colleagues — Democratic Patrick Leahy, who is retiring this year — and longer than most Americans have been alive. According to the Census Bureau, the median age in the United States is 38.8 years. In November, it will be 42 years since Grassley was elected to the Senate, following six years in the U.S. House and 16 years in the Iowa House. When Grassley won his first election in 1958, there were 48 states, not 50.

In terms of years in office, Gov. Kim Reynolds is a newcomer compared to Grassley. Her career began when she was elected treasurer of Clarke County in 1994, three and a half decades after Grassley’s first win. But Reynolds is, in many ways, an extension of Terry Branstad, who holds the record as the longest-serving governor in American history.

It’s impossible to imagine Reynolds being governor in 2022 if Branstad hadn’t come out of retirement in 2010, run for governor again and selected her as his running mate. At the time, Reynolds was not an obvious choice. She was in her first term in the state Senate and had no notable accomplishments since arriving in Des Moines.

Gov. Kim Reynolds exits Hamburg Inn minutes after arriving in Iowa City. Thursday, Oct. 25, 2018. — Zak Neumann/Little Village

If Reynolds stood out at all, it was because she had a dynamic personality and was a loyal team-player. She was also a social conservative, and Branstad needed to reassure his party’s social conservatives who did not trust him.

Lieutenant governors in Iowa typically have little to do except stand near the governor at news conferences, be a smiling face at events the governor doesn’t attend and chair meetings in which they provide little input. That’s basically what Reynolds did until Branstad resigned in May 2017 to become President Trump’s ambassador to China.

As governor, Reynolds has loyally served the interests of the coalition of supporters Branstad built during his decades in office. The advantages of incumbency and being Branstad’s designated successor helped Reynolds in her race for governor in 2016. She defeated Democrat Fred Hubbell by less than 3 percentage points.

As governor, Reynolds has also opened her door wide to what were previously fringe ideas among conservatives in the state. Most notably, she’s made a voucher-style program that would channel public school funds to private schools a priority, going so far as to endorse the primary opponents of some Republican lawmakers who opposed her because they thought it would damage their already struggling rural school districts.

Deirdre DeJear speaking with attendees of a meet-and-greet at The James Theater, March 12, 2022. — Chad Rhym/Little Village

Polling shows a majority of Iowans oppose the plan to divert public school funds to private schools, but there’s no evidence it has hurt Reynolds’ chances of reelection. An Iowa Poll conducted in July showed the governor with a 17 percentage point lead over her Democratic opponent Deidre DeJear.

Of course, it isn’t just Republicans who enjoy the advantages of incumbency in Iowa. Both of the state’s senior Democrats, Attorney General Tom Miller and Treasurer Mike Fitzgerald, were first elected to their offices in 1978. But neither of those positions has much power to set policy. Governors and U.S. Senators do that.

As the election approaches, Iowa is facing an uncertain future. From the pro-corporate agricultural policies, which have led to a hollowing out of rural Iowa and environmental degradation, to the prospect of the state and federal governments further eroding reproductive freedom, the past clearly shows what Reynolds and Grassley will do to shape the state’s future. Their opponents, Deidre DeJear and Mike Franken, neither of whom have held elected office before, are basing their campaigns on the belief that Iowans want to go in a different direction.

It’s a truism of American politics that the next election is always the most important election. And nowhere is that truism truer than in Iowa.

One-Sentence Profiles of Statewide Candidates

Illustrations by Emma McClatchey

Attorney General

Tom Miller (D-incumbent) agreed in 2019 not to pursue any legal actions outside of Iowa without first getting Gov. Reynolds’ permission, but in Iowa, he’s still free to do the things he’s been doing during his last 40 years in office.

Brenna Bird’s (R) main campaign promise is that she will be ready as AG to sue the Biden administration at any time for any reason, especially for reasons that might get her name mentioned on Fox News.

Auditor of State

Rob Sand (D-incumbent) has infuriated Iowa Republican politicians by publishing a report on Gov. Reynolds misusing federal funds, and another one when she did it again, and promises to keep doing it as long as she keeps doing it.

Todd Halbur (R) plans to bring “common sense” to the auditor’s office, and according to Gov. Reynolds, that apparently means not publishing reports about her misusing federal funds.

Secretary of State

Joel Miller (D) says Secretary of State Pate has introduced and backed unnecessary restrictions on voting.

Paul Pate (R-incumbent) says he’s introduced and backed necessary restrictions on voting.

Secretary of Agriculture

John Norwood (D) wants to encourage farmers and corporations posing as farmers to voluntarily engage in better and environmentally sound farming practices, while protecting the flow of state and federal tax dollars that support the status quo.

Mike Naig (R-incumbent) wants to encourage farmers and corporations posing as farmers to voluntarily engage in better and environmentally sound farming practices, while protecting the flow of state and federal tax dollars that support the status quo.


Mike Fitzgerald (D-incumbent) has been in office for 43 years and 10 months, but the average Iowan could not tell you the name of the state’s treasurer, and it’s not clear if that says more about Fitzgerald or the average Iowan.

Roby Smith (R), after 10 years as a fairly generic rightwinger in the Iowa Senate, made headlines last year by reportedly pressuring state regulators to allow a dog-breeder accused of animal welfare violations to stay in business, and telling a reporter who asked about it, “I don’t work for you.”

This article was originally published in Little Village’s October 2022 issues.

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/overview-of-the-statewide-races-on-iowans-midterm-ballots/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Email</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="183"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>