شاید بهتر باشه قبل از شروع صحبتم توضیحات سایت متمم در مورد تفاوت مشکل و مسئله رو بخونید، به طور خلاصه مشکل در واقع یک مرحله قبل تر از حل مسئله ودر جایی بوجود میاد که هنوز کلی ابهام وجود داره و حتی اطلاعاتی که داریم متناقض هستن، به عنوان مثال فردا صبح قصد دارید با ماشین شخصی به محل کار برید، بعد از اینکه کمربند رو بستین و سویچ رو چرخوندین میبینید که ماشین روشن نمیشه! این مرحله دقیقا قسمتی هست که با یک مشکل مواجه ایم ، حدث میزنیم که ممکنه باتری ماشین خوابیده باشه یا بخاطر امروز و فردا کردن سرویس های موتور ، این اتقاق افتاده.
خب حالا اگر تا حدودی با مشکلات خودرو آشنا باشیم احتمالا بتونیم با کمی کلنجار از این مرحله عبور کنیم و مشکلی که برامون بوجود اومده رو تبدیل به یک مسئله کنیم ، مسائلی مثل تعویض یکی از قطعا موتور ، شارژ باتری و ….
در برنامه نویسی هم عموما من در این چند سال با چنین سناریویی روبرو میشدم ، به این صورت که توی پروژه های مختلف مخصوصا در زمان توسعه فیچر (feature) های جدید امکان بوجود اومدن مشکل در سیستم بسیار بالا میرفت، و نکته ای که باهاش مواجه بودم این بود که عموما برخلاف چیزی که از دنیا برنامه نویسی انتظار داشتم که همیشه یک برنامه نویس در حال حل مسائل پیچیده و فرابشری هست، عمدتا گیر من در قسمت عبور از مرحله حل مشکل بوده و اکثر اوقات با بررسی درست مشکل و تشخیص نسبتا دقیق مسئله، بیش از 50 درصد جواب رو پیدا می کردم حتی برخی اوقات جواب مسئله بصورت آماده در سایت دوست داشتنی stackoverflow وجود داشت.
حالا چرا حل مشکل برای من اینقدر چالش برانگیز بوده ؟
شاید اولین علت مهمش رو بتونم عزت نفس بدونم !!! شاید عجیب باشه ولی وقتی توی سیستم مشکلی بوجود میاد و همه از شما پاسخ میخوان ، خیلی باید از عزت نفس و اعتماد به نفس بالایی در حوزه تخصصی خودتون برخوردار باشید که با حفظ کنترل و آرامش خودتون اولین راه و مسیری که به نظرتون میاد رو ارائه ندین و باز هم زمان بخرید و راه های مختلف ، مسیر هایی که شم برنامه نویسیتون میگه امکان داره درست باشه رو هم تست کنید و بهترین راه رو انتخاب کنید.
علت دومی که باهاش برخوردم ، تا حدودی میتونم از جنس تعهد بدونمش ، به عنوان مثال من توسعه دهنده اندروید شرکت هستم و اگر مشکلی در سیستم بوجود میاد صرفا با توجه به تعهدم مشکل رو سمت اندروید بررسی کنم و نتیجه رو اعلام کنم ، اما اینجا اتفاقی که معمولا پیش میاد این هست که بخاطر نگاه تک بعدی من ، اون مشکل حل نمیشه چرا که برخی مشکلات برای حلشون نیاز به نگاه چند بعدی و کمی دانش مربوط به sql , backend , php و … هست ، تا با شناخت بهتر سیستم ، مفروضاتی که هم تیمی ما داره و ممکنه اشتباه باشه رو بتونم تشخیص بدم و به حل مشکل سرعت ببخشم.
علت سومی که میتونم نام ببرم ، ضعف در مهارت ارتباطی هست ، به عنوان مثال ، وقتی با هم تیمی ها در حال بررسی مشکل و گزینه های پیش رو هستیم ، گفتن جملاتی مثل “به هیچ عنوان  امکان پذیر نیست” , “این کار نشدنیه”  و جملاتی از این دست که الزاما پشتوانه تجربی و علمی محکمی هم ممکنه نداشته باشه ، تا انتها مارو مجبور میکنه این موضع رو حفظ کنیم و در قبال هر صحبتی که این جمله رو نقض کنه ، گارد داشته باشیم .

ادامه دارد …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *