I recently applied dialectical thinking in a discussion about progress in programming. The main question I was trying to answer: "are we make any kind of progress in programming or are we just randomly traversing the space of possible languages and frameworks?" (https://amasad.me/dialectical)
At first it seemed like there is a lot of arbitrary jumping back and forth. One example: in web development we started out by rendering the UI on the server, and then client-side rendering became the norm and now we're back at server rendering with the various "SSR" techniques. This seems like a totally useless hop back and forth. But in reality we might end up in a -- to use Hegel's language -- "synthesis" where we have universal rendering (server + client rendering).