در دنیای برنامه نویسی از ساختارها، زبانها و ابزارهای بسیار متعددی استفاده میشود و طبیعتا همه افراد نمیتوانند به تمامی این موارد مسلط باشند. از این رو در ساخت یک برنامه ممکن است گاها یک تیم چند صد نفری با هم همکاری کنند تا یک برنامه را شکل دهند. اما لزوما در همه برنامه ها ما شاهد یک تیم گسترده نیستیم، به عنوان مثال شخصی که میخواهد یک سایت ساده طراحی کند عقلانی نیست که یک گروه از افراد را برای طراحی بخش بک و یک گروه را برای طراحی بخش فراند استخدام کند.
در این شرایط ما شاهد گروهی دیگر از برنامه نویسان هستیم که هم روی بخش Front و هم روی بخش Back مسلط هستند و تمامی فعالیتهای مرتبط با دو بخش را به شکل همزمان انجام میدهند. به این افراد اصطلاحا فول استک دولوپر گفته میشود.
چرا همیشه از فول استک ها استفاده نکنیم؟
دنیای برنامه نویسی دنیای بسیار گستردهای است و یک نفر نمیتواند به همه این دانشها مسلط باشد. در ساخت یک برنامه کوچک و ساده که تنها نیاز به دانش مرتبط با HTML و CSS در بخش فرانت و یک پایگاه داده ساده مانند My SQL در بخش ذخیره سازی و یک برنامه سمت سرور مانند PHP دارد ممکن است یک فرد این توانایی را داشته باشد که همه این موارد را بداند و در نتیجه خودش برنامه را از صفر تا صد طراحی کند. اما در پروژههای بزرگ ممکن است دیگر پایگاه داده My SQLجوابگو نباشد و لازم باشد از پایگاه داده تخصصی مانند Mongo DB استفاده شود. یا حتی در پروژههای بزرگ گاها از چندین زبان برنامه نویسی به طور همزمان برای ارتباط با سرور استفاده میشود که مهارت در همه این زبان ها کار سادهای نیست.
در چنین شرایطی لازم است به سراغ برنامه نویسان تخصصی برویم که صرفا روی یک حوزه خاص متمرکز شدهاند.
چه برنامه نویسی شویم؟
یقینا پاسخ دقیقی به این سوال وجود ندارد و عوامل مختلفی از جمله علاقه شخصی در آن دخیل است. در دوره های برنامه نویسی مختلفی مانند دوره MCSA: Web Application هر دو بخش پوشش داده میشود و افراد هم به مهارتهای مرتبط با سمت کاربر آشنا میشوند و هم زبان ASP .NET را برای ارتباط با سرور آموزش میبینند. اما عموما گرایش بیشتری نسبت به برنامه نویسی سمت فرانت وجود دارد چراکه در این بخش خروجی کار ملموس تر است و گاها برای کاربران این ویژگی جذابیت بیشتری را به همراه دارد.