In a few areas such as competitive programming, the path to improvement can be meteoric.
There’s a natural feedback loop. You first attempt to solve the problem, then viewing other’s solution provides you with critical feedback to reassess and learn from the experience.
Outside of this narrow competitive niche however, it’s difficult to find a consistent source of feedback. (Other than manual code review as you mentioned). Finding a way to fill this need will surely improve the field as a whole.
<ChatGPT entered the chat.>
You: "hey chatgpt, how good is this code?"
GPT: "According to all the GitHub repos and StackOverflow answers I ingested, most developers would rewrite it like this: [...]"
You: "... most developers are morons."
Bug I guess in a way, since I'm the "student" of them, I guess we can count it as my "feedback" to them, as I'm enjoying and can digest their teaching.
Some will come and say "school is mostly one way!", but they are wrong, every school I know of has tests and those tests are checked by teaches, that part is necessary to teach, not the testing but the feedback loop, if you have any other way of providing effective feedback that works as well. Without that step we say the person self learned instead of was being taught.
In software engineering we mostly do this via code reviews, that way we systematically make engineers provide feedback to each other and it helps junior programmers learn effectively.