Regarding "Alex's" realization, here is an excellent talk by Dan North. Particularly the section on the "phases" of being a developer (called Dreyfus Squared). I would say that it could apply to any field really.
Essentially, we all more or less follow rules at first because they are the only guide posts we can see without the backdrop of experience. Somebody said use a pattern so I used it, even though it wasn't a fit. Experience brings with it a certain "compiled"-as-in-code knowledge -- or intuition if you will -- about the best patterns to use in a given situation.
That's why you can't really fret those mistakes. You and I will make them but it is a necessary part of learning and advancing a skill.
Sure thing, I guess I'm really just encouraging junior devs to question things more and figure out if there's a reason (x) is being implemented this way, or if it's because lots always been that way. I know it would have helped me out a lot sooner to poke my head up every once in a while. 😊
But completely true, our experiences only make us better 👍🏻
Oh absolutely. When I typed my reply, I think I skipped the step linking what I said with my agreement of your post. :) Definitely question the cargo cult. If you don't know why "this is the way we do things", question it and try something different. Even if there was a valid reason for using some awkward pattern/process, it obviously wasn't documented and that gives you a chance to rediscover it and propagate that knowledge. But best case, there was no valid reason and coding life improves. :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.