TZ are politics and politic is very bad at making stuff engineerable. Politics are inconsistent, unstable and lack of rigor in propagating the information to the coders.
The TZ definitions are handled by clerks that writes an XML files manually that are embedded in your libs and that no one cares to update.
TZ are not versioned. So if you want to know what was the local time 12years ago in any place of the world : good luck.
But international exchange are bound to delays workhours and SLA requiring delays to be measurable ... With arbitrary changes (EST shit).
Timezones are broken by design and all our applications too.
The only way to solve the problem is to forbid politics to come anywhere near science, history and standardization of measurement. Corporation don't do any better. I abide by International System (metric) and the idea that there should be a monotonic non disrupted absolute time whose origin IS NOT the birth of Christ but since when we are able to have continuous "rigorous" measurement of time.
Which is exactly the opposite of what people calls for.
The begining of the year should be the aphelia (3~4 jan) and not some religious bat shit conventions. Noon should be when the sun is at its top. And 13 month of 28 days (+intercalar days) would make our lives easier.
Time as a political and religious construct is shit.