● OPSCI.ca Ontario · 2010–2025

← back to profile

Director of Public Works

Municipalities and Services · FY2025

85 disclosed employees* in 2025 16 yrs on file (2010–2025) 83 employers (min. 3 disclosed) 5 newly promoted in 2025 9.4% estimated female
Median salary
$155,015
P90 salary
$195,397
Raise, 2025
+7.6%

Trend 2010–2025

YearDisclosed Emp.Median salaryP90 salaryRaiseNewly PromotedGender
2025 85 $155,015 $195,397 +7.6% 5 9.4% F
2024 91 $147,977 $185,412 +8.9% 3 16.5% F
2023 92 $140,334 $173,124 +7.0% 6 13.0% F
2022 87 $135,474 $166,376 +5.8% 5 11.5% F
2021 80 $132,092 $158,247 +2.2% 5 10.0% F
2020 80 $128,021 $162,876 +5.2% 3 11.2% F
2019 71 $123,202 $154,424 +4.3% 4 9.9% F
2018 65 $119,340 $144,506 +2.9% 2 9.2% F
2017 62 $117,821 $143,785 +1.1% 0 8.1% F
2016 59 $121,690 $149,652 +3.9% 0 8.5% F
2015 63 $118,951 $139,975 +3.1% 0 4.8% F
2014 49 $117,521 $145,349 +3.4% 4 4.1% F
2013 48 $115,200 $140,429 +3.4% 0 8.3% F
2012 46 $115,125 $136,470 +2.7% 1 6.5% F
2011 40 $118,885 $142,951 +4.6% 0 10.0% F
2010 38 $117,476 $144,410 n/a 0 7.9% F

Raise is the average change for people who held this exact role, in this sector, in both years — not a same-role year-over-year average, which would be skewed by people newly crossing the disclosure threshold or leaving. Promotions is a heuristic (title changed and raise ≥10% in the same year), not verified. Gender is a name-based estimate, shown only for years with 20 or more disclosed employees.

By employer FY2025 · ranked by disclosed employees

#EmployerDisclosed Emp.Median salaryP90 salaryMax salaryNew entrantsRaise
1 County of Perth overall 2 $150,129 $161,634 $164,510 0 n/a
2 City of Dryden overall 2 $138,521 $149,807 $152,629 1 n/a
3 City of Richmond Hill overall 1 $230,145 $230,145 $230,145 0 n/a
4 Township of King overall 1 $221,393 $221,393 $221,393 0 n/a
5 Town of Lasalle overall 1 $211,583 $211,583 $211,583 0 n/a
6 City of Peterborough overall 1 $210,772 $210,772 $210,772 0 n/a
7 Town of Newmarket overall 1 $210,623 $210,623 $210,623 0 n/a
8 Town of Tecumseh overall 1 $205,850 $205,850 $205,850 0 n/a
9 City of Timmins overall 1 $201,901 $201,901 $201,901 0 n/a
10 County of Northumberland overall 1 $198,019 $198,019 $198,019 0 n/a
11 The Corporation of the City of North Bay overall 1 $196,859 $196,859 $196,859 0 n/a
12 County of Renfrew overall 1 $193,202 $193,202 $193,202 0 n/a
13 County of Dufferin overall 1 $192,276 $192,276 $192,276 0 n/a
14 City of Port Colborne overall 1 $191,793 $191,793 $191,793 0 n/a
15 Town of Wasaga Beach overall 1 $190,936 $190,936 $190,936 0 n/a
16 Town of Halton Hills overall 1 $186,839 $186,839 $186,839 0 n/a
17 Municipality of Clarington overall 1 $184,102 $184,102 $184,102 0 n/a
18 County of Oxford overall 1 $183,712 $183,712 $183,712 0 n/a
19 Municipality of Chathamkent overall 1 $182,742 $182,742 $182,742 0 n/a
20 Town of East Gwillimbury overall 1 $179,554 $179,554 $179,554 0 n/a
21 Town of Pelham overall 1 $177,180 $177,180 $177,180 0 n/a
22 Municipality of Middlesex Centre overall 1 $176,416 $176,416 $176,416 0 n/a
23 Town of Cobourg overall 1 $175,849 $175,849 $175,849 0 n/a
24 Town of Caledon overall 1 $173,669 $173,669 $173,669 0 n/a
25 Township of Lake of Bays overall 1 $173,620 $173,620 $173,620 0 n/a
26 Town of Lincoln overall 1 $169,030 $169,030 $169,030 0 n/a
27 Township of Tiny overall 1 $167,912 $167,912 $167,912 0 n/a
28 County of Huron overall 1 $167,356 $167,356 $167,356 0 n/a
29 Township of Scugog overall 1 $166,331 $166,331 $166,331 1 n/a
30 Township of Perth South overall 1 $164,610 $164,610 $164,610 0 n/a
31 City of Owen Sound overall 1 $164,453 $164,453 $164,453 0 n/a
32 Township of Severn overall 1 $162,892 $162,892 $162,892 0 n/a
33 Township of Mapleton overall 1 $162,446 $162,446 $162,446 1 n/a
34 Town of Carleton Place overall 1 $161,512 $161,512 $161,512 0 n/a
35 Town of Penetanguishene overall 1 $161,326 $161,326 $161,326 0 n/a
36 Township of Clearview overall 1 $158,151 $158,151 $158,151 0 n/a
37 Township of Seguin overall 1 $158,097 $158,097 $158,097 0 n/a
38 The Nation Municipality overall 1 $157,860 $157,860 $157,860 0 n/a
39 Township of Guelph overall 1 $156,946 $156,946 $156,946 0 n/a
40 Town of Grimsby overall 1 $156,704 $156,704 $156,704 0 n/a
41 Town of Hearst overall 1 $156,526 $156,526 $156,526 0 n/a
42 Township of Springwater overall 1 $156,460 $156,460 $156,460 0 n/a
43 Town of Mono overall 1 $156,165 $156,165 $156,165 0 n/a
44 City of Kawartha Lakes overall 1 $155,015 $155,015 $155,015 0 n/a
45 Municipality of East Ferris overall 1 $154,203 $154,203 $154,203 0 n/a
46 Town of Parry Sound overall 1 $153,287 $153,287 $153,287 0 n/a
47 City of Sault Ste Marie overall 1 $151,800 $151,800 $151,800 0 n/a
48 Municipality of North Grenville overall 1 $150,995 $150,995 $150,995 0 n/a
49 Town of Smiths Falls overall 1 $147,706 $147,706 $147,706 0 n/a
50 Town of Plymptonwyoming overall 1 $146,671 $146,671 $146,671 0 n/a
51 Township of Minden Hills overall 1 $146,440 $146,440 $146,440 0 n/a
52 Municipality of Dysart Et Al overall 1 $146,123 $146,123 $146,123 1 n/a
53 Municipality of Thames Centre overall 1 $145,551 $145,551 $145,551 0 n/a
54 Township of Puslinch overall 1 $145,344 $145,344 $145,344 0 n/a
55 Township of Blandfordblenheim overall 1 $144,406 $144,406 $144,406 0 n/a
56 Township of Wellesley overall 1 $143,122 $143,122 $143,122 0 n/a
57 Town of New Tecumseth overall 1 $143,005 $143,005 $143,005 0 n/a
58 Town of South Bruce Peninsula overall 1 $142,604 $142,604 $142,604 0 n/a
59 Township of Huronkinloss overall 1 $142,522 $142,522 $142,522 0 n/a
60 Township of Cavan Monaghan overall 1 $141,942 $141,942 $141,942 0 n/a
61 City of Quinte West overall 1 $141,264 $141,264 $141,264 0 n/a
62 Township of Malahide overall 1 $139,923 $139,923 $139,923 0 n/a
63 Town of Hawkesbury overall 1 $138,024 $138,024 $138,024 0 n/a
64 Town of St Marys overall 1 $136,888 $136,888 $136,888 0 n/a
65 Town of Iroquois Falls overall 1 $136,180 $136,180 $136,180 0 n/a
66 County of Lanark overall 1 $135,733 $135,733 $135,733 0 n/a
67 Municipality of Morristurnberry overall 1 $135,304 $135,304 $135,304 0 n/a
68 Town of Kirkland Lake overall 1 $132,132 $132,132 $132,132 0 n/a
69 Township of East Garafraxa overall 1 $132,031 $132,031 $132,031 0 n/a
70 Town of Grand Valley overall 1 $131,422 $131,422 $131,422 0 n/a
71 District Municipality of Muskoka overall 1 $130,703 $130,703 $130,703 0 n/a
72 Township of Lucan Biddulph overall 1 $129,800 $129,800 $129,800 0 n/a
73 Municipality of Trent Lakes overall 1 $127,796 $127,796 $127,796 0 n/a
74 Municipality of Centre Hastings overall 1 $126,506 $126,506 $126,506 0 n/a
75 Township of Manitouwadge overall 1 $125,645 $125,645 $125,645 0 n/a
76 Municipality of Lambton Shores overall 1 $124,030 $124,030 $124,030 0 n/a
77 Township of North Glengarry overall 1 $123,958 $123,958 $123,958 0 n/a
78 Township of McNab overall 1 $118,938 $118,938 $118,938 0 n/a
79 Municipality of Huron East overall 1 $114,241 $114,241 $114,241 0 n/a
80 Town of Atikokan overall 1 $111,593 $111,593 $111,593 0 n/a
81 Township of Front of Yonge overall 1 $110,596 $110,596 $110,596 0 n/a
82 Municipality of Brighton overall 1 $109,516 $109,516 $109,516 1 n/a
83 Township of Champlain overall 1 $106,233 $106,233 $106,233 0 n/a

"New entrants" is headcount in their first year in this exact role at this employer — not a hire count; many already worked here.

Find someone in this role, province-wide