سلام دوستان. همیشه توی هر مسیری از زندگی که پا میذاریم، تجربیات زیادی بدست میاریم و گاهی به خودمون میگیم: «ای کاش زودتر خیلی چیزا رو میدونستم». میدونیم حتی اگه هزاران جلد کتاب هم بخونیم، زندگی همیشه ای کاشهای خودش رو داره. ای کاشهایی که گاهی اوقات برای بعضیها حسرتهای بزرگی میشه و برای بعضیها درسی برای ادامه زندگی. همه ما از اولین روز شروع حرفه و شغلمون شروع به کسب تجربه میکنیم و مایلیم اونها رو در اختیار بقیه قرار بدیم تا با دید بازتری به مسیرشون ادامه بدن. توی این پستها میخوایم با چند تجربه و نکته کاربردی برای توسعهدهندهها و برنامهنویسهای تازهکار آشنا بشیم 😉
۱. کدنویسی آخرین مرحله هست
کدنویسی گاهی اوقات هیجان غیرقابل کنترلی داره. بارها پیش اومده که برای حل یک مسئله یا اضافه کردن یک قابلیت، اونقدر هیجان داریم که کدنویسی رو زودتر از هر کار دیگهای شروع میکنیم و چشم بسته کد میزنیم به این امید که توی جریان کدنویسی به فکر حل مسئله باشیم. اما صبر کنین! این کار درست مثل رفتن به یک مسافرت تفریحی بدون نقشه و برنامهریزی هست. دیر یا زود هیجان اولیه از بین میره و به این فکر میافتیم که کجا هستیم و آمدن ما بهر چه بود. پس همیشه ابتدا مسئله رو خوب شناسایی و به راههای حل کردن اون فکر کنیم تا از اتلاف ساعتها زمان و انرژی جلوگیری بشه.
۲. کدنویسی برای حل مسئله هست
دنیا به کسی که ۱۰ تا زبان و ۱۷ تا فریمورک بلده و از اونها استفادهای نمیکنه، پاداشی نمیده. موفقترین آدمها کسانی هستن که گره از مشکلات باز میکنن تا دنیا رو به جای بهتر و راحتتری تبدیل کنن. پس بهتره برنامهنویسی رو به عنوان ابزاری برای رسیدن به هدف نگاه کنیم. برنامهنویس خوب کیه؟ کسی که مسائل رو خوب میشناسه و خوب اونها رو حل میکنه. شاید برای حل یک مسئله لازم باشه زبان مورد علاقهتون رو کنار بذارید و برای مدتی با یک زبان چندشآور کار کنین ¯\_(ツ)_/¯
۳. همه چیز در اختیار ماست
یک ایده و یک کامپیوتر متصل به اینترنت، کافیه تا دنیا رو تغییر بده. این روزها ارزشمندترین اطلاعات رو فقط با یک سرچ گوگل میشه بدست آورد. میشه بروزترین ابزارهای دنیا رو بصورت رایگان یاد گرفت و با بهترین و موفقترین افراد دنیا ارتباط برقرار کرد. قدر این فرصت رو بدونیم!
۴. با سختافزارهای ارزان قیمت هم میشه برنامهنویسی کرد
اگه سختافزار شما قوی نیست نگران نباشید! برای برنامهنویسی نیازی به ۳ مانیتور و ۱۶ گیگابایت حافظه رم نداریم. اینها کمککننده هستن اما هیچ اجباری وجود نداره اگه براتون مقدور نیست. حداقل چیزی که نیاز داریم یک ادیتور هست. مهم، ایدهی شماست. با یک لپتاپ یا PC ساده هم میشه دنیا رو بهتر کرد :)
۵. برنامهنویسی فقط برای آدمهای خیلی باهوش نیست
برای برنامهنویسی نیازی به IQ بالای ۲۰۰ نداریم. افرادی با ضریب هوشی متوسط وجود دارن و کارهایی رو انجام میدن که افراد فوقالعاده باهوش در آرزوی انجام دادن اونها حسرت میخورن. تفاوت اونها چیه؟ طرز فکر! اگه کتاب Mindset از خانم دُوِک رو خونده باشین، به این باور میرسید که این فرضیه قدیمی که هوش انسانها در طول عمرشون ثابت میمونه منسوخ شده و همیشه با تلاش میتونیم هوش خودمون رو توی هر سنی افزایش بدیم.
۶. برای حل یک مسئله همیشه چند راه وجود داره
اشکالی نداره اگه کدتون شبیه آقای مارتین فاولر یا رابرت سیمارتین نیست. هر چند استانداردها و الگوهایی وجود دارن که کار کدنویسی رو راحتتر میکنن، اما بعضی وقتها با مسائلی رو به رو هستیم که منحصر به فرد هستن و فقط خودمون میتونیم تشخیص بدیم که از چه روشهایی استفاده کنیم.
۷. نامگذاری همیشه سخته
نامگذاری، یکی از مهمترین پایههای یک کدنویسی تمیز هست. یکی از چالشیترین قسمتهای هر برنامه، پیدا کردن اسم خوب و بامعنا برای توابع و متغیرهاست. اگه انسان کاملگرایی باشید، نامگذاری یک متغیر یا یک برنامه به اندازه نامگذاری فرزندتون زمانبر هست!
۸. اشتباهات، اساس یادگیری و پیشرفت هستن
میخواین کدهای بدون خطا داشته باشین؟ باید هزاران بار کدهای با خطا نوشته باشید تا بدونین کد بدون خطا چه ویژگیهایی داره.
میخواین یک استارتآپ موفق داشته باشین؟ باید چندین تجربه استارتآپ شکست خورده داشته باشید تا بدونین استارتآپ موفق چه ویژگیهایی داره.
میخواین توی یک شرکت ایدهآل کار کنین؟ باید تجربه کار توی شرکتهای بد رو داشته باشین تا بدونین شرکت و رئیس خوب چه ویژگیهایی داره.
آیا لازمه داستان شکستهای ادیسون یا بنیانگذار KFC رو بازگو کنیم؟ هیچ بازندهای، بازندهتر از کسی نیست که هیچ اشتباهی نداشته. بله! اگه اشتباهی نداشتیم، یعنی تلاش نکردیم!
۹. کنجکاوی!
از ویژگیهای یک برنامهنویس آیندهدار، کنجکاو بودن هست. این برنامهنویس وقتی داره با یک ابزار و فریمورک کار میکنه، همیشه از خودش سوالاتی مثل «این قسمت چطوری داره کار میکنه 🤔 - چرا اینطوری شد 🤔 » میپرسه. اگه چنین سوالاتی از خودتون میپرسین و به دنبال جواب هم هستین، تبریک! شما توی مسیر درستی قرار گرفتید!
۱۰. راهی که پایان نداره
شروع مسیر برنامهنویسی به دست ماست، اما پایان اون نه. برنامهنویسی و بطور کلی دنیای آیتی، یک مسیر بی انتها هست. در واقع یکی از چالشهایی که هر برنامهنویس باید اون رو با آغوش باز بپذیره اینه که همیشه باید آماده یادگیری و تغییر باشه. خطر بزرگی در کمین افرادی هست که احساس آسودگی از علم و تواناییهاشون دارن. چطوری خطر رو دفع کنیم؟ روزی حداقل نیمساعت رو به یادگیری و تمرین اختصاص بدیم :)
خب دوستان! قسمت اول به پایان رسید. شما هم اگه تجربیاتی دارید میتونید اونها رو توی قسمت نظرات به اشتراک بذارید. قسمتهای بعدی رو زود منتشر میکنم. روزتون خوش 😉✌️
ایده نوشتن این پست از صفحه زیر به ذهنم رسید:
