Если делаешь это в боевых условиях (работаешь за деньги, в график, а не хобби), то:
Практика -> Костыли -> Опыт -> Следующая задача
Со опытом начнешь на более абстрактном уровне видеть поставленные задачи и заранее прикидывать архитектуру будущего решения, выбирать необходимые инструменты и правильно ими пользоваться.