"Growth is also when you visualize your solution even before you start your coding."
And for that, you must look at the upper level.
Usually the customers want a project FOR YESTERDAY. They don't care about X technology or if it meets a strict SOLID ideology, then want it working and nothing else much.
The Programmer JR is clueless about that, he only sees a problem that it could be solved.
You say, "visualize the solution even before you start coding" and yes, it is true. However, sometimes the solution involves no coding at all! And I am not talking about a code-less program but sometimes we need to solve a problem that it is not in the scope of the code, or code could harm it, or simply it could lead to a development-hell.
For example, I have worked with many big corporations, international companies and such. And I know the problem of them, and it is not about coding, its bureaucracy, red-tapes and idiots at charge. What is the solution? Move elsewhere or rust like everybody else in those companies.