اخیرا تو توییتر پستی دیدم که سوال اصلی که مطرح کرده بود این بود که آیا یک برنامهنویس الزامی داره الگوریتم مرتبسازی حبابی رو حفظ باشه یانه؟ من این سوال رو مشخصا از یکی دیگه تو همین شبکهی اجتماعی دیده بودم و خب جواب به نظرم هم نه میتونه باشه هم آره و البته "نه" به دلیل مصداقی هست که آورده شده، اگر نه جواب قطعا نه است.
چیزی که می خوام بگم اینه که همین که به عنوان الفبای برنامهنویسی بدونین چنین چیزی وجود داره و کاربردش چیه سرعت کارتون مطمئنا خیلی میره بالاتر تا اینکه از ابتدا به مفاهیمش بپردازید. البته مصداقی که انتخاب شده از متداولترین امور توی برنامه نویسیه گرچه باز هم چیزی نیست که به خاطرش یک نیروی مشتاق به یادگیری رو توی مصاحبه از دست بدیم.
یک مثال بزنم در یکی از پروژههایی که داشتیم مربوط به پیادهسازی الگوریتمهای sha256 بود و کسی از اعضای تیم این الگوریتم رو حفظ نبود (به دلیل زبان سطح پایین اکثر مواردی که برای زبانهای سطح بالا تنها نیازبه فراخوانی یک خطی داره برای ما نیاز به پیادهسازی صفر تا صد داره) و خب این تخصصی نیست که همه در وهلهی اول بهش نیاز داشته باشیم یا بخش ابتدایی همهی آموزشهای برنامهنویسی باشه ولی اینکه دانش عمومی داشته باشیم که چنین چیزی موجود هست کفایت میکنه. در نظر بگیرید اینجا نیاز به فردی نداریم که همه کاره باشه! نیاز به فردی نداریم که کاملا به روز باشه! ما نیاز به نیروهایی داریم که پتانسیل به روز شدن رو داشته باشه. البته که داشتن تخصص یک امتیاز مثبت محسوب میشه ولی حقیقت اینه که این همه چیز نیست مگر در مواردی که اطمینان دارید کار شما تغییر زیادی نمیخواد.
پس پیشنهاد چیه؟ اگر خواستین کسی رو استخدام کنید لازم نیست وقتی Bubble Sort نمیدونست جامه بدرید و سر به بیابون بگذارید کافیه ببینید شخص مورد نظر اگر بلد نبود مثل شما جامه میدره یا نه؟ البته این رو هم در نظر بگیرید که یک مصاحبهی جالب فراتر از پرسیدن مباحث برنامهنویسی تو قالب درس دین و زندگیه!
در همین مورد یک مقالهی جالب هست که مدل یادگیری T رو شرح میده به نظرم ارزش خوندن رو داره. نه لزوما واسه اینکه خودمون رو آروم کنیم که چیزهای زیادی هست که بلد نیستیم و عمومی دونستن عیب نیست و البته این قضیه که آیا به اندازهی کافی میدونیم یا نه و آیا مناسب این جایگاهی که توش هستیم، هستیم یا نه؟ این قضیه قرار نیست بیخیال ما بشه (این مربوط به سندرم ایمپاستره که اگه فرصت بشه حتما تو فرصت مناسب دوست دارم راجع بهش بنویسم) این قضیه صرفا برای اینه که چجوری خودمون رو توی صنعتی که توش هستیم ارتقا بدیم و همزمان به کاربردهایی که نیاز داریم هم برسیم.
در آخر اینکه نظر شما هم میتونه جالب باشه نظر شما چیه؟