Как себя направлять в обучении, почему через 4 года опыта работы я все еще плохо программирую?
Нет кода нет мнения. Выложите на гитхаб или попросите отревьювить их. 
Это наиболее правильная практика.
Простые вещи помогают взрывному росту: job-hopping и pet-projects. Если вы 4 года на одном месте, с самого начала карьеры, то в этом и вся проблема. Нет драйвера для роста.