This, to a point.
Other things help :
Sorry for the late reply, the lack of a red envelope makes me not notice replies.
People on election day have to decide if they go voting at all. This is a big deal, it’s what most of the campaign in the ridding is focusing on changing (you want to make sure all of your voters go vote, that is top priority in an election).
Having a party that is a bad fit for you is demotivating and likely to reduce turnout. That is what I mean by “likely to vote”. It’s not the right wing option that people will go for. It’s the comfort of staying home and not bothering to vote for a “lib” if you’re a progressive, or for a “commie” if you’re a lib. For some people, the NDP is already too far right…
So yeah, some of the support of the NDP would transfer over to the liberal party, but definitely not all. And that’s not to mention all of the crazy people who can go from NDP to tories at the drop of a hat (voters have shallower roots than the base, or have irrational hatred of specific politicians or parties) or who would just vote Bloq Québécois or something else.
Git wasn’t used all that much in the 2000s. As far as I know it became popular in the 2010s (though it was always a thing in some circles I think) and then just supplanted almost everything else.
Also keep in mind some shops tend to follow larger tech companies (microsoft, etc.) and their product offering. So even new products might not have been on git until MS went in that direction.
Or if the debates weren’t managed by a private entity owned by the other two parties.
Canada has first past the post voting, and 3 active parties. My province has first pas the post and has 4 major parties (with a 5th one that is close but can’t get a representative in). I’ll agree that ranked voting at least would be a lot better.
Where I’m from, they know. The news have done a good job of reporting on it, and they see the cost of houses, and whatnot be worse than before. It’s kind of new from the last 5 or so years, before that they didn’t get it. But now it’s pretty obvious so long as they watch the news or pay attention to their kids and grandkid’s lives.
Generally, you can replace some comments with variable names or comment names. Which means you must already be in the habbit of extracting methods, setting new variables to use appropriate names, and limit context to reduce the name (Smaller classes and methods means shorter names can be just as expressive, because the context is clearer). It lowers the number of wtfs per minute you get reading code before you even need whole sentences to explain why things are done in a certain way, because the names can be a powerful hint.
But realistically, you end up needing comments for some things anyways.
“we need more resources” is bounded by the rate at which you can incorporate new teams members without absolutely destroying your productivity, or having a bunch of untrained fools running around breaking things (of course the later is standard at many places already, so I guess it doesn’t always matter).
The right answer is usually : “No”. Or at least “Prioritize”. Or “This is what we need to get it done” at which point they might start to get software takes time to make decently, and they don’t want software that doesn’t work decently in the first place.