As beginners, we started with a certain programming language. We learned that language' features, and maybe moved on to basic concepts like data structure, algorithms afterward. At that point, we became certified coders.
One day, we heard about systems designs, coding patterns, agile, software frameworks, testing, etc., and realized that we're not certain in which ways our coding skills can be applied to a real-world software development.
When was that? How did you feel at that moment? How did you find a path to overcome that learning curve?