چطور برنامه نویس بدی باشیم؟

سلام به شما دوستان عزیز و گرامی حالتون چطوره ؟ اگر میخواید یک برنامه نویس بد باشید حتما کار های توی این لیست رو انجام بدید. برنامه نویسی شغل جذاب و قسنگیه.یادمه یه زمانی‌ واقعا برنامه نویس افتضاحی بودم. این ها کار هایی بودن که من انجام میدادم:با کمترین مطالعه، فکر کنید همه چیز رو بلدیدیکی از اشتباه ترین کار هایی که میتونید انجام بدید اینه که بی توجه به کل مستندات چیزی که برنامه دارید ازش استفاده کنید، احساس کنید همه شو بلدید. عملا به این شکل شما وقتتون رو تلف میکنید. شاید احساس کنید که توی صرف زمان صرفه جویی کردید و فقط چیزی رو که می خواستید انجام دادید و تمام. البته بعضی وقت ها هم شاید درست فکر کنید ولی زمان همه چیز رو ثابت میکنه.به کار کردن کدتون مطمئن باشیدالفاظی مثل: "من مطمئنم مشکل از کار من نیست" یا "کد من که داره درست کار میکنه" رو فقط زمانی به زبون بیارید که کدتون رو تو همه سناریو های ممکن تست کردید و با اطمینان کامل این حرف رو بزنید. در غیر این صورت در بهترین حالت باعث بی اعتمادی همکاراتون میشید.همیشه تصور کنید که از بقیه بیشتر میفهمیدتصور کنید یک همکاری دارید که هر کاری که انجام میدید میاد بهتون گیر میده که این که اینطوری نیست و فلانه و بهمانه... یا همیشه سعی میکنه به شما بفهمونه که از شما بیشتر میفهمه. چقدر حس بدیه نه؟ شما اون نفر نباشید. همیشه چیز جدیدی برای یاد گرفتن هست.بدون تست کردن، یک نسخه جدید ریلیز کنیدساعت ۱۱ شب هست و روی کاناپه لم دادید و ریلکس کردید و یه لیوان چای هم توی دستتونه و .... بعد یهو کلی پیام و تماس که آقا بدو بیا که بیچاره شدیم! تست کردن قبل از کامیت کردن کد، واجب و تست کردن کل کار و پروژه قبل از اینکه نسخه جدیدی انتشار بدید اوجب واجباته. اگر نمیخواد توی اون شرایط تلفن زنگ بخوره و آرامشون به هم بریزه، تست قبل از ریلیز رو فراموش نکنید.بیشتر زمان رو صرف مقایسه تکنولوژی ها کنید و ببینید کدوم بهتر و بدترهاینطوری کاملا وقتتون رو تلف میکنید! اگر میخواید کاری رو شروع کنید، پس شروع کنید. با هرچیزی که بلدید و توی دست و بالتون هست. اینکه چی بهتر و بدتره فقط انرژی تون رو میگیره. مطمئن باشید کارتون زمانی که به اندازه کافی بزرگ بشه همه راه حل ها هم همون موقع دارید! نگران نباشید. فقط کار رو انجام بدید.از کدتون بک-آپ‌ نگیریداگه برای سیستمتون مشکلی پیش بیاد یا اگر خدای نکرده دزدی چیزی سر و کله اش پیدا بشه... اجازه ندید چیزی که از دست دادید شامل کد هایی که براشون کلی هزینه زمانی کردید باشه. ضرر مالی رو میشه جبران کرد ولی ضرر زمان رو نمیشه. همیشه از کدتون یک بکاپ تو یک فضای آنلاین مثل گیت یا گوگل درایو داشته باشید. خیالتون راحته.از ورژن کنترل سیستم ها استفاده نکنیدبعد از کلی کار و زحمت، حالا پروژه به جایی رسیده که میتونید با خیال راحت ازش استفاده کنید ولی چند روز بعد یه ایده به سرتون میزنه که باید برای اجراش توی سیستم تغییراتی ایجاد کنید ولی دست بر قضا یه چیزی رو خراب میکنید و مجبور میشید کل کار رو از اول انجام بدید. یکی از کار هایی که ورژن کنترل سیستم ها برای ما انجام میدن جلو گیری از چنین اتفاقاتی هست.سعی کنید سریع ترین باشیداگر سریع باشید، احتمال اینکه خطا های کارتون بیشتر و کیفیت کارتون کمتر بشه بالاتر میره. سرعت خوبه ولی چیزی که در نهایت مهمه، کیفیت محصوله نه سرعتی که به دست مشتری میرسه. کیفیت همیشه پر اهمیت تر از سرعت عمله.فقط از منابع آموزشی ویدئویی استفاده کنیدهرکسی برای آموزش از روش خاصی استفاده میکنه و نتیجه میگیره، ویدئو یکی از روش های خوبه ولی به نظرم بسیار آهسته است و نسبت به تایمی که برای دیدن یک دوره ویدئویی صرف میکنید، چیز کمتری یاد گرفتید. میتونید با خوندن داکیومنت ها بهتر از وقتتون استفاده کنید و تازه عمیق تر هم یاد می گیرید.هر کسی از کارتون انتقاد‌ کرد، دخلشو بیاریدانتقاد فقط باعث پیشرفت کار شما میشه. به جای اینکه در برابر انتقاد دیگران جبهه بگیرید، سعی کنید از اونها برای رشد خودتون استفاده کنید. اگر همه از شما تعریف و تمجید کنند هیچوقت رشد نخواهید کرد.کثیف و‌ درهم کد بزنیددرهم و کثیف کد زدن (کد اسپاگتی) یکی از بدترین اتفاقاتی هست که شاید اول کار تاثیرش رو حس نکنید و پیش خودتون فکر کنید "تا زمانی که کار میکنه اوکیه دیگه". اما اگر روزی بخواید تغییری توی برنامه ایجاد کنید میبینید با حجم زیادی از کد بهم ریخته طرف هستید که هرجاشو دست بزنید یه جای دیگه اش بهم میریزه. سعی کنید تکنیک های تمیز و مرتب کد زدن رو یاد بگیرید.برای کدتون کامنت ننویسیدکامنت گذاری توی کد ها به شما کمک میکنه که اگر ۶ ماه بعد به کدتون سر زدید، بدونید که اون تیکه کد داره چیکار میکنه. ظاهر جذاب تری هم به کدتون میده. در کل کامنت گذاشتن امریست بسیار پسندیده.داکیومنت نویسی رو جدی نگیریدیکی از بدهی فنی های بسیار مهم که معمولا توی همه پروژه ها هست و پیش میاد، همین بحث داکیومنت هست. البته کامنت ها که قبلا اشاره کردم هم قسمتی از همین داکیومنت ها هستند ولی اینجا منظور از داکیومنت فایل های Readme هستند که جز به جز سیستم و برنامه رو توضیح میدن و کمک میکنند افراد جدید که به تیم اضافه میشن راحت تر و مطمین تر کار رو شروع کنند.برای کدتون تست ننویسیدقبلا در مورد تست ها صحبت کردم، حالا اگر بیاید و همون تست ها رو طوری پیاده سازی کنید که به صورت خودکار انجام بشه میتونید توی وقت خیلی صرفه جویی کنید. البته زمانی که برای نوشتن همین تست ها صرف میشه زمان کمی نیست ولی ارزشش رو داره. برای اطمینان از کار کردن باقی اعضای سیستم در زمانی که میخواید برنامه رو توسعه بدید هم خیلی کمک میکنه.بدون تحقیق و‌ بررسی انتخاب کنیدانتخاب یک فریمورک یا کتابخونه یا زبان بدون توجه به عواقبش میتونه برای شما گرون تموم بشه. قبل از شروع کردن چیزی، از انتخابتون از هر نظر مطمئن بشید. مثلا برای انتخاب زبان برنامه نویسی، به جای مسائلی مثل سرعت، امنیت و قدرت به این توجه کنید که سرعت توسعه اون چقدره یا در آینده نیروی کار اون ارزونه یا گرون.با همکاراتون بد رفتاری کنیداگر کار ثابت داشته باشید، جایی که کار میکنید خونه دوم شماست. بد رفتاری با همکاراتون فقط باعث انزوای شما در محل کار میشه که به طبع اون روزهاتون خراب و روحیه تون ضعیف میشه و هر روز با خستگی به خونه بر می گردید. آداب معاشرت در محیط کار رو یاد بگیرید.این جملات رو زیاد به کار ببرید:این رو سیستم من درست کار میکنه.فعلا بزار این بره بالا، بعدا درستش میکنیم.این باگه خیلی کوچیکه بابا، هیچکس‌ نمیفهمه.این که خیلی سخته!!!اینطوری شما فردی بهونه گیر و از زیر کار دررو هستید! چالش های کار رو بپذیرید و مسئولیت چیزی که خلق کردید رو به عهده بگیرید. مطمین باشید زندگی اینطوری هیجان بیشتری داره.مطالعه نکنیداگر روی یک زبان تسلط پیدا کردید، متوقف نشید. همیشه چیز های جدیدی برای یادگیری هست. سعی کنید روزانه یا هفتگی برنامه منظم برای مطالعه داشته باشید. حتی مطالب بی ربط به مسائل فنی شما رو از نظر شخصیتی رشد میدن و به طور غیر مستقیم روی کارتون تاثیر مثبت دارند.تکنولوژی های دیگه رو جدی نگیریدشاید پیش خودتون فکر کنید که "من متخصص هوش مصنوعی ام، چرا باید برم جاواسکریپت یاد بگیرم؟؟" ولی من به شما قول میدم یاد گرفتن و کسب اطلاع از تکنولوژی ها و چیز هایی که تو حوزه تخصصی شما نیست به شما کمک بزرگی میکنه که برنامه نویس بهتری باشید.خودشیفته باشیدخودشیفتگی چه برای برنامه نویس ها و چه برای هر کس دیگه ای فقط باعث سقوط و درجا زدن میشه. شخصا هیچوقت از موقعیتی که توش بودن راضی نبودم. هر وقت احساس کردید زیادی توی Comfort Zone بودید و با تعریف و تمجید مواجه شدید، سعی کنید برای خودتون چالش بوجود بیارید که به اون وضعیت عادت نکنید.به بقیه کمک نکنیدکمک کردن به دیگران باعث میشه در زمانی که نیاز دارید اون ها هم به شما کمک کنند. توی هر زمینه ای که میتونید سعی کنید برای دیگران فرد مفیدی باشید چون شما نمیتونید همیشه همه کار ها رو خودتون به تنهایی انجام بدید و روزی به کمک احتیاج پیدا میکنید.فقط و فقط کار کنیدصرف کردن زمان زیاد بدون وقفه برای اینکه فکر میکنید از قافله عقب موندید باعث سرخوردگی و خستگی میشه که به طبع اون نا امید و از کار دست می کشید. زمان هایی در هفته و روز برای استراحت، قدم زدن، بازی کردن و یا هر کاری که باعث بشه فکرتون از کارتون منحرف بشه اختصاص بدید. اینطوری همیشه انرژی برای ادامه راه رو دارید.