«شما نمیتوانید» یا همان «چرا برنامه نویسی رو به رتبه کنکور ترجیح دادم؟»
رسیدیم به جایی که برای کاری رو براش شرکت انجام دادم که براشون خیلی مهم بود. بعد از این اتفاق اعتماد به نفس من خیلی تغییر کرد و روی دیدم به آینده خودم خیلی تاثیر مثبتی داشت اما خب باز هم کاری که انجام داده بودم خیلی هم خاص نبود و هرکسی میتونست با کمی دانش فنی انجامش بده.
اینجا میخوام یکمی بیشتر درباره کاری که شرکت داشت میکرد توضیح بدم.
این کار که مخابرات بهش میگفت تلفن هوشمند درواقع به هوش هیچ ربطی نداشت. فکر کنید یک شماره تلفنی دارین که هرکسی با اون تماس بگیره به ازای هر دقیقه تماس مثلا ۱۰۰ تومان روی قبض تلفنش هزینه بیشتری رو پرداخت میکنه و بخشی از اون هزینه رو مخابرات به شما بده.
این سیستم هم به همین صورت یک مسابقه تلفنی بود که از طریق تلویزیون (برنامه صبحی دیگر شبکه آموزش) تبلیغ میشد، کاربر ها با تماس با اون تلفن تو مسابقه شرکت میکردند و ممکن بود جایزه ربع سکه ببرن یا چیز های دیگه یا هیچی!
اون زمان سیستم تلفنی ما قابلیت پاسخگویی به حدود 500 تماس همزمان رو داشت. دو هفته اولی که تبلیغات میرفت هم ترافیک خوب بود هم سیستم ها خوب کار میکردن و مثلا ۳۰۰ تماس همزمان سمت ما فرستاده میشد و به سیستم اونها رو وارد بازی میکرد. سیستمی که ما از اون استفاده میکردیم یک سیستم بسیار قدیمی بود (سوییچ های AS5300 قدیمی سیسکو) و کم کم یک مشکلات عجیب و قریبی به وجود اومد که تا امروز هم دلیل اونها رو کاملا نفهمیدیم.
اتفاقی که میافتاد این بود که وقتی تعداد تماس ها زیاد میشدن سیستم دیگه هنگ میکرد و به هیچ تماسی پاسخ نمیداد و فقط سکوت پخش میکرد. اون زمان به خاطر این مشکل تمام مدیران شرکت استرس زیادی داشتن چون هزینه زیادی که بابت تبلیغات داده بودن داشت هدر میرفت و حتی کاربرانی که تماس میگرفتن با اینکه هزینه تماس رو میدادن ولی سکوت براشون پخش میشد. تو اون هفته روز هایی که میرفتم شرکت پدرم تا دیر وقت (حدود ۱۱ شب) شرکت میموند و داشتن با تیم برنامه نویسی دنبال مشکل میگشتن.
قبلا تو قسمت اول گفته بودم یکی از علایق من در زمینه کامپیوتر بحث همزمانی(Concurrency) شده بود. و این مشکل هم دقیقا شبیه یک مشکل همزمانی بود و خیلی علاقه داشتم بتونم از چیز هایی که قبلا تو این زمینه یاد گرفته بودم استفاده کنم. این فضا رو که دیدم حس عجیبی سراغم اومد. میخواستم که بتونم این مشکل رو حل کنم پس وارد برنامه ای که برای این سیستم نوشته شده بود شدم و سعی کردم مشکلات رو حل کنم. سیستم ترد های برنامه رو کمی عوض کردم و سعی کردم با یک برنامه کمکی از وضعیت سیستم آگاه باشم و مقدار مصرف منابع (CPU و Memory) رو توی یک فایل به ازای هر دقیقه بنویسم بتونیم ببینیم اگه مشکلی به وجود از چی بوده.
قرار شد تا روز بعد صبر کنیم تا ببینیم مشکل چیه! برنامه تلوزیونی ساعت ۹ صبح شروع میشد و من مدرسه داشتم اما به پدرم گفتم و چون این براش مهم بود قبول کرد که من مدرسه نرم و در عوض بیام شرکت.
ساعت ۸:۳۰ صبح اومدیم شرکت. برنامه شروع شد. ترافیک داشت بالا میرفت و همه چیز به ظاهر خوب بود. بعد از گذشتن از ۲۸۰ تماس باز هم مشکل به وجود اومد. تو اون لحظه حس شکست سنگینی سراغ من اومد. تمام اوضاع سیستم عادی بود و مصرف منابع هم معقول و عادی.
دو روز رو اینطوری با آزمون و خطا جلو رفتیم ولی هر بار شکست خوردیم. اینجا دیگه تقریبا مطمعن بودیم مشکل از برنامه ما نیست و شاید تو لایه سیستم های مخابراتیمون مشکلی وجود داره!
تنش ها توی شرکت خیلی زیاد شده بود و معمولا صدای حرف زدن ها شبیه صدای داد زدن بود و همه عصبانیت و استرسشون رو سر تیم فنی خالی میکردن. یکی از دوستای من که تو تیممون بود اسمش امید بود و خانمش پا به ماه بود. بچشون قرار بود یک ماه دیگه به دنیا بیاد. ولی این اوضاع استرس زیادی برای همه مخصوصا امید ایجاد کرده بود.
خود من حتی برای کنکور و امتحانات به این شکل استرس نداشتم ولی توی این اتفاقات به شدت استرس داشتم مخصوصا اینکه ناراحتی زیاد پدرم رو میدیدم که داشتن شکست میخوردن در صورتی که موفقیت دو قدمی اونها بود.
خلاصه که تصمیم گرفتیم از کسی که ازش برای این سیستم مشاوره گرفته بودن کمک بگیرن. با اون آدم قرار گذاشتیم و نزدیکای ظهر اومد شرکت. اسمش یادم نیست، پسری جوان حدودا ۲۵ ساله.
تو جلسه مشکلمون رو بهش گفتند و گفت بریم سیستم ها رو از نزدیک ببینم. با دیدن سیستم های قدیمی که خودش به ما پیشنهاد داده بود گفت:
- که این سیستم ها هیچ مشکلی ندارن و کار میکنن.
+ خب پس چرا این مشکل به وجود میاد؟
- چون کار توی این حجم کار شرکتی کوچیکی مثل شما نیست و دانش فنی کمی دارید چون برنامه ای که نوشتید تحت ویندوزه و اصلا ویندوز قابلیت پاسخگویی به همچین حجمی رو نداره!
+ خب نمیشه شما برامون برنامه بنویسی؟ بلخره با هم کنار میایم
- نه من اصلا وقتشو ندارم و برای شما نمیتونم کار کنم. شما هم این برنامه رو بیخیال شید. در حد اندازه شما نیست و راه اندازی این سیستم هزینه میلیاردی داره که بتونه پاسخگو باشه.
خلاصه که مارو پیچوند فقط به خاطر اینکه قبول نکنه این سیستم مشکل داره. و مهم تر از همه من و بقیه دوستام رو مسخره کرد و بهمون گفت: «نمیتونید!»
«نمیتونی» کلمه فوقالاده ای هست. چرا؟ چون باعث میشه شما هر آنچه در توان دارید رو بزارید وسط تا بتونید. تا ثابت کنید میشه و میتونید. خیلی از موفقیت های هیجان انگیز دنیا از همین «تو نمیتونی» شروع شده. معلم هایی که به شاگرداشون مثل انیشتن گفتن «تو نمیتونی موفق بشی».
اصلا میخوام اسم این سری نوشته رو عوض کنم و اسمشو بزارم «تو نمیتونی».
از اون شب من صد درصد فکرم شده بود درست کردن این سیستم به هر روشی حتی ساختش از اول.
پس دست به کار شدیم.
ادامه دارد...