نمیدانم که آیا فردی مذهبی هستید یا نه. صرفنظر از اینکه در کدام سمت ایستادهاید، مطمئنم که با من موافقید که بسیاری از خونینترین و هولناکترین جنگهای تاریخ، تا حدی بر سر مذهب بودهاند.
این را نمیگویم که مذهب را زیر سؤال ببرم یا آن را ذاتاً خوب یا بد جلوه دهم، بلکه میخواهم شما را به این نکته حساس کنم که پایبندی تعصبآمیز به باورهای جزمی معمولاً التهاببرانگیز است.
همین مسئله در مورد توسعه نرمافزار هم صدق میکند. باورهای متعصبانه درباره فناوری و برنامهنویسی میتوانند همانقدر بحثبرانگیز باشند که باورهای مذهبی درباره منشأ حیات یا وجود یک خدای برتر. درست است که معمولاً کسی را به خاطر ترجیح iOS به اندروید نمیکشیم، اما گاهی در بحثها یکدیگر را زیر فشار قرار میدهیم یا شاید وقتی کسی نگاه نمیکند، یک ضربه کوچک به شکم طرف مقابل بزنیم!
من قویاً باور دارم که اگر بتوانید از متعصب شدن نسبت به فناوری پرهیز کنید، در مسیر حرفهای خود پیشرفت بیشتری خواهید داشت. در این فصل، به بررسی دلایل این موضوع خواهیم پرداخت.
همه ما نسبت به فناوری متعصب هستیم
این حقیقت دارد. بهتر است آن را بپذیرید. همه ما نسبت به یک فناوری خاص یا یک زبان برنامهنویسی مشخص گرایش داریم و فکر میکنیم که بهترین است—حداقل اکثر برنامهنویسان اینگونهاند. این کاملاً طبیعی است. ما به کاری که انجام میدهیم علاقه داریم و هر جا که اشتیاق باشد، نظرات شدید و قوی نیز وجود خواهد داشت. کافی است نگاهی به دنیای ورزش حرفهای بیندازید.
مشکل تعصب به فناوری این است که معمولاً به این دلیل متعصب میشویم که آن فناوری را بهتر از بقیه میشناسیم. طبیعی است که باور داشته باشیم انتخاب ما بهترین گزینه ممکن است، بنابراین هر گونه نظر مخالف را توهینآمیز تلقی میکنیم. ما نمیتوانیم درباره همه فناوریهای موجود اطلاعات کاملی داشته باشیم، پس معمولاً به آنچه میشناسیم پایبند میمانیم و آن را بهترین میدانیم—چون در غیر این صورت زندگی بیش از حد پیچیده خواهد شد.
اما این رویکرد، هرچند طبیعی است، مخرب و محدودکننده نیز هست. وقتی به باورهایی که صرفاً بر اساس تجربه شخصی ما شکل گرفتهاند، تعصب میورزیم، معمولاً فقط با افرادی معاشرت میکنیم که همان باورها را دارند و بقیه را کنار میگذاریم. در نتیجه، خود را در جوامعی محصور میکنیم که ایدههای مشابه بارها و بارها تکرار میشوند. به نقطهای میرسیم که دیگر رشد نمیکنیم، چون تصور میکنیم که همه پاسخها را پیدا کردهایم.
خود من مدت زیادی از دوران حرفهایام را به تعصب ورزیدن نسبت به سیستمعاملها، زبانهای برنامهنویسی، و حتی ویرایشگرهای متن گذراندم، تا زمانی که یاد گرفتم نیازی نیست فقط یک فناوری را انتخاب کنم و بقیه را نادیده بگیرم.
همه چیز ارزشمند است
همه فناوریها عالی نیستند، اما بیشتر فناوریهایی که به پذیرش گسترده میرسند، حداقل «خوب» هستند. یک فناوری نامناسب معمولاً نمیتواند موفق شود و مورد استفاده گسترده قرار گیرد. البته شرایط در طول زمان تغییر میکند، اما مهم است که درک کنیم تقریباً هر فناوری در مقطعی از تاریخ، حداقل خوب یا حتی عالی تلقی میشده است.
داشتن این دیدگاه کمک میکند که در بسیاری از موارد بفهمیم تنها یک راهحل خوب یا بهترین وجود ندارد. یک زبان برنامهنویسی، یک فریمورک، یک سیستمعامل، یا حتی یک ویرایشگر متن، لزوماً بهترین گزینه نیستند. شاید شما یک فناوری خاص را بیشتر دوست داشته باشید و حتی در استفاده از آن بهرهوری بیشتری داشته باشید، اما این الزاماً به معنای بهترین بودن آن نیست.
تغییر نگرش من
برای مدت زیادی باور این موضوع برایم دشوار بود. ساعتهای بیشماری را صرف بحث و جدل میکردم که چرا ویندوز از مک بهتر است. با شور و حرارت استدلال میکردم که زبانهای استاتیکی مثل C# بسیار برتر از زبانهای داینامیکی مثل Perl یا Ruby هستند. حتی—و از این بابت شرمندهام—گاهی به برنامهنویسانی که نظر متفاوتی داشتند، بیاحترامی میکردم. چطور جرأت میکردند که درباره فناوری عقیدهای متفاوت از من داشته باشند؟
اما تجربهای که دیدگاهم را تغییر داد، زمانی بود که برای اولین بار از من خواسته شد که رهبر تیم یک پروژه جاوا باشم. تا آن زمان، بیشتر به عنوان یک توسعهدهنده .NET کار کرده بودم و تمرکزم بر C# بود. (البته قبل از آن هم، مدتی بهشدت به C++ تعصب داشتم تا زمانی که .NET آمد.) اصلاً نمیتوانستم قبول کنم که با جاوا کار کنم. جاوا در نظرم زبانی بههمریخته و نامرتب بود در مقایسه با ظرافت C#. چطور میتوانستم از نوشتن کد در جاوا لذت ببرم وقتی حتی نمیتوانستم از عبارتهای لامبدا استفاده کنم؟
در نهایت، به این کار تن دادم، چون فرصت خیلی خوبی بود و با خودم گفتم که چون یک قرارداد موقت است، میتوانم یک سال تحملش کنم. اما در نهایت، این تصمیم یکی از بهترین انتخابهای حرفهای من شد. کار کردن با فناوریای که از آن بدم میآمد، باعث شد دیدگاه جدیدی نسبت به همه فناوریها پیدا کنم. در نهایت متوجه شدم که جاوا اصلاً آنقدر هم بد نیست. حتی میتوانستم درک کنم که چرا برخی توسعهدهندگان آن را به C# ترجیح میدهند.
در طول سالهایی که روی پروژه جاوا کار کردم، بیشتر از کل دوران حرفهایام تا آن زمان آموختم. ناگهان جعبهابزاری پر از ابزارهای مختلف داشتم که میتوانستم برای حل هر مشکلی از آنها استفاده کنم، به جای اینکه فقط به چند ابزار محدود و تکراری متکی باشم.
از آن زمان، همان ذهنیت باز را که در مورد جاوا اتخاذ کرده بودم، در مورد سایر زبانهای برنامهنویسی—حتی زبانهای داینامیک—هم به کار گرفتم و از هر یک از آنها چیزهایی آموختم که باعث شد در تمام آنها برنامهنویس بهتری شوم. همچنین، تعصب خود را نسبت به سیستمعاملها و فریمورکها کنار گذاشتم و قبل از قضاوت، آنها را امتحان کردم. اگر آن تجربه را نداشتم، شاید حتی این کتاب را نمینوشتم—یا شاید اسم آن این بود: «چرا C# بهترین است و بقیه چیزها افتضاحاند!»
خودتان را محدود نکنید
نکته اصلی این است که خود را محدود نکنید. هیچ دلیل منطقی وجود ندارد که سرسختانه بر این باور باشید که انتخاب شما بهترین است و دیگر گزینهها را نادیده بگیرید یا تحقیر کنید. این تعصب در نهایت به ضرر خودتان تمام خواهد شد.
در عوض، اگر ذهن بازی نسبت به فناوری داشته باشید و صرفاً به چیزی که میشناسید نچسبید و آن را بهترین ندانید، فرصتهای بیشتری پیش روی شما باز خواهد شد.

