اگر حتی مثل ما سال ها در زمینه برنامه نویسی و توسعه نرم افزار کار کرده باشید هم باز نیاز است تا روندها را رصد کنید و برای پروژهها و نیازهای مختلف از زبانها، کتابخانه کد و فریم ورکها مطلع باشید. یکی از زبانهای برنامه نویسی (Scripting) که بسیار زیاد درباره آن صحبت می شود جاوا اسکریپت است. زبانی حدودا ۲۵ ساله که فراز و نشیب های زیادی داشته ولی سعی کرده است تا راه خود را باز کند. می توان گفت از سال ۲۰۱۵ و با معرفی ویژگی های جدید مانند کلاس، Arrow function، Promise، Let/const و... به این زبان، توانسته تا دل توسعه دهندگان بیشتری را به دست آورد.
با معرفی Jquery در سال ۲۰۰۶ و NodeJS در سال ۲۰۰۹، React در سال ۲۰۱۳ و Angular در سال ۲۰۱۶ و بسیاری کتابخانه و فریم ورک دیگر این زبان نفوذ بیشتری را در Front-End و البته Back-End به دست آورد.
در حال حاضر این زبان یکی از انتخاب های اصلی برای Front-End و یک انتخاب مناسب (البته متناسب با نیاز و معماری) در توسعه Back-End است.
حال بپردازیم به این موضوع که این زبان چقدر در بازار کار مناسب است و تقاضا دارد.
با نگاهی به لیست آگهیهای روزانه در سایتهای استخدامی ایران در طول سال از اعدادی بین ۴۰۰ تا بیش از ۱۰۰۰ عنوان شغلی مرتبط با جاوا اسکریپت و Front-End را می توان دید که در شرح شغلی آنها جاوا اسکریپت و حداقل یک فریم ورک یا کتابخانه مانند React ذکر شده است. همچنین در سطح جهانی با جستجو در سایتهای مطرح از ۳۵۰۰۰ تا ۷۴۰۰۰ عنوان شغلی وجود دارد که در آنها زبان Javascript و Typescript (بزودی درباره آن می نویسیم) و همچنین HTML/CSS/SASS نیاز است. در ایران بسیاری از سایتهای مطرح از یک React، Angular و یا VueJS استفاده می کنند که پایه همه آنها درک خوب جاوا اسکریپت است. البته jQuery نیز همچنان طرفدار دارد اما با گسترش نیازهای سمت Front-End به مرور جای خود را به یکی از فریم ورکها خواهد داد.
حال نگاهی بیندازیم به یک نمونه از آگهی استخدامی (سطح خبره یا Senior) مرتبط با جاوا اسکریپت از شرکت Automattic که پشتیبان پروژه هایی مانند Wordpress.com ،Tumblr و WooCommerce است.
در بخش نیازهای این موقعیت آماده است که درک بسیار کامل از CSS ،HTML و Javascript نیاز است. همچنین با React و Redux کار کرده باشید. در ادامه به این موضوع اشاره می کند که در یک تکنولوژی سمت Back-End مانند NodeJS ،PHP و یا Python تجربه داشته باشید.
ما به این دلیل این آگهی را انتخاب کردیم چون اصل مطلب و نیاز را بیان کرده است و از شرکت معتبری است. این آگهی بسیار ساده و شفاف است و چراغ راه خوبی است تا بدانیم برای داشتن یک شغل به عنوان Senior Javascript Engineer و یا Front-End Developer باید چه مسیری را برویم. البته مواردی وجود دارد که شما باید درباره آن تجربه کسب کنید مانند GIT، TDD و یا کار با Kubernetes یا Docker Container. اما این آگهی یک نکته مهم دارد HTML + CSS +Javascript را خیلی خوب بلد باشید. خیلی خوب!!! و نیز با مانند React کرده باشید.
یک سوال مهم این است که آیا جاوا اسکریپت زبان مناسبی برای توسعه Back-End است یا نه. این سوال پاسخ های مختلفی را به همراه دارد مانند این که بله صد در صد. با موتور Node JS و Express JS Framework یک استک خوب برای توسعه Back-End است. هم سریع است هم هزینهها را کاهش می دهد و هم با یک تیر دو نشان زدن را دارد. از طرفی باید قبول کرد که هر کدام از زبان های برنامه نویسی برای نوعی از نیاز طراحی شده و هیچ زبانی در هر سناریویی بهترین انتخاب نیست. به عنوان مثال زبان جاوا اسکریپت در بخش هایی نحوه نوشتهای مختلفی دارد که می تواند در پروژه ها وقت گیر و گیج کننده باشد و همان کار را با پایتون بتوان سریع تر انجام داد. نکته این است که تمرین، کسب تجربه در پروژه ها و آزمودن همیشه و همجا راهگشای تبدیل شدن به یک توسعه دهنده عالی است. انتخاب یک استک درست نیاز به مشورت و کسب تجربه دارد. البته با دیدن سایت هایی مانند LinkedIn, Uber, Netflix, Medium, NASA و... که از NodeJS استفاده می کنند می توان گفت NodeJS و Javascript سمت Back-End از پس کار بر آمده اند (منبع).
اگر می خواهید بر روی زبان برنامه نویسی جاوا اسکریپت برای ورود و یا پیشرفت در بازار کار هم در Front-End و در Back-End سرمایه گذاری کنید، ما حتما آن را به شما پیشنهاد می کنیم. آینده توسعه وب و البته تلاقی آن با توسعه موبایل اپ مسیری بسیار روشن است.
در آخر اگر می خواهید در زمینه Full Stack Development با زبان جاوا اسکریپت یادگیری و مهارت آموزی خود را شروع کنید، پیشنهاد می کنیم تا نگاهی به مسیر بوت کمپ فول استک جاوا اسکریپت کارادمی داشته باشید.
منتظر تجربیات و نظرات شما در بخش کامنتها هستیم.