Jimmy Heller
Jimmy Heller
خواندن ۵ دقیقه·۲ ماه پیش

اگر یه جونیور فرانت، جاوا یاد بگیره براش بهتره؟

مدت زیادیه که تلاش میکنم کوتاه کوتاه بنویسم ولی بیشتر بنویسم یا بیشتر شیر کنم. تمرکز بیشترم هم روی جونیورها و کسایی هستن که با تمام چالش‌های روزانه و درگیری‌های AI هنوز مشتاقن که کار کنن.

تو چند هفته گذشته یک سوال به شکل‌های مختلف پرسیده شد. تصور کردم که اگر جوابشو با همه به اشتراک بذارم شاید کمک بکنه.


سوال این بود:

من اگر به عنوان کسی که سابقه کمی دارم و چند وقتی هست که فلان تکنولوژی (فرض کنید Front End) کار میکنم سوییچ کنم روی جاوا موقعیت بهتری برام پیدا نمیشه؟ یا امنیت شغلی بیشتری ندارم؟

سوال خیلی طولانی‌تر بود اما من کوتاهش کردم. دلیل این سوال هم این بود که خیلی از بچه‌هایی که تازه شروع میکنن و کمتر از ۳ سال سابقه دارن با چالش‌های زیادی مواجه میشن از جمله imposter و حس کافی نبودن و خود کم بینی. از طرف دیگه فکر میکنن که چون تو فیلد شغلی خودشون تونستن زود برن سرکار یا مثلا چون front یا mobile کار کردن بقیه تو back end چیزای بیشتری ازشون بلدن.

جواب من اما این بود (با کمی تغییر)

بذار متنتو یه بار با هم مرور کنیم :

- حاضری سختی درس خوندنشو تحمل کنی. (گفته بود حاضره learning curve رو تحمل کنه)

- دوست داری تو حل مساله پیشرفت کنی (میخواست که مهارت حل مساله رو بهتر کنه)

- بازار کار هم مهمه (ایده‌اش این بود که برای جاوا شغل بیشتری هست)

- آیا جاوا گزینه خوبی هست یا نه.

قسمت اول که خب طبیعتا باید اذیت شدنشو تحمل کنی. اما بسته به انتخابت این learning curve میتونه فرق بکنه.

حالا اگر بخوام اینو وصل کنم به مهارت حل مساله یا هرچیزی که فکر میکنی یاد نگرفتی تا الان، باید بگم که مهارت حل مساله اصولا به زبان برنامه نویسی ربط پیدا نمیکنه.

تو الان اگر جاوا اسکریپت یا تایپ اسکریپت هم بلد باشی میتونی کار رو در بیاری. اما آیا خود مهارت حل مساله رو داری؟

فرض بگیر که من بهت بگم جاوا خیلی خوبه و میری شروع میکنی. چه تضمینی هست که بری زبان رو یاد بگیری اما این مهارت همچنان نقطه قوت نباشه و تو اون انتظاری که داشتی رو نتونی برای خودت برآورده کنی؟

در واقع این رو باید اینجا تصمیم بگیری که کدوم برات اولویته؟

از طرف دیگه اشاره کردی به بازار کار، به نظر من بازار کار کلا سخت شده و ربطی به توانایی نداره. درسته که جاوا خیلی بازار کار داره اما این بازار کار خوب برای کیه؟ برای کسی که ده سال سابقه کار داره یا کسی که میخواد تازه شروع کنه؟ من تحقیق نکردم ببینم ولی اینو هم بد نیست بگنجونی تو فکرات. ببینی مثلا الان بری بگی من اینقدر سال سابقه دارم ولی فقط مثلا ۶ ماهش جاواعه چی میشه! اصلا میخوای رزومه بدی چی بزنی؟

حالا همه اینارو جمع کنم و بهت بگم که خب تو همین الان به خاطر کار کردن با ابزار فرانت یک یا دو زبان برنامه نویسی مثل جاوا اسکریپت و تایپ اسکریپت رو بلدی. چرا اینو استفاده نکنی که همون کانسپت‌هایی که میگی رو یاد نگیری؟ در عین حال مهارت حل مساله مگه الان تو دنیای برنامه نویسی چیزی جز پیدا کردن راه حل‌های الگوریتی مسخره leet code عه ؟ خب اونارو همه رو با همین دو تا میشه تمرین کرد نیازی به جاوا نداری که.

بعد که اینارو یاد گرفتی میتونی به جاوا هم ناخونک بزنی.

چرا اینو میگم، دلیلش اینه که تو وقتی کانسپت‌هایی که بلد نیستی رو با زبان خودت که الان کاری کردی یاد بگیری راحت‌تر میفهمی ولی وقتی میخوای مفاهیم رو هم با زبان جدید یاد بگیری یهو چالش‌هات چند برابر میشه.

من خیلی هم بایاسدم نسبت به جاوا و میگم بهترین زبانه اما نمیتونم بهت دروغ بگم که اگر جاوا یاد بگیری بقیه چالش‌ها هم حل میشه.

در نتیجه پیشنهادم بهت اینه که یه دور دیگه از این زاویه دید بهش نگاه کنی و بخوای بدون اینکه به زبان فکر کنی تو مسایلی که میخوای قوی بشی.

موضوع موقعیت کار همچنان پابرجاست که اون رو هم میتونی با موقعیت‌هایی که به زبان خیلی حساس نیستن و میگن مثلا یکی از زبان‌ها رو کار کرده باشی هم ما اوکیم باهات یا فول استک باشی بهتره امتحان کنی.

اصل حرفم اینه که به جای اینکه به ابزار و زبان برنامه نویسی فکر کنی، یا دائم فکر کنی که چون تو فلان کار رو نکردی پس همه چیز رو سطحی یاد گرفتی، به این فکر کن که اوکی من یه سری چیزا رو بلدم و یه سری چیزها رو هم اصلا بلد نیستم و حتی خبر ندارم که چین که یاد بگیرم.

میرم اول وضعیت فعلیم رو لیست میکنم بعد میگم میخوام مثلا ۳ ماه آینده کجا باشم و چه موضوعاتی رو یاد بگیرم.

اصل داستان این نداشتن امنیت شغل از ذهن تو میاد که باور نداری که چقدر توانایی داری و چه چیزهایی رو بلدی. یعنی وقتی نمیدونی که حد دونستن چیه، تصورت اینه که خب بقیه چیزهایی زیادی بلد هستن که من از اونا سر درنمیارم در نتیجه بسیار عقب هستم.

اینم از سطح انتظارات بالای زیاد از خودت میاد گاها که آسیب زننده است. باید انتظارات رو هم مدیریت کنی. یعنی اگر تازه شروع کردی به کار کردن انتظار نداشته باشی اندازه یک نفر که ۵ سال جلوتر از توعه دانش داشته باشی یا چیزی شبیه این.

امنیت شغلی تو از این میاد که بدونی کاری که داری انجام میدی رو بلدی، تغییر ایجاد میکنی و حتی اگر از اینجا بیای بیرون و بخوای بری جای دیگه به راحتی میتونی کار پیدا کنی و نگران نیستی فارغ از اینکه اصلا توانایی و حیطه کاریت چیه. این با جاوا هم همینه با react هم همینه!

امیدوارم تونسته باشم بهت کمک کنم که هم استرست کم بشه هم اینکه کمی بهتر بتونی فکر کنی که مسیر رو چطوری بچینی. میتونیم بیشتر در موردش حرف بزنیم اما هدف اصلیم اینه که تغییر به این بزرگی رو تبدیل به سرخوردگی نکنی در صورتی که میشه با قدمهای کوچیکتر و مطمئن‌تر نتیجه بهتری گرفت.



برنامه نویسیجاوابازار کار
یک برنامه نویس ساده. عاشق موسیقی و فیلم. علاقمند به هر نوع ورزش.
شاید از این پست‌ها خوشتان بیاید