مدرس و توسعه دهنده نرم افزار
چرا جاوااسکریپت را برای برنامه نویسی انتخاب کردم
این نوشته تجربیات من در طول چند سال به عنوان توسعه دهنده هست. سعی کردم مراحل کاری و دلیل استفاده از تکنولوژیها و زبانهای مختلف رو توضیح بدم. امیدوارم برای کسانی که به حوزه برنامه نویسی علاقه دارن مفید باشه.
یادم میاد اولین بار دوران مدرسه بود که با برنامه نویسی آشنا شدم. اون زمان مدرسه برای ما دورههای آموزشی زبان QBasic گذاشته بود. یه کارهایی باهاش انجام میدادیم ولی من در کل متوجه نبودم جریان چی هست. اما حس میکردم کاری هست که بهش علاقه دارم. تا بعدها در دانشگاه با زبانهای C و C++ آشنا شدم. ترمهای اول دانشگاه بود که علاقه من به برنامه نویسی بیشتر شد، با این که هیچ ایدهای از خود کار و آینده شغلی اون نداشتم .
حدود سال نود و یک تصمیم گرفتم وارد بازار کار بشم. به کمک یکی از دوستان خوبم یادگیری زبان PHP رو شروع کردم و کمی بعد از اون Python. علاقه من به برنامه نویسی بیشتر شده بود اما توانایی زیادی برای توسعه نرم افزار نداشتم. همین باعث شد به عنوان فریلنسر مسیرم رو تغییر بدم به طراحی وبسایت.
چند سالی به همین ترتیب گذشت. با دور شدن از برنامه نویسی، متوجه شدم یکی از سختترین کارها برای من طراحی وبسایت هست. واقعیتش هیچ وقت خودم رو در این راه موفق ندونستم. موارد کمی بود که کارفرما و من از نتیجه کار راضی باشیم. اما به خاطر بحث مالی این مسیر رو ادامه میدادم و هر روز کار برای من سختتر میشد.
تابستان سال نود و پنج بود که به طور اتفاقی وارد پروژهای شدم که بیشتر قسمتهای اون با جاوااسکریپت توسعه داده شده بود. پروژهی خیلی خوبی بود و نمیخواستم از دست بدم. فرصت کمی داشتم تا جاوااسکریپت رو درست یاد بگیریم و این بار ReactJS رو شروع کنم.
اون پروژه شاید یکی از بهترین اتفاقهای زندگی من بود. بیشتر به این خاطر که دوباره تلاش کردم تا برنامه نویسی رو یاد بگیرم. زیاد مهم نبود از چه تکنولوژیهایی استفاده میشه. مسیر کاری من تغییر کرده بود و همین حس خیلی خوبی به من منتقل میکرد.
همیشه بهترین راه یادگیری برای من، تدریس بوده و هست. بعد از چند ماه که احساس کردم مبانی جاوااسکریپت رو متوجه شدم، اون مطالب رو به شکل کارگاهها و دورههای حضوری آموزش دادم. این باعث شد تا تسلط خود من هر روز بیشتر بشه.
قبلا کدهایی با PHP نوشته بودم، اما میتونم بگم بکاند رو با NodeJS شروع کردم. این بار متوجه شدم مسیری که شروع کردم، واقعا چیزی هست که دنبالش بودم. برای همین تصمیم گرفتم تا جدیتر ادامه بدم و امروز تمام تمرکزم بر روی ReactJS و NodeJS هست.
یادگیری خودم رو با کمک تدریس در دورههای حضوری و آنلاین در فرانت کست ادامه میدم چون به نظرم یکی از بهترین مسیرهای کاری برای من میتونه باشه. البته مدتها طول کشید تا این رو متوجه بشم و قطعا شکستهای زیادی بوده و هست.
من جاوااسکریپت رو انتخاب کردم، شاید چون اولین باری بود که یک نرم افزار توسعه دادم. اما در طول این سالها متوجه شدم که نیازهای یک پروژه هست که زبانها و پلتفرمها رو تعیین میکنه. هیچ وقت اینها در رقابت باهم نبودن و نیستن. قطعا علاقه و مسیر کاری یکی از مهمترین دلایل انتخاب میتونه باشه.
زمانی که با دوستانم که با زبانهای PHP یا Python کار کرده بودن در مورد مباحث بکاند صحبت میکردیم، متوجه میشدم تفاوت چندانی بین NodeJS و اونها نیست. ما فقط از ابزارهایی استفاده میکنیم که برای پروژه به عنوان گزینه مناسب انتخاب شدن. تمرکز اصلی روی خود برنامه نویسی هست.
قطعا جاوااسکریپت میتونه بازار کار خیلی خوبی داشته باشه. به این دلیل که با این زبان برای اکثر پلتفرمها میتونیم نرم افزار توسعه بدیم. نمونههای خیلی خوبی با این زبان پیاده سازی شدن. زمانی که ما مفاهیم برنامه نویسی رو درک کنیم، یادگیری زبانهای مختلف خیلی سادهتر هست.
واقعیت این هست که برنامه نویسی میتونه کار پردرآمدی باشه نسبت به شغلهای دیگه. ولی تنها چیزی که ما رو در این مسیر نگه داشته، علاقه بوده و هست. هیچ وقت نباید این کار رو صرفا برای درآمد انتخاب کرد. یک برنامه نویس شاید سالها درآمدی که میخواد رو نتونه داشته باشه ولی راهش رو ادامه بده.
پس جریان اصلی فارغ از زبان یا تکنولوژی هست. همیشه سر کلاسهام پیشنهاد میکنم هر کسی برای خودش یک پروژه واقعی تعریف کنه تا با چالشهای واقعی مواجه بشه. شاید اون زمان هست که متوجه میشیم به این کار علاقه داریم یا نه.
اگر مایل بودین میتونین آموزشهای آنلاین من رو در وبسایت فرانت کست ببینید :)
مطلبی دیگر از این انتشارات
انواع متا تگ ها
مطلبی دیگر از این انتشارات
دلایل قانع کننده برای یادگیری جاوا اسکریپت
مطلبی دیگر از این انتشارات
راهنمای استفاده از this در جاوا اسکریپت