سالها قصد داشتم از پلتفرم مایکروسافت بیرون بیایم و تکنولوژی ها و زبان های دیگری را تجربه کنم. نه که این مایکروسافت یا دات نت و سی شارپ به درد نخور باشند. نه، اصلاً و ابداً اینطور نیست. پلتفرم مایکروسافت نه تنها جوابگوی خیلی نیازمندی ها است، بلکه خیلی هم پر استفاده و به روز است.
انگیزه من از اونجا شروع میشود که به عنوان یک مهندس نرمافزار لازم است که با پلتفرم های مختلف کار کرده و تکنولوژی های متنوعی را تجربه کنم. در واقع اعتقاد دارم که هیچ کسی نباید فقط به یک پلتفرم رضایت بدهد. کار با پلتفرم های مختلف باعث گسترش زاویه دید می شود.
و اما بازار کار، انگیزه دوم این موضوع محسوب می شود. بخش قابل توجهی از کارهایی که قابل outsource شدن به کشورهای دیگر هستند از پلتفرم های غیر مایکروسافتی هستند. که البته دلیلش میتواند یکپارچگی بالای پلتفرم های مایکروسافتی در برابر سبک بودن موارد غیر مایکروسافتی باشد. در تیم های غیر مایکروسافتی راحتتر میتوان تیم های مجزا داشت یا آزادی عمل در استفاده از ابزار اعطا کرد.
آنهایی که علاقمند به دریافت job offer هستند هم باید توجه کنند که پلتفرم های جاوا اسکریپتی یا پایتون و روبی شانس بیشتری نسبت به موقعیت های مربوط به دات نت دارند. اگر در سرویس های کاریابی جستجو کنید، طرف داران غیر مایکروسافتی را خیلی بیشتر مشاهده خواهید کرد. حتی اگر شانس غیر مایکروسافتی ها بالاتر نباشد، بلد بودن آنها در کنار پلتفرم های مایکروسافتی شانس دریافت job offer را خیلی افزایش خواهد داد.
موضوع دیگری را هم میتوانم به عنوان انگیزه شماره سه نام ببرم. اگر کسی مدیر فنی یا CTO بودن را در مسیر شغلی خود می بیند، خوب است که تنوع پلتفرم خودش را بالا ببرد. یک CTO حرفهای بهتر است که تک بعدی نبودی و شناخت خوبی از بیشتر پلتفرم ها و تکنولوژی های روز داشته باشد. کسی که هم دات نت میداند و هم یک پلتفرم غیر مایکروسافتی را، آدم خلاق تری بوده و احتمالاً در سایه تعصب کمتر، میتواند تصمیم های درست تری بگیرد. کسی که علاوه بر back-end، تجربه کار در فرانت و موبایل را هم دارد، بهتر میتواند یک تیم توسعه یا بخش فنی یک شرکت را هدایت کند.
صد البته که ماجراجویی هم بخش دیگری از ماجراست. همان چیزی که خیلی از برنامه نویس ها و تکنولوژیست ها را از روز اول جذب کرده است. واقعاً دلتان نمیخواهد که همان کاری که با HTTP و چرخه عمر یک Request در ASP.NET میکنید را با Express.js یا Ruby Rails هم انجام دهید؟
مطمئناً تغییر مسیر و عوض کردن تکنولوژی بی عیب و ضرر نیست. مدت زمان زیادی صرف یاد گرفتن و عادت کردن به محیط جدید خواهد شد. شبکه ارتباطی تحت تأثیر قرار خواهد گرفت، تمرکز کاهش خواهد یافت و همینطور الی آخر. در ادامه این نوشته به بیشتر اینها خواهم پرداخت.
به هر تقدیر من بعد از سالها تصمیم ام را عملی کردم، اول وارد فرانت و react.js شده و با ES درگیر شدم. تجربه react.js را در یک پروژه دیگر ادامه دادم و این بار به بکند برگشتم و هم راستای react.js وارد node.js شدم. هنوز در فضای node.js و nest.js و distributed computing و کافکا و typescript هستم و اگر یک پیشنهاد خیلی خیلی جذاب از دنیای دات نت دریافت نکنم، یا دچار فقدان موقعیت کاری مناسب نشوم، به مسیر node.js/react.js ادامه خواهم داد.
قصد دارم در یک سری نوشته به مسائلی که در این مسیر با آن برخورد داشتهام بپردازم. مسیری که همزمان شد با عوض کردن چندین باره شرکت، فاصله گرفتن از عنوان مدیر فنی، شیوع کرونا، چند برابر شدن قیمت دلار، مشکلات که در دنیای شخصی گریبانگیرم شد، ریموت کاری ها و جابجایی های اجباری، ناچار شدن به کار خارجی (قبلاً فقط دوست داشتیم ولی الان داریم مجبور می شویم) و برخی موارد دیگر. درواقع حدس میزنم این سری نوشتهها تبدیل شود به اتوبیوگرافی این دو سه ساله که تقریباً با خروج آمریکا از برجام شروع شده و حالا حالاها ادامه خواهد داشت.
Comments
سلام، خیلی ممنونم بابت نوشته هاتون.
مهندس راستی جاوا رو از قلم انداختید توب کاریابی، جزو بهترین زبانها برای مهاجرت کاری هستش به نظرم و همه جا بازارش خوبه.
به نظرتون برای من که چندین سال هست پایتون و روبی کار میکنم، انتخاب مسیر جدید، دات نت کور یاد بگیرم بهتره(چون جدیدا میبینم خیلی سر و صدا به پا کرده و دارن تبلیغ میکنن؛ گرچه نمیدونم چیز بدربخوری هست واقعا یا نه) یا اینکه برم وارد دنیای جاوا و اسپرینگ بوت بشم(چون یه آشنایی قدیمی باهاش دارم و همچنین بازارش خیلی خوبه)