توجه به بازار کار در انتخاب زبان برنامه‌نویسی جدید

هر برنامه‌نویس حرفه‌ای باید هر از چند گاهی زبان‌های برنامه‌نویسی و سکوهای جدید توسعه نرم‌افزار را بررسی کند و در صورت لزوم از آنها به جای زبان برنامه‌نویسی و platform فعلی خودش استفاده کند. مسلماً اگر این طور نبود هنوز برنامه‌نویس‌ها از اسمبلی، فرترن و C به جای جاوا، C# و PHP استفاده می‌کردند. رایج است که در بررسی‌ها بیشتر روی امکانات آن زبان و سکو تمرکز می‌شود. اما این واقعاً همه ماجرا نیست. گاهی اوقات لازم است قبل از انتخاب زبان و سکوی جدید بازار کار را سنجید.
فرض کنید قرار است به یک شهر جدید بروید و به عنوان یک توسعه‌دهنده نرم‌افزار مشغول به کار شوید یا این که یک Remote software developer باشید. این احتمال وجود دارد که سکوهای توسعه نرم‌افزار در محیط جدید با آنچه که شما به آن عادت دارید متفاوت باشد. در این حالت باید علاوه بر امکانات آن زبان برنامه‌نویسی و پارامتر سختی و آسانی یادگیری آن به نیازمندی‌های محیط جدید هم توجه کنید. به عنوان مثال بیشتر برنامه‌نویس‌های ایرانی به یکی از سه سکوی .Net ، جاوا یا PHP آشنا هستند در حالی که در خارج از ایران Python و Ruby و Node هم رواج فراوانی دارد.
در حالتی دیگر فرض کنید که می‌خواهید در دنیای Open Source یا فضای آکادمیک فعالیتی جدی داشته باشید. در این حالت شاید لازم باشد اولویت پایین‌تری برای C# قائل شوید چون این طور زبان‌ها محبوبیت کمتری در حوزه Open Source و آکادمیک دارند. مسلماً امکانات این زبان و سکوی آن و اکو سیستم و libraryها و compnoentهای آن دست کمی از خیلی زبان‌ها و سکوهای دیگر ندارد اما به هر حال محبوبیت آن در Open Source نسبت به امثال Java و Python و Ruby و PHP و Node کمتر است.
و در آخر حالتی دیگر را فرض کنید که در آن ممکن است به زودی درگیری دائم با یک ابزار خاص پیدا کنید. مسلماً عقلانی خواهد بود اگر تلاش برای یادگیری‌تان را متمرکز کنید بر زبان و سکویی که آن ابزار با آن توسعه پیدا کرده است. مثلاً اگر قرار است مدتی طولانی را با vTiger CRM سر کرده و برای آن ماژول تهیه کنید و آن را توسعه دهید بهتر مستقیماً به سراغ PHP بروید حتی اگر علاقه‌ای به PHP ندارید و آن را زبان ضعیف یا از مد افتاده‌ای می‌دانید.

پی‌نوشت:
بررسی  فرصت‌های شغلی ۶۰ شرکت نرم‌افزاری از فهرست ۲۵۰ تایی شرکت‌های با امکان Remote Working به طور تخمینی نشان می‌دهد که Ruby/Rails محبوب‌ترین زبان برنامه‌نویسی برای کارفرمایان است. بعد از آن Python و JavaScript و سپس Node و PHP قرار دارند. میزان استخدام‌های مربوط به Ruby/Rails دو برابر نزدیک‌ترین مورد به خودش یعنی Python است. بیشتر موقعیت‌های کاری مربوط به Web Applicationها و مقدار کمی هم مربوط به موبایل‌ها است. جالب است بدانید که دو شرکت بزرگ Canonical (عرضه کننده اوبونتو) و Docker هر دو تکیه زیادی به Python دارند. زبان و سکوی توسعه نرم‌افزار پوشش دهنده همه موارد فنی تولید نرم‌افزار نیستند. نیاز به دانستن تکنولوژی‌های دیگری نیز مثل شبکه، مجازی‌سازی و سخت‌افزار نیز در بیشتر جاها وجود دارد.

تجربه خرید اینترنتی خارجی

نیاز به خدمات hosting با کیفیت و قیمت مناسب داشتم. به این نتیجه رسیدم که اگر مستقیماً از یک شرکت خارجی خرید کنم خیلی ارزان‌تر برایم تمام می‌شود و کیفیت بهتری نیز نصیبم خواهد شد. بعد از مدتی تست و بررسی متوجه شدم که DigitalOcean (لینک حاوی کد ریفرال من است) از همه مناسب‌تر است: خدمات ابری (IaaS) با قیمت ۵ دلار در ماه در نقطه دلخواه بر روی سرورهایی با هارد SSD.

سرویس مورد نظر در هیچ حالتی به IP حساس نبود. یعنی موقع ثبت نام جلوی من را نگرفت و سرورهایش هم در سرویس دادن به IPهای ایرانی مشکلی نداشتند. مرحله verify ایمیلی به خوبی انجام شد اما در verify بعدی به مشکل برخوردم. چون باید مشخصات یک Credit Card بین المللی را وارد می‌کردم و آنها بعد از یک برداشت چند دلاری امتحانی و بازگرداندن مجدد آن مطمئن می‌شدند که من یک کاربر واقعی هستم.

چون Credit Card نداشتم نتوانستم از این مرحله رد شوم. قرار شد یکی از دوستان خارج نشین این کار را از طرف من انجام دهد. ولی وقتی که مشخص شد سرویس مورد نظر مشخصات کارت را ذخیره می‌کند و برداشت‌های reoccurance دارد (یعنی ماه به ماه خودش بدون دخالت صاحب کارت از کارت پول برداشت می‌کند) نگران شد که مشکلی از این بابت به وجود بیاید که البته حق هم داشت، نه فقط از این بابت بلکه به خاطر معامله با یک کشور تحت تحریم و استفاده از امکانات بانکی کشور متبوع خودش برای فردی دیگر.

شنیده بودم که بانک‌ها هم حساب Credit Card باز می‌کنند. به بانک پارسیان مراجعه کردم. هزینه‌های افتتاح حساب برای پرداخت‌های ماهی ده بیست دلار به صرفه نبود. حدود ۳۰۰ دلار باید صرف می‌شد تا حساب باز شود. تازه فکر می‌کنم بعد از آن باید وثیقه‌ای یا سپرده‌ای هم به بانک داده می‌شد. وضعیت صرافی‌ها هم بهتر از بانک‌ها نبود. آنها هم پرداخت‌های چهل پنجاه دلاری برایشان صرف نمی‌کرد.

این بار تلاش کردم که مشکلم را با Gift card debit card حل کنم. شرکت‌هایی مثل Visa کارت‌های gift در حد ۲۰ تا ۲۰۰ دلار دارند که به صورت debit هستند و از فروشندگانی در ایران هم قابل تهیه هستند. اما مشکل آنجا بود که سرویس مورد نظر کارت‌های مشابه این کارت را قبول نمی‌کرد. ظاهراً به دلیل تقلب‌هایی که با این جور کارت‌ها انجام می‌شود.

کم کم داشتم نا امید می‌شدم که دوست عزیز خارج نشینمان متوجه شد که می‌توان پرداخت را با کمک همین gift cardها ولی از کانال PayPal انجام داد. یعنی gift card به حساب PayPal متصل شود و پرداخت از طریق PayPal انجام شود. با این امید که بالاخره راهی برای پرداخت پیدا شده به سراغ یکی از فروشندگان رفتم و یک gift card شرکت ویزا با قیمت هر دلار معادل ۵۲۰۰ تومان (بیش از یک نیم برابر قیمت روز دلار) تهیه کردم. با کمک یک VPN آمریکایی یک کد پستی و آدرس معتبر آمریکایی برای gift card ثبت کردم (این کارت فقط قابلیت خرید از داخل آمریکا را داشت) و سعی کردم پرداخت را با PayPal انجام دهم ولی موفق نشدم. این کار را چند شب پشت سر هم تکرار کردم ولی موفق نشدم.

آخر سر متوجه شدم چون که PayPal من با آدرسی در فرانسه (خارج از آمریکا) ثبت شده بود امکان خرید وجود ندارد. مجدداً با ترس و نگرانی یک حساب جدید PayPal باز کردم و خرید را با آن انجام دادم. این بار شد. وقتی که پول از حسابم کم شدم انگار یک معجزه اتفاق افتاده بود! بله با صرف وقت زیاد و تحمل ریسک بالا و خرید دلار با قیمت بیش از یک و نیم برابر قیمت روز (هر دلار ۵۲۰۰ تومان تمام شد) موفق شدم که به خیل مشتریان خدمات hosting شرکت DigitalOcean (لینک حاوی کد ریفرال من است) بپیوندم. امیدوارم خدمات خوبی داشته باشند و در یکی از پست‌های بعدی راجع به آن بنویسم.