I would say understanding databases was the biggest gap. It was the thing was most easily fixed and produced the most payoff. Writing my own toy ORM as a learning tool was the thing that made all web frameworks more intuitive.
After that it was more about how to structure code and work with other peoples' code. I don't want to go as far as to say design patterns, but in my hobby days I would just start writing code and then have to do code gymnastics to work around the structure I built. Now I take much more time before I ever write anything to plan.