10 فرمان برای برنامه نویس شدن
شنبه 7 بهمن 1396 2:55 PM
تقریباً سه ساله که برنامه نویسی میکنم درواقع از سال دوم دانشگاه. شاید خیلی از نوجوان ها و جوان هایی باشن که میخوان در آینده توی این حرفه مشغول بشن و هزاران هزار سوال داشته باشن که شاید توی این پست و ده فرمان بشه یکم به این مشتاقان کد راهنمایی کرد.
ده فرمانی که در زیر به اون ها اشاره میکنم وحی منزل نیست درواقع تجربیات من در طول این سالهاست و هرکس ممکنه نظر متفاوتی داشته و واقعیت اینه که 10 فرمان نوشتن فقط بخاطر جذابیت تیتر هست وگر نه که برنامه نویسی 10 که که میلیارد ها فرمان هست:
توی این سالها که درحال تحصیل و یادگیری بودم سراسر درحال غر زدن بودم که آی برنامه نویسی که ریاضی نداره اصن ریاضی به چه درد میخوره با اینکه توی درس های ریاضی آخر هم نمره خوب میگرفتم اما دوست داشتم توی دانشگاهی که تحصیل میکنم یکم بیشتر به خود کد نویسی اهمیت بدن تا ریاضی 1 و دو و معادلات و مهندسی و آمار و الخ.
اما انسان نادان چه دانی که برنامه نویسی همون ریاضیات هست اصلا این رشته ای که داری توش درس میخونی مگه اسمش computer (محاسبه گر) نیست ؟ پس چطور میگی این به ریاضی چه ربطی داره؟
برنامه نویسی رو نوشتن و کپی کردن هزاران خط کد نیست اگر درک درستی از ریاضی و حل مشکل نداشته باشید همیشه درحال درجا زدنید. خلاصه اینکه اگر دوست دارید برنامه نویس خوبی بشید و بتونید برای مشکلاتتون راه حل پیدا کنید بدون دانش ریاضی صادقانه نمیتونید مشکلات رو درست رفع کنید. پس غر نزن و بشین ریاضیتو بخون.
بذارید راست و پوست کنده بهتون بگم اگر یادگیری دائمی خسته تون میکنه بیخیال شید و برید سراغ یه شغل دیگه. چون اگر همیشه به فکر اضافه کردن به چیزی که بلدید نباشید نمیتونید توی دنیای سریع امروزی دوام بیارید و به صرف یادگیری یه زبان برنامه نویسی بگید خب حله دیگه تموم شد من برنامه نویسم حالا بیاید میلیون میلیون ماهی به من حقوق بدید.
دنیای برنامه نویسی انقدر سریع حرکت میکنه و رشد میکنه که اگر قرار نیست شماهم به اندازه اون بزرگ بشید و کش بیاید خود به خود پرت میشید بیرون!
راستش من از بچگی علاقه زیادی توی یادگیری زبان انگلیسی داشتم و بعد از اینکه بابام بیشتر کلمات انگلیسی رو بهم یاد داد سعی میکردم توی بازی های فوتبال پلی استیشن اسم بازیکنا رو بفهمم و بعد ها کنجکاویم خیلی زیاد شد و انگلیسیم با علاقه خودم خوب شد.
دروغ چرا ولی اگر انگلیسیم خوب نبود شاید خیلی از چیزایی که الان میدونم رو نمیدونستم. قبلا یادمه برای یادگیری شبکه (چرا شبکه؟ چون اول که وارد این رشته شدم از برنامه نویسی بدم میومد و دوست داشتم شبکه رو ادامه بدم) یه کلاسی رو میرفتم آخرین جلسه استاد حرفی زد که واقعا درست بود به نظرم.
بحث کتاب های سنگین و انگلیسی ccna و کامپتیا شد گفت ببینید ترجمه هیچ چیزی مثل خودش نمیشه ببینید دکتر هارو اکثر کتاب هاشون انگلیسیه چون زبان رشته شون اینه کتاب هارو به زبان انگلیسی مینویسن نه فارسی و فرانسه و ... پس انگلیسی برای رشته های شما حیاتیه .
به نظرم درسته این حرف و کسی که زبان انگلیسی رو مسلط هست یه قدم از بقیه جلوتره چون راحت تر میتونه مشکلاتش رو توی stackoverflow و جاهای دیگه بپرسه و به همین دلیل سریعتر مشکلش حل میشه. اما اگر زبانتون فعلا خوب نیست نگران نباشید سعی کنید بهتر شید اما مهم اینه بتونید مفهوم رو درک کنید چه فرقی میکنه از یه متن انگلیسی یه مشکل رو حل کنید یا فارسی.
هیچ وقت از این شاخه به اون شاخه نپرید. به شدت توصیه میکنم اگر شما هم مثل من آدمی هستید که مدام از این زبان سوییچ میکنه به اون یکی و از اون دوباره برمیگرده به این همینجا خواهش میکنم نکنید عزیزان نکنید. چون انقد سردرگم میشید که دیگه هیچ چیزی یادتون نمیمونه.
مثلا وقتی میرید سینتکس یه آرایه رو توی سی شارپ یاد میگیرید و بعد چند وقت که مثل من یهو 4 تا سینتکس از زبان های دیگه یاد میگیرین و برمیگردین همش برای تعریف یه چیز کوچیک باید داکیومنتیشن اون زبان توی تب های مرورگرتون باز باشه که یه چیز ساده یادتون بیاد البته برای این مشکل درمان هست.
همه چیو همیشه بنویسید حتی کارهای کوچیک رو چون یادتون میره!
جزوه نویسی همیشه خوب بوده از تاریخ بشریت درسته من سرکلاس دانشگاه جزوه نمینوشتم اما اینجا همیشه جزوه نوشتم. و واقعا دم استاد هندسه کلاس دوم دبیرستان آقای قاسمی گرم که این نکته رو به من گفت. بدون نوشتن هیچ وقت ریاضی رو یاد نمیگیری (این جمله رو بعد از اینکه هندسه 15 شدم و سرش غر میزدم که نمیفهمم وقتی از روش 10 بار خوندم بهم گفت) و از اونجایی که بالاتر گفتم برنامه نویسی عیناً ریاضی است پس همیشه بنویسید وقتی دارید یادمیگیرید.
حتی چیز های کوچیک که وقتی یادتون میره براتون دردسر میشه و وقتتون رو میگیره. الان انقد جزوه دارم از زبون های برنامه نویسی که هر موقع میخوام برگردم به یه زبون دیگه پروژه ای رو انجام بدم فقط عصای دستم این جزوه های بدخط نصف انگلیسی نصف فارسیه!
این فرمان باید اول میبود اما خب اینجا هم اشکال نداره. همیشه از ورژن کنترلر ها استفاده کنید چون بعدا اشکتون درنمیاد سر کدی که از دست دادید.
یادمه با یه گروه از بچه های تازه کار دانشگاه داشتیم روی پروژه ای کار میکردیم(که البته به سرانجام نرسید) هیچ کدوم نمیدونستن گیت (یه ورژن کنترلر هست) چیه خلاصه من هی گفتم آقا گیت استفاده کنید گفتن نه بابا گیت چیه الکی وقت میگیره اما انقد گوش نکردن که هی دوباره کاری کردن کردن که آخر هم پروژه پاشید. پس برای شروع برنامه نویسی بعد از اینکه یه زبون رو یاد گرفتید برید دنبال یادگیری گـــــیــــــت!
راستش من به آموزش هایی که دوستان عزیز فارسی زبانمون تهیه میکنن اعتقادی ندارم. دلیل خودمو دارم که این حرفو میزنم یعنی به درد من نمیخورن شاید بدرد خیلی از برنامه نویسای حرفه ای که میبینید هم نخورده.
با این حرفم یعنی کلاس رفتن بیرون رو هم برای برنامه نویسی به طور کل رد میکنم چون میرید کلاس چهارتا تابع به درد نخور بهتون معرفی میکنن که تایمشون پر بشه و پولشونو میگیرن مدرک هاشونم به درد لای جرز هم نمیخوره.
برای این میگم کل یه زبان رو یاد نگیرید و وقتتون هدر ندید چون اگر بخواید یه زبان رو به طور کامل یاد بگیرید از یه آموزش باید خیلی درگیر باشید. اما شما میتونید مبانی پایه ایه اون زبان رو که به اصطلاح fundamental یادبگیرید و بعدش یه پروژه واقعی (Real world) باهاش انجام میدید.
مثلا بنده خدا تبلیغ میکنه آموزش php هفتاد ساعت بشتابید! همونجا بهتون میگم نخرید و بیخیال شید.برای آموزش پیشنهاد من اینه که از سایت های یودمی یا لیندا یا پلورال سایت استفاده کنید.
البته به غیر از لیندا دوتا سایت دیگه برای ما بلاک شده هست. اما غصه نخورید سایت های پی30دانلود و git هردو اکثر این آموزش هارو دارن. آموزش های انگلیسی واقعا استاندارد هستن و برای انسان تهیه شدن نه برای ربات ها. ویدیو میذارن هم وطنان 5 ساعت آموزش ممتده خب عزیزم تیکه تیکه بذار بهتره.
به صرف اینکه من یه زبان یادگرفتم برم سراغ یکی دیگه فکر نکنید اون زبان رو یاد گرفتین مطمئنا در اشتباهید و اگر در آخر یه پروژه واقعی انجام ندید با اون زبان مشکلاتتون رو نمیفهمید. پس وقتی آموزش هاتون تموم شد حتما یه پروژه ساده هم با اینی که یادگرفتید انجام بدید.
همیشه به فکر یادگیری جدید ترین مسائل روز برنامه نویسی و تکنولوژی باش توی زندگیت یه قانون داشته باش New is Always Better از بارنی (نیل پتریک هریس) سریال How I Met your mother .
پس به این فکر نکن که الان بازار همه جا زده متخصص فلان برنامه نویسی به فکر آینده باش چیز جدید وقتتون سر چیز آینده دار بذار.
همیشه سعی کن یه فرد با تجربه کنارت داشته باشی که زمان هایی که نتونستی جواب راه حلتو پیدا کنی اون بتونه کمکت کنه درمورد من دوستم وحید بود. کسی که باعث شد به برنامه نویسی علاقمند شم و الان برنامه نویس باشم. همیشه از این افراد درکنارتون داشته باشید توی هر مسئله ای هیچ وقت ضرر نمیکنید.
خیلی طولانی شد فکر نمیکردم انقد بتونم فرمان بدم راستش اولش 7 تا رو یادم بود اما وقتی ادامه دادم 3 تا دیگه هم به ذهنم رسید و نوشتم خلاصه اینکه #برنامه_نویسی کار سختیه اما انقدر لذت بخشه که این سختی در کنارش شیرینی خاصیه براتون امیدوارم این مطلب بهتون در ادامه راهتون کمک کنه.