هر برنامهنویس حرفهای باید هر از چند گاهی زبانهای برنامهنویسی و سکوهای جدید توسعه نرمافزار را بررسی کند و در صورت لزوم از آنها به جای زبان برنامهنویسی و 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 دارند. زبان و سکوی توسعه نرمافزار پوشش دهنده همه موارد فنی تولید نرمافزار نیستند. نیاز به دانستن تکنولوژیهای دیگری نیز مثل شبکه، مجازیسازی و سختافزار نیز در بیشتر جاها وجود دارد.