چندوقت پیش فک میکردم قبلتر، وقتی که هنوز برنامه نویسی برام خیلی جدی نشده بود و مطمئن نبودم که میتونم به عنوان شغل آخرم انتخابش کنم، چه چیزایی روی مخم بوده که نمیزاشته این مهارت رو جدی بگیرم.
یا بیشتر از اون، وقتی تو روزای اول، مشغول یادگیریش بودم چه حرفایی رو شنیدم که بعداً برام مشخص شد چرت و پرت بوده و لزوماً تأثیری توی کیفیت کار من نداره. من همه این افکار و جملات رکیک رو تحت عنوان "چرت و پرتهایی که درمورد برنامه نویسی میگن" دسته بندی کردم و دوست دارم شما هم توی تکمیل این لیست منو کمک کنید.
پس بریم به سراغ این جملات :
ربطی نداره. خیلی از آدمها هستن و بودن و خواهند بود که توی سنین بالای 30 سال این کارو شروع کردن و رفته رفته توش پخته شدن. اگرچه طبیعیه که با بالارفتن سن، شانس پیدا کردن شغل برای کارهای تمام وقت کمتر میشه و این درمورد همه مشاغل صدق میکنه، اما لزوماً مانعی برای شروع این کار نیست.
علاوه براینکه با زیاد شدن کارهای پروژه ای، مشاوره ای و فریلنسری، شما همیشه میتونید خودتون رو به عنوان یه نیروی حرفه ای و آماده به کار نشون بدید و این هیچ ربطی به سن و سال نداره.
یکی از بهترین جوابهایی که درمورد این سوال خوندم، برای یکی از کاربرای quora بود:
I am so sick of people who are barely out of the womb asking if it's too late to do something. I am 45 for pete's sake and I'm just now learning! I'm the one who should be asking if it's too late. Why do people keep asking this question?! As long as you're breathing and your brain is functioning and you have the desire, you can do whatever you want!
اگرچه هیچکدوم از یادگیری ریاضیات دل خوشی نداریم اما دراین مورد یادگیری مفاهیم پایه ای علم کامپیوتر مثل ساختار داده ها، الگوریتمها، گرافها و ... که میتونه به نوعی به برخی از شاخه های ریاضیات ، هندسه و گسسته مرتبط باشه مهمه. خیلی هم مهمه.
اما به جز اون، اگر منظور از ریاضی، مشتق و انتگرال و مزخرفات دیگه ای هستن که توی دانشگا و دبیرستان و مدرسه خوندیم، والا بعید میدونم. باز حالا هرجور صلاحه.
این هم ازون حرفاست. البته که هرسال با گسترش برنامه نویسی و معرفی شدن زبانها و فریمورک های جدید، یکیشون ترند میشه و به قول معروف اسمش همه جا رو میگیره، اما این به این معنی نیست که باقی زبان ها هم بیکار نشستن و دارن بازارشونو از دست میدن. چیزی که مشخصه اینه که:
حرفه ای بودن و حرفه ای شدن توی هر زبانی، همیشه مارو با مشتریهای دست به نقدی روبرو میکنه که حاضرن پول خوبی بابت مهارت مون بدن.
پس اگر هم میبینیم به خاطر نیاز بازار، تقاضا برای استخدام برنامه نویس فلان زبان بیشتر از زبان های دیگه میشه، لزوماً دلیلی برای بهتر بودنش نیست.
هر زبانی به واسطه ویژگی ها و امکاناتش (مثل قابلیتهای توسعه هوش مصنوعی، امنیت، سرعت، concurrency، گسترده بودن Library ها، open source بودن، cross-platform و هزار تا موضوع دیگه) قراره نیازهای مشخصی رو برطرف کنه و خب، طبیعیه که هیچ وقت نمیتونه همه مشکلات رو حل کنه.
پس، نگران نباشید و راهی که دوست دارید رو پیش برید و البته بد هم نیست که همیشه نیم نگاهی به تکنولوژیها و زبانهای جدید داشته باشید و از ویژگیهاشون استفاده کنید.
خداروشکر، زمان نشون داد که دانشگا، برای عده کثیری از برنامه نویسا، چیزی جز اتلاف وقت نبوده. (میتونید خودتون بپرسید ?) درسهای پراکنده و نامرتبط، عدم پیوستگی مطالب، سرفصل های قدیمی و کسل کننده ای که گویا جز برای استاد همون کلاس، هیچ بازار کار تعریف شده ای نداره و هزار تا چیز دیگه که خودتون توی دانشگاه دیدین و احساس کردین که اینجا دارید وقتتونو تلف میکند. پس به نوعی این جمله هم بی ربطه.
اما از جنبه مثبت ماجرا، گاهی وقتا دانشگاه میتونه فرصت آشنایی با آدمهای جدید، لینک شدن به اونها و تیمهاشون رو به ما بده که خب روی مسیر کاری آینده مون هم موثره (اگرچه این موضوع هم مستقیماً ربطی به دانشگاه نداره و دانشگاه هنوز هم بزرگترین منبع اتلاف وقته، اما خب باید به نیمه پر لیوان هم نگاه کرد).
به علاوه اینکه، هنوز هم هستن استادها و دانشگاه های زیادی که مارو با مباحث پایه ای مهم (مثل الگوریتم و ... که قبلا هم گفتیم ضروریه) و منابع خوب آشنا میکنن و به قول یه بنده خدایی ، دریچه های روشنی رو در ذهنمون میگشایند (برای من که نگشایید) لذا ازین لحاظ نقش مثبتی در روند یادگیریمون دارن.
مثل هر شغل دیگه ای، برنامه نویسی هم میتونه خسته کننده باشه، هم جذاب و پرچالش و این کاملا به خود ما بستگی داره. طبیعیه که انجام پیوسته کارهای روتین و یکنواخت، روحمون رو به مرور فرسوده کنه و بهمون حس ناامیدی بده، تا جایی که حتی دلمون بخواد اصن این شغلو برای همیشه کنار بزاریم اما
دلیلش خود شغل نیس، بلکه نحوه انجام دادنشه.
چه بسا درگیر شدن با چالشهای جدید، ورود به پروژه هایی که میتونن مهارت مون رو تقویت کنن و تیمهایی که مارو مجبور به پیشرفت میکنن، نه تنها باعث جذابیت این شغل میشن ، بلکه در بلند مدت علاقه و اشتیاق مون رو به این کار افزایش میدن و کاری میکنن که در کنار سختی های خاص اون دوران، به یک جور رضایت مطلوب و آرام بخشی برسیم که احساس کنیم راهمون رو اشتباه نرفتیم.
البته این رو هم باید درنظر گرفت که برنامه نویسی شغلیه که نیاز به نشستنهای طولانی مدت، تفکرهای عمیق، کدنویسی های زیاد و سر و کله زدن با کدهای کثیف زیادی داره که ممکنه مناسب هر شخصیتی نباشه، پس بهتره پیش از اون خودمون و علاقه مندیهامون رو بشناسیم و بعد وارد این شغل بشیم. خوشبختانه این روزها تست های شخصیت شناسی و شغلی زیادی توی اینترنت هست (مثل سایت کاربوم، truity، 16personalities و ...) که میتونن مارو کمک کنن.
و مورد آخر هم اینکه، برنامه نویسی ممکنه آسیب های روحی زیادی رو هم به آدما وارد کنه که این هم ناشی از ویژگی های این شغله و ریشه در تنهایی، درگیری های ذهنی زیاد و منفی نگری ای داره که به واسطه عدم استراحت و تفریح به اندازه یا عدم اختصاص دادن زمان کافی برای خودمون و بالاتر از همه روحمون به وجود میاد. (شاید سر زدن به یه روانشناس خوب باشه)
اما اصلاً کدوم شغله که حتی یه ذره هم به جسم مون آسیب نزنه؟ (ازینجا به بعد دیگه بحث فلسفی میشه و میریم توی این سوال که اصن برا چی داریم کار میکنیم؟)