>>It never occurred to me that software design patterns might be anything more than an academic exercise
Well. it should have occurred to you.
Have you also questioned sometimes that since gravity is some theory devised by professors, then it must be an academic exercises, irrelevant to you???
The lesson here is that you should not dismiss things because they are academic: who do you think came up with everything you use? From your processor to your OS to your programming language... none of it would exist if not for academics. You should also avoid dismissing things just because you do not understand them. A lot of very very smart people have worked for decades to figure out stuff... and it is surprising how many 2osomethings think they are the mavericks who never read the book, yet they know better. I guess Dunning-Kruger and all that... A lot of beginners go through that phase.
The great news is that it appears that you are becoming aware of how much you still have to learn. If it can make you feel better I have been at it for 30 years, and taught CS for about half of that, and I still find something to learn every day :)