{"id":511168,"date":"2026-10-28T23:44:08","date_gmt":"2026-10-28T23:44:08","guid":{"rendered":"https:\/\/www.newsbeep.com\/us-ca\/511168\/"},"modified":"2026-10-28T23:44:08","modified_gmt":"2026-10-28T23:44:08","slug":"san-jose-finalizes-three-year-contracts-with-city-workers-the-mercury-news","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/us-ca\/511168\/","title":{"rendered":"San Jose finalizes three-year contracts with city workers \u2013 The Mercury News"},"content":{"rendered":"<p>After reaching a tentative agreement earlier this month and averting a strike, the San Jose City Council finalized city worker contracts Tuesday that will cover more than 4,500 full- and part-time public employees.<\/p>\n<p>Under the three-year agreement running through June 2029, employees will receive guaranteed 3% annual pensionable pay increases and an immediate 1% lump-sum cash payment. The deal also includes the potential for up to an additional 1% raise in the 2028-2029 fiscal year if the city projects a general fund budget surplus, alongside new workplace protections <a href=\"https:\/\/www.mercurynews.com\/2026\/04\/09\/san-jose-govai-nonprofit-ai-coalition-city-government\/\" rel=\"nofollow noopener\" target=\"_blank\">regulating artificial intelligence<\/a>.<\/p>\n<p>The agreement became official weeks after members of the International Federation of Professional and Technical Engineers (IFPTE Local 21) and the Municipal Employees\u2019 Federation authorized a strike in August. Together, the unions represent a wide range of the municipal workforce, including management, engineers, and architects. A walkout would have disrupted key public services, including libraries and animal care facilities.<\/p>\n<p>Mayor Matt Mahan <a href=\"https:\/\/www.mercurynews.com\/2026\/10\/09\/san-jose-city-unions-tentative-agreement\/\" rel=\"nofollow noopener\" target=\"_blank\">called the deal a positive step forward<\/a>, even as the city navigated tight financial constraints after <a href=\"https:\/\/www.mercurynews.com\/2026\/06\/12\/san-jose-budget-2026-things-to-know\/\" rel=\"nofollow noopener\" target=\"_blank\">closing a $50 million budget gap<\/a> this fiscal year through select project delays, targeted program cuts and other cost-saving measures.<\/p>\n<p>\u201cOur goal was to give people the largest raise we can without reducing services or putting the city in an unsustainable fiscal position,\u201d Mahan said. \u201cOur goal over time is to hire more workers and provide higher service levels.\u201d<\/p>\n<p>Although the immediate deficit was addressed, San Jose still projects shortfalls of nearly $27 million and $11 million over the next two fiscal years. Throughout negotiations, unions pointed to severe employee retention challenges and the region\u2019s high cost of living as key factors driving the strike vote.<\/p>\n<p>\u201cThe agreement represents significant progress toward addressing workers\u2019 priorities, such as AI guardrails and employee retention, and securing a contract that recognizes and respects the workers who keep the city running,\u201d IFPTE Local 21 said in a statement.<\/p>\n<p>San Jose has not had a city worker strike since 1981, when employees walked out over gender pay disparities. A strike would have heavily impacted a city already running lean. With just one municipal worker for every 112 residents, San Jose maintains one of the lowest staffing ratios among major California cities, behind only Bakersfield, according to a news organization analysis.<\/p>\n<p>Councilmember Peter Ortiz, a former union organizer, recognized the workers\u2019 role in delivering critical services to residents.<\/p>\n<p>\u201cWe ask so much of our staff every single day,\u201d Ortiz said. \u201cOur employees deserve much more than often what we\u2019re able to provide, especially in a city where the cost of living continues to put enormous pressure on working families. I\u2019ve always believed our city can\u2019t serve its residents well while leaving behind the people who make those services happen\u201d.<\/p>\n","protected":false},"excerpt":{"rendered":"After reaching a tentative agreement earlier this month and averting a strike, the San Jose City Council finalized&hellip;\n","protected":false},"author":2,"featured_media":511169,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[152759,184,387,7,383,1286,1533,86643,181,23,100,182,88,5500,90,89,198,200,5476],"class_list":["post-511168","post","type-post","status-publish","format-standard","has-post-thumbnail","category-san-jose","tag-60-second-biz-break","tag-bay-area","tag-business","tag-california","tag-economy","tag-jobs","tag-keywee","tag-labor-department","tag-latest-headlines","tag-local-news","tag-news","tag-pm-report","tag-san-jose","tag-san-jose-city-council","tag-san-jose-headlines","tag-san-jose-news","tag-santa-clara-county","tag-south-bay","tag-unions"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/posts\/511168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/comments?post=511168"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/posts\/511168\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/media\/511169"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/media?parent=511168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/categories?post=511168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/us-ca\/wp-json\/wp\/v2\/tags?post=511168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}