چند راه موفقیت در برنامه نویس شدن

سلام . شاید اولش کمی موضوع بحث ، عجیب باشه . چرا؟

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

بزارید اول کمی در مورد اینکه دید من به برنامه نویسی چجوری تغییر کرد بگم .

توی یک شرکت به صورت اتفاقی با حسن گیلک اشنا شدم و یک سال همکار بودیم . روز اول که اومدم ، گفتم من خفنم . یه جورایی ادعام میشد و هیچ شناختی هم از همکارام نداشتم . واقعا همیشه فکر میکردم نیاز نیست بیشتر بدونم بیشتر بخونم و راهم درسته و گوگل باید از خداش باشه منو بخواد . تا اینکه به مسائلی داخل پروژه خوردیم و دیدم که حسن خیلی سریع همه چیز رو حل و فصل میکنه و من واقعا نمیدونستم چجوری . عمدتا یک مسیر طولانی رو پیاده میرفتم خونه و به کارهایی که میکردم فکر میکردم تا ببینم کجا اشتباه کردم که نمیتونم راه حل رو پیدا کنم ؟ تا اینکه یه تصمیم گرفتم . ادعا و غرور رو گذاشتم کنار و به حسن گفتم راهشو بهم بگو . خیلی ساده بود . "مطالعه"

از فردا همین شد کار من . تقریبا روزی 4 ساعت مطالعه فقط در مورد چیزهایی که میخواستم یاد بگیرم میکردم . بعدش میرسید نوبت به پیاده سازی و بعدش هم به اشتراک گذاری با بقیه . قضیه به اشتراک گذاری چیه؟ خوب اگر میخوام چیزی یاد بگیرم ، باید کدمو به اشتراک بزارم تا اون کد ویرایش بشه . اوایل خیلی ناراحت میشدم . چرا کد منو ویرایش میکنین؟ بعدش از این ناراحت میشدم که چرا کسی کد منو ویرایش نمیکنه؟ به این دلیل نبود که کد من خوب بود . به این دلیل بود که هنوز فرهنگ اشتراک گذاری کد ، جا نیفتاده بود . الانم همینطوره .

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

من نمیگم که برنامه نویس خوبی هستم . هیچ شکی نیست که بهترین برنامه نویس تاریخ ، یک اشتباهه . چون از اون بهتر هست . همین الانم هست .




راه کارهای مثب برای برنامه نویس خوب شدن

نداشتن غرور :

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

حسود نباش :

این خصلت خیلی بده . مخصوصا اگر بدونین که حسودین ، و نمیتونین کنترلش کنین . اما من به این شکل کنترلش کردم : وقتی که یکی از من بهتر هست ، یعنی چیزی بیشتر از من داره . پس من باید ازش همون رو یاد بگیرم . اون موقع خود به خوددرمان میشه . چون برابریم

مطالعه زیاد :

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

هر چی به ذهنت میرسه ، عملی کن :

خیلی وقتا شده که شما میخواین یک لایبرری بنویسید ، یا یک سایت بزنید یا یک کاری انجام بدید که فکر میکنید کسی نجام نداده ، همون لحظه وقتشه که انجامش بدید . همون لحظه بدون شک برید به سمتش . حتی اگر موفق نشید و بهتون بگن هزار تا کار انجام نشده داری . مهم نیست . برید به سمتش و انجام بدید . یادتون باشه که اکثر اطرافیای شما ، غرورو و حسادت رو دارن به شما . پس توی این یک مورد به حرف خودتون گوش بدید.
وقتی که شما یک هدف رو با قدرت میرید به سمتش و شروع میکنید برای اون هدف کد نویسی کردن ، به چالش میخورید . این چالش ها به شما راه جدید یاد میدن و میتونین ازشون بپرید . چون مطالعه خوبی دارید (بالاتر دیدم که مطالعه داریم میکنیم) پس چیزهایی که یاد گرفتیم رو به خوبی پیاده سازی میکنیم .

سوال بپرسید :

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

زبان انگلیسی قوی :

تا جایی که میشه روی زبان انگلیسی تمرکز کنین . تمام جستجو ها و داکیومنت های موجود ، بهترنیشون به انگلیسی هستن . وقتی که شما توی موضوع react lifecycle مشکل دارید و مخواین بیشتر بدونین در موردش ، به فارسی نمیشه جستجو کرد و اگر هم بشه ،‌جالب نیست . چون متاسفانه آموزش های ما خیلی سلیقه ایه .

داکیومنت رو کامل بخون :‌

با هر زبان و هر فریم ورک و پلتفورمی که میخواین کار کنین ، قبل از این که کد بزنین اول داکیومنت رو کاملللللللللل بخونین . واقعا این یک مشکل بزرگ برنامه نویساست . چرا خوب داکیومنت رو نمیخونین؟ این از همون غرورو میاد . چون احساس میکنین همه چیز رو بلدید . اگر همه چیز رو بلدید به اون فریم ورک و لایبرری و پلتفورمو زبان پس نیازی نیست . اگر اییییینقدررر بلدید که بدون داکیومنت کارتون راه میفته . خیلی عجیبه .
خوب اون تیم داکیومنت رو با هزار بدبختی نوشته که اول شما اون رو مطالعه کنین که به ایراد نخورید .
بارهای دیدم که یک پروژه رو میخوایم ریفکتور کنیم ، اینقدر دیدگاه افتضاح و کدهای کثیفی داخلش هست که آدم گریه میکنه . مگر میشه آدم اینقدر مغرورو و لجباز؟

اشتراک کد :

برای اینکه بتونین نظرات بهتری و جذب کنین ، کداتون رو به اشتراک بزارید تا همه بتونن کدتون رو بهبود بدن یا روی اون نظر بدن . این کار باعث میشه که بهتر یاد بگیرید و سریعتر برید جلو

افزایش قدرت تحلیل و حل مسئله:

پیشنهاد من مطالعه دروس جبر . جبر واقعا میتونه بهتون کمک کنه که مسائل و الگوریتم های زیادی رو ببینید و بتونین به ساده ترین روش اونا رو حل کنین

مسائل تکراری بزرگترها :

ورزش کنین ، با رفیق نا باب نگردید (:-D اینجور چیزا دیگه ) . اما واقعا برنامه نویسی که سلامت نداشته باشه (سلامت فکری و جسمی) به درد مصاحبه هم نمیخوره . یکی ممکنه ذاتا یک سلامتی رو محروم باشه . اون دست خودش نبوده . اما چیزی مثل دیسک کمر ،‌مشکلات ریه (به علت سیگار زیاد و این چیزا) ، مشکلات کبد (به علت این چیزا و اون چیزا) ، مسکلات عصبی ، بد دهنی و ... دست خودمونه . وقتی نتونیم سالم باشیم و به خودمون اهمیت نمیدیم ، پس به شرکت و پروژه شخص دیگری هم نمیتونیم اهمیت بدیم . تا نصفه شب کار کردن و چشم و سلامتی رو فدای پروژه مدیر عامل کردن ، اسمش چاپلوسیه . نه فداکاری . چون در کمال آرامش و خواب کافی ، یه اضافه حقوق میده که برای درمان هم کافی نیست . و همیشه منت سرتون میزاره .

اول هب خودتون سلامتی خودتون فکر کنین .

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