جاوا اسکریپت؟ پایتون؟ برو؟ کدام پشته فناوری را باید یاد بگیرید؟

آه، سوال قدیمی: کدام پشته فناوری را باید یاد بگیرم؟ توسعه دهندگان مشتاق اغلب در این دوراهی گرفتار می شوند و فهمیدن دلیل آن کار سختی نیست. صنعت فناوری اقیانوسی از فرصت ها است و ترس از شیرجه رفتن در آب های اشتباه می تواند فلج کننده باشد.
اما در اینجا یک راز کوچک برای شما وجود دارد: کنجکاوی سیری ناپذیر و مایل به یادگیری چیزهای جدید مهم تر از استرس یادگیری دقیقاً چیزهای درست است.
“سعی نکنید آموزش برنامه نویسی خود را به حداقل برسانید”
– برگرفته از ThePrimeagen
زیاد مهم نیست. در هر پشته کارهایی وجود دارد
در هر پشته فناوری مشاغلی وجود دارد. از زبانهای محبوبی مانند جاوا اسکریپت، پایتون و روبی گرفته تا زبانهای جدیدتر مانند Go، Elixir یا Rust، بازاری برای هر کدام از آنها وجود دارد.
برای مثال جاوا اسکریپت را در نظر بگیرید. این زبان پیشرو برای توسعه front-end است، و Node.js آن را به طرز باورنکردنی در back-end نیز همه کاره کرده است. با ظهور معماری های بدون سرور و محبوبیت React و Angular، توسعه دهندگان جاوا اسکریپت تقاضای زیادی دارند.
اما اگر بیشتر به پایتون علاقه داشته باشید چه؟ مشکلی نیست! پایتون نه تنها مورد علاقه دانشمندان داده و مهندسان یادگیری ماشین است، بلکه یک انتخاب محکم برای توسعه وب با چارچوب هایی مانند جنگو و فلاسک است.
نکته این است: هر پشته فناوری که انتخاب کنید، شغلی برای شما وجود دارد اگر می دانید چه کار می کنید.
تعداد کل مشاغل مهم نیست، فقط نیاز دارید یکی
بیایید فرض کنیم که شما یک طرفدار گلانگ هستید، اما نگران هستید زیرا به اندازه جاوا اسکریپت شغل Go وجود ندارد. خوب، این را به یاد داشته باشید: شما فقط باید فرود بیایید یکی کار.
به جای نگرانی در مورد تعداد کل مشاغل موجود، روی یافتن مناسب برای مهارت ها و علایق خود تمرکز کنید. به هر حال، کار عالی در یک بازار کوچکتر بهتر از بدبختی در دریایی از کنسرت های جاوا اسکریپت است. من در واقع یک مقاله کامل نوشتم که چگونه نسبت فرصتها/توسعهدهندهها در مقایسه با تعداد کل مشاغل مهمتر است.
شما شکست خواهید خورد زیرا تسلیم می شوید و یادگیری را متوقف می کنید، نه به این دلیل که پشته فناوری شما محبوب نیست
صنعت فناوری به سازگاری و رشد پاداش می دهد. فناوریها میآیند و میروند، اما مهارتها و طرز فکر اصلی یک توسعهدهنده پابرجاست. انتظار داشته باشید که در طول حرفه خود به طور مداوم زبان های برنامه نویسی، چارچوب ها و ابزارهای جدید را یاد بگیرید.
در واقع، استفاده از چندین زبان و چارچوب میتواند شما را به یک توسعهدهنده جامعتر و همهکارهتر تبدیل کند. با قرار گرفتن در معرض روش های مختلف تفکر و حل مشکلات، درک جامع تری از مفاهیم برنامه نویسی ایجاد خواهید کرد.
صدها زبانآموز را دیدهام که در سفر خود برای توسعهدهنده شدن شکست میخورند، زیرا آنها دست از کار کشیدند و یادگیری را متوقف کردند. من هرگز ندیده ام که یک نفر شکست بخورد زیرا با پشته اشتباه شروع کرده است.
هر چیزی کار می کند، اما برخی از انتخاب ها هستند بهتر از دیگران
خوب، بنابراین ما ثابت کردهایم که میتوانید در هر پشته فناوری شغلی پیدا کنید، اما آیا این بدان معناست که همه انتخابها به یک اندازه خوب هستند؟ نه کاملا.
هنگام انتخاب یک پشته فناوری، عواملی وجود دارد که می توانند بر پیشرفت شغلی شما تأثیر بگذارند. بیایید چند نکته کلیدی را که باید در نظر داشته باشید، بررسی کنیم.
سعی کنید چیزی را بیاموزید که در منطقه شما شغل دارد
قبل از انتخاب یک پشته فناوری، در مورد بازارهای کار محلی و روندهای صنعت تحقیق کنید. دریابید که کدام زبان ها و چارچوب ها در منطقه شما تقاضای زیادی دارند و کدام یک در حال افزایش هستند.
کار با یک پشته فناوری که دارای یک جامعه و شبکه پشتیبانی قوی است می تواند به شما کمک کند به روز بمانید و پیدا کردن شغل یا کنسرت های آزاد را آسان تر کند. من همچنین دریافتهام که برای توسعهدهندگان جوان معمولاً یافتن شغل در منطقه محلی شما آسانتر از یافتن یک کنسرت از راه دور است. این یک قانون سخت و سریع نیست، اما چیزی است که باید در نظر داشت.
یک پشته فناوری را انتخاب کنید که از آن لذت می برید
به یاد داشته باشید: انتخاب پشته فناوری شما باید با علایق شخصی و اهداف شغلی شما هماهنگ باشد.
- اگر به علم داده و یادگیری ماشین علاقه دارید، ممکن است پایتون انتخاب بهتری برای شما نسبت به PHP باشد.
- اگر به توسعه back-end بومی ابری علاقه دارید، قطعا Golang را توصیه می کنم.
- اگر به دنبال ساختن برنامه های وب شیک و تعاملی هستید، جاوا اسکریپت و فریم ورک های مختلف آن می تواند در کنار شما باشد.
از یادگیری فناوری هایی که در محل کار از آنها استفاده نمی کنید نترسید
برای تبدیل شدن به یک توسعه دهنده خوب، تعداد زیادی وجود دارد مفاهیم که یادگیری آنها مهم است هنگام طراحی مسیر یادگیری در Boot.dev، من نه تنها به آموزش مجموعهای از فناوریها به دانشآموزان علاقهمندم، بلکه بر حفظ آن مفاهیم تمرکز دارم. همانطور که مشخص است، برخی از زبان ها و چارچوب ها در آموزش مفاهیم خاص بهتر از دیگران هستند.
برای مثال، اگر برای تبدیل شدن به یک توسعهدهنده بکاند کار میکنید، در اینجا برخی از مفاهیم مهم آورده شده است:
نگران نباشید، همیشه می توانید بیشتر بیاموزید
هنگامی که یک زبان برنامه نویسی را یاد گرفتید، انتخاب زبان دیگر تبدیل می شود مسیر آسان تر. من 80+٪ راحت تر صحبت می کنم. اکثر توسعه دهندگان جدید این را نمی دانند، اما به همین دلیل است که نیازی به استرس زبان اول ندارید.
زبان های برنامه نویسی ممکن است نحو و تفاوت های ظریف متفاوتی داشته باشند، اما مفاهیم زیربنایی ثابت باقی می مانند. هنگامی که اصول اولیه را به دست آوردید، یادگیری یک زبان یا چارچوب جدید بیشتر به درک ویژگی های خاص و کمتر در مورد دست و پنجه نرم کردن با ایده های کاملاً جدید تبدیل می شود. درختهای دودویی، کپسولهسازی و بستهشدن عملکرد، همگی مفاهیمی جهانی هستند، شما هرگز نیازی به یادگیری مجدد آنها نخواهید داشت.
بگذارید مثالی برای شما بزنم: اگر به پایتون مسلط باشید و تصمیم به یادگیری جاوا اسکریپت داشته باشید، متوجه خواهید شد که بسیاری از مفاهیم اصلی برنامه نویسی مانند حلقه ها، شرطی ها و توابع بسیار شبیه به هم هستند. جاوا اسکریپت خصوصیات خود را دارد (با نگاه کردن به شما، this
کلمه کلیدی)، اما از اینکه چقدر سریع می توانید آن را بردارید شگفت زده خواهید شد.
برو جلو چالش ها را در آغوش بگیرید، از شکست ها درس بگیرید، و مهمتر از همه، هرگز از کنجکاوی دست برندارید. موفق ترین توسعه دهندگانی که من ملاقات کرده ام هرگز نمی پرسند “آیا واقعاً نیاز به یادگیری X دارم؟” آنها می گویند “X به نظر هیجان انگیز است! من می خواهم چیزی با آن بسازم.”