Design patterns are guidelines. Some are practical but some are debatable.
Sometimes, some older 'bad practices' turn out to be new 'good practices', and the experts on the field would compose new paradigms for the community.
Feel free to use guidelines and feel free to break the rules when they don't make sense anymore.
It also depends on which programming languages you use or what kind of applications you are building, command line? GUI? End to End?
If you use frameworks, especially opinionated ones, you will be 'forced' to use design patterns. For example, in Grails, controllers are in controllers folder.
Also use your programmer instincts, for example, should I copy paste this portion of logics around? should I create a Utils class to hold only one function? should i make my function private? etc.
Anyway there is no right and wrong. Best to write several applications and experiment with them.
Sometimes, instinctively, you will somehow refactor your codes to make your applications look nicer without knowing that some of the desired results are actually the so called 'design patterns'.