BITQUEEN
BITQUEEN
خواندن ۲ دقیقه·۶ سال پیش

این داستان برنامه نویسی که bubble sort نمی‎دانست

اخیرا تو توییتر پستی دیدم که سوال اصلی که مطرح کرده بود این بود که آیا یک برنامه‎نویس الزامی داره الگوریتم مرتب‎سازی حبابی رو حفظ باشه یانه؟ من این سوال رو مشخصا از یکی دیگه تو همین شبکه‎ی اجتماعی دیده بودم و خب جواب به نظرم هم نه می‎تونه باشه هم آره و البته "نه" به دلیل مصداقی هست که آورده شده، اگر نه جواب قطعا نه است.

این داستان برنامه نویسی که bubble sort نمی‎دانست
این داستان برنامه نویسی که bubble sort نمی‎دانست

چیزی که می خوام بگم اینه که همین که به عنوان الفبای برنامه‎نویسی بدونین چنین چیزی وجود داره و کاربردش چیه سرعت کارتون مطمئنا خیلی میره بالاتر تا اینکه از ابتدا به مفاهیمش بپردازید. البته مصداقی که انتخاب شده از متداول‎ترین امور توی برنامه نویسیه گرچه باز هم چیزی نیست که به خاطرش یک نیروی مشتاق به یادگیری رو توی مصاحبه از دست بدیم.

یک مثال بزنم در یکی از پروژه‎هایی که داشتیم مربوط به پیاده‌سازی الگوریتم‌های sha256 بود و کسی از اعضای تیم این الگوریتم رو حفظ نبود (به دلیل زبان سطح پایین اکثر مواردی که برای زبان‎های سطح بالا تنها نیازبه فراخوانی یک خطی داره برای ما نیاز به پیاده‎سازی صفر تا صد داره) و خب این تخصصی نیست که همه در وهله‎ی اول بهش نیاز داشته باشیم یا بخش ابتدایی همه‎ی آموزش‎های برنامه‎نویسی باشه ولی اینکه دانش عمومی داشته باشیم که چنین چیزی موجود هست کفایت می‌کنه. در نظر بگیرید اینجا نیاز به فردی نداریم که همه کاره باشه! نیاز به فردی نداریم که کاملا به روز باشه! ما نیاز به نیروهایی داریم که پتانسیل به روز شدن رو داشته باشه. البته که داشتن تخصص یک امتیاز مثبت محسوب می‎شه ولی حقیقت اینه که این همه چیز نیست مگر در مواردی که اطمینان دارید کار شما تغییر زیادی نمیخواد.

پس پیشنهاد چیه؟ اگر خواستین کسی رو استخدام کنید لازم نیست وقتی Bubble Sort نمی‏دونست جامه بدرید و سر به بیابون بگذارید کافیه ببینید شخص مورد نظر اگر بلد نبود مثل شما جامه میدره یا نه؟ البته این رو هم در نظر بگیرید که یک مصاحبه‎ی جالب فراتر از پرسیدن مباحث برنامه‏‎نویسی تو قالب درس دین و زندگیه!

در همین مورد یک مقاله‎ی جالب هست که مدل یادگیری T رو شرح میده به نظرم ارزش خوندن رو داره. نه لزوما واسه اینکه خودمون رو آروم کنیم که چیزهای زیادی هست که بلد نیستیم و عمومی دونستن عیب نیست و البته این قضیه که آیا به اندازه‏‎ی کافی می‏دونیم یا نه و آیا مناسب این جایگاهی که توش هستیم، هستیم یا نه؟ این قضیه قرار نیست بیخیال ما بشه (این مربوط به سندرم ایمپاستره که اگه فرصت بشه حتما تو فرصت مناسب دوست دارم راجع بهش بنویسم) این قضیه صرفا برای اینه که چجوری خودمون رو توی صنعتی که توش هستیم ارتقا بدیم و همزمان به کاربردهایی که نیاز داریم هم برسیم.

در آخر اینکه نظر شما هم می‎تونه جالب باشه نظر شما چیه؟


برنامه نویسیمصاحبه
برنامه نویس مینفریم هستم، با کوبول کار می‏ کنم و البته زنده هستم.
شاید از این پست‌ها خوشتان بیاید