توانایی حل مسئله و مواجهه با چالشهای پیچیده را داشته باشید توانایی و انگیزه تولید برنامههایی با قابلیت توسعهپذیری و نگهداشت بالا داشته باشید با قواعد چرخه بهبود مستمر کد (Refactoring) آشنا باشید شناخت کافی از اصول پایهای برنامهنویسی (TDD و OOP و به کارگیری اصول SOLID) داشته باشید