خلاصه کتاب Pragmatic Programmer. درس 6

درس 6: پورتفولیوی دانش شما (Your Knowledge Portfolio)بنجامین فرانکلین: "سرمایه گذاری در علم همیشه بیشترین سود را در بردارد"دانش و تجربه مهمترین دارایی روزمره زندگی حرفه ای شما هستند.متاسفانه این دارایی ها منقضی میشن، دانش شما قدیمی میشه با اومدن تکنولوژیها، روش ها، زبان های برنامه نویسی جدیدتر. قدرت و شدت تغییرات بازار ممکن است تجربیات شما را منسوخ یا بی ربط کند. این اتفاق در علوم مرتبط با فناوری خیلی سریعتر از بقیه علوم رخ میده. وقتی ارزش دانش شما پایین بیاد، مستقیما ارزش شخصتون رو توی شرکت یا بین مشتریا پایین میاره.توانایی در یادگیری چیزهای جدید مهمترین دارایی ممکنه، اما آیا میدونید که چجوری یاد بگیرید؟ یا اینکه چه چیزی یاد بگیرید؟پورتفولیوی دانش شما:مدیریت پورتفولیوی دانش خیلی شبیه به پورتفولیوی مالی است. برای اینکه موفق باشی توی حرفه خودت باید سرمایه گذاری کنی روی پورتفولیوی دانشت و یک سری تکنیک ها رو در ادامه میگیم. خبر خوش اینکه این مدل سرمایه گذاری هم مثل هر مهارت دیگه ای قابل یادگیری و کسبه، نکته اش اینه که باید در ابتدا خودتو وادار به انجامش کنی و بعد هم تبدیل به عادت، وقتی یک روتین مشخص براش درست کنی مغزت بهش خو میگیره، تو این نقطه است که خودتو تو نقطه ای پیدا میکنی که به صورت خودکار در حال یادگیری دانش های جدید هستی.(you will find yourself sucking up new knowledge automatically)هر چقدر که چیزهای مختلف و زیادی بدونی، ارزشت رو بالاتر میبره. در وهله اول که باید زیر و بم تکنولوژی که در حال حاضر داری ازش استفاده میکنی رو بلد باشی، اما هیچ بیمه ای وجود نداره که اون توی تغییرات تکنولوژی به عنوان یک ابزار مفید باقی بمونه، قطعا باید امادگی و توانایی یادگیری چیزهای دیگه ام داشته باشی حتی اونهایی که توی حوزه تکنولوژی نیستن مثل مذاکره، پرزنت و ...دقیقا مثل بازارهای مالی، توی تکنولوژی هم شاخه های پر ریسک و کم ریسک وجود داره، اینکه کل زندگیتو روی یک شاخه پر ریسک بچینی کار اشتباهیه، توی بازارای مالی یک مثالی وجود داره که میگه همه تخم مرغاتو توی یک سبد نچین، دقیقا تو حوزه دانش و تکنولوژی هم همینطوره، تو باید روی چیزهای مختلف سرمایه گذاری کنی و نه فقط یک دانش و یک شاخه.یادگیری یک تکنولوژی در حال ظهور دقیقا قبل از اینکه محبوب بشه، مثل خریداری یک سهام توی کف قیمته، به محض اینکه اون تکنولوژی پا بگیره تویی که جزو اولین نفراتی که روی قله اند. مثلا زبان برنامه نویسی جاوا که معرفی شد، خیلی ناآشنا بود و به گفته خیلیها اون زمان، ممکن بود ریسک زیادی داشته باشه یادگرفتنش، اما به خوبی ظاهر شد و به سرعت به یکی از غول های صنعت تبدیل شد.صنعت آی تی یکی از پویاترین صنعتای دنیاست که ممکنه یک ابزار حتی در عرض چند ماه کنار گذاشته و پس زده بشه، شاید لازم باشه برای اینکه موقعیت شغلی که دوست داری یا شرکتی که میخای رو به دست بیاری چیزهایی رو یاد بگیری که اصلا تا بحال باهاشون کار نکردی.در اینجا چند تا پیشنهادو تشریح میکنیم:· یاد گرفتن چند زبان برنامه نویسی که دقیقا مسائل مشابه رو حل میکنن به روش های مختلف، میتونه ذهن و فکر شما رو وسعت بده و از اینکه توی یک شیار ذهنی گیر کنید نجاتتون بده. که به لطف نرم افزارهای رایگان و اپن سورس این روزها خیلی راحته.· خوندن یک کتاب در ماه، اول از حوزه فعلی که مشغولش هستین شروع کنید و بعد از اون شاخه های دیگه و حوزه های دیگه، و این رو تبدیل به عادت کنید.· کتاب های غیر تخصصی هم بخونید، فراموش نکنید که کامپیوترها توسط انسانهای استفاده میشن، ما با ادمها در ارتباطیم، توسط ادمها استخدام میشیم، توسط ادمها هک میشیم، با ادمها همکار میشیم، توی معادله فراگیری دانش سمت انسانی شو فراموش نکنید، شاید خیلی هامون فکر بکنیم اینها سافت اسکیل هستند و آسونن ولی برعکس توی عمل این بعد از دانش سخت تر به دست میاد و ادم توش حرفه ای میشه.· کورسها و کلاسها، سرچ کنید و از کورسهایی که مرتبط با تارگتهای یادگیری تون هست استفاده کنید.· شرکت در اجتماعات تخصصی، ایزوله کردن خودتون توی این شغل میتونه واقعا مضر باشه، پیدا کنید ادمهایی که همسوی شما حرکت میکنن و یا محافل مبادله دانش یا دوستانتون و شرکت کنید و بشنوید حرفهاشونو، ایده ها رو رد و بدل کنید و فعالیت اجتماعی داشته باشید.· آزمایش کردن محیط های مختلف، اگر شما با ویندوز کار میکنید، یک مدت از لینوکس استفاده کنید. اگر همیشه از یک کامند برای انجام کار خاصی استفاده میکردید، روش های دیگه رو هم یاد بگیرید و تست کنید. ممکنه یک IDE خوب با فیچرهای ریز دیگه هم توی حوزه شما استفاده بشه اونم یادبگیرید و تست کنید.· رصد کردن اخبار، اخبار و پستهای مرتبط با حوزه های مختلف تکنولوژی رو بررسی کنید و از آخرین دستاوردها، آزمایش ها، جدیدترین فریمورک ها و ابزارها و زبانها آشنا بشید.این خیلی مهمه که به سرمایه گذاری ادامه بدید، به محض اینکه احساس کردید زبون برنامه نویسی یا ابزاری براتون راحت شده، حرکت کنید و یک چیز جدید یاد بگیرید.مهم نیست از این چیزهای جدیدی که یاد میگیرید بتونید توی پروژه فعلی تون استفاده بکنید یا نه، این پروسه یادگیری فکر و ذهنتون رو توی این کار گسترش میده، درهای جدیدی برای فکر کردن و حل کردن مشکلات و ایده ها جلوی پاتون قرار میده که در صورت ندونستن اونها هیچ وقت به فکرتونم خطور نمیکرد. این گرده افشانی ایده ها خیلی مهمه.این خیلی خوبه که شی گرایی رو بلد باشی، در عین حال برنامه نویسی پروسجرال و همچنین فانکشنال هم بدونی و تفاوتهاشون، و اینکه از هر کدوم کجا و با چه بست پرکتیسی بهره بگیری.فرض کن خیلی بی پروا در حال مطالعه جدیدترین و بهترین تکنولوژی های حوزه خودتی، یکی ازت سوال مرتبطی میپرسه که نمیدونی. رهاش نکن، دنبال جواب باش یا کسی که میدونه یا شبکه ای از افرادو تشکیل بده و برای پیدا کردن راه حل بجنگ، از هر وقتی میشه برای این مطالعه یا ریسرچ استفاده کرد از انتظار وقت دکتر بگیر تا مسیر کار ...تفکر منتقدانهنکته مهم اخر، فکر کردن منتقدانه است نسبت به هر چیزی که یاد میگیرید یا میشنوید، از قدرت تبلیغات و بیزنس غافل نشید، اینکه صرفا یک چیز در صدر سرچ انجین ها باشه(صرفا بخاطر این پارامتر) نمیشه روش تصمیم گرفت، چون همون سرچ انجین های طرحای مارکتینگی دارن که اگر بهشون پول بیشتری بدی بالاتر نشونت میدن. این تفکر منتقدانه به این سوقت میده تا تمام اطلاعات راجع یک چیزو بررسی کنی و دید کاملی داشته باشی.معمولا این روشها پیشنهاد میشه:· 5 بار سوال چرا؟ (ask 5 why): معمولا راجع به هر چیزی چندین بار از خودت بپرس در زوایای مختلف که چرا، دقیقا مثه بچه های 3 4 ساله که همش این سوالو میپرسن· سودش چیه؟ همیشه اینو هم بررسی کنید که اون روش یا تکنولوژی چه بنفیت و تو چه حوزه ای و تا چه حدی بهتون میده ...· کانتکتسشو(Context) بررسی کنید،مثلا اگر یک چیزی بست پرکتیسه توی چه شرایطی و برای چه کاربردی ...· چه زمانی و کجا این کار میکنه؟تمام این سوالا بهمون کمک میکنه که یک مطلب یا موضوع یا ابزارو دیپ یاد بگیریم و همچنان پیش میریم و پورتفوی دانشمونو قوی تر میکنیم و به سرمایه گذاری ادامه میدیم ...درسهای مرتبط: 1,22منبع: کانال تلگرامی https://t.me/pragmaticprogrammer_fa