
جلسات فنی بخش جداییناپذیر زندگی هر برنامهنویس هستند. فرقی نمیکند بکاند دولوپر، فرانتاند دولوپر یا دوآپس باشید، توانایی حضور موثر در جلسات فنی یکی از مهارتهایی است که میتواند مسیر شغلی شما را به شکل قابل توجهی تغییر دهد.
بسیاری از برنامهنویسان از نظر دانش فنی در سطح بالایی قرار دارند اما در جلسات فنی نمیتوانند تواناییهای خود را به درستی نمایش دهند. در مقابل، افرادی وجود دارند که شاید از نظر فنی بهترین عضو تیم نباشند، اما به دلیل نحوه صحبت کردن، تحلیل مسائل و مشارکت در تصمیمگیریها، حرفهایتر به نظر میرسند.
نکته مهم اینجاست که حرفهای به نظر رسیدن در جلسات فنی به معنی استفاده از اصطلاحات پیچیده یا صحبت کردن بیش از حد نیست. بلکه به معنای داشتن تفکر ساختاریافته، توانایی تحلیل مسئله و انتقال مؤثر ایدهها است.
در این مقاله یاد میگیریم چگونه در جلسات فنی حضور موثرتری داشته باشیم و تصویری حرفهای از خود به عنوان یک برنامهنویس ارائه دهیم.
در بسیاری از شرکتها تصمیمات مهم فنی در جلسات گرفته میشود. انتخاب معماری، فناوریها، زمانبندی توسعه، اولویتبندی وظایف و حتی ارتقای شغلی افراد تحت تاثیر عملکرد آنها در این جلسات قرار میگیرد.
وقتی بتوانید در جلسات فنی:
مسئله را دقیق تحلیل کنید
دیدگاههای مختلف را بررسی کنید
ریسکها را شناسایی کنید
راهکارهای منطقی ارائه دهید
به مرور به عنوان فردی قابل اعتماد شناخته خواهید شد.
این موضوع به ویژه برای برنامهنویسانی که قصد دارند به موقعیتهای سنیور، تک لید یا معمار نرم افزار برسند اهمیت بیشتری دارد.
یکی از اشتباهات رایج برنامهنویسان این است که تصور میکنند میتوانند در همان لحظه درباره هر موضوعی تصمیمگیری کنند.
اگر از قبل بدانید موضوع جلسه چیست، حداقل چند دقیقه برای مطالعه آن زمان بگذارید.
مواردی که بهتر است بررسی کنید:
مستندات پروژه
Pull Requestها
Issueهای مرتبط
معماری فعلی سیستم
محدودیتهای فنی موجود
آمادگی قبلی باعث میشود هنگام صحبت کردن اعتمادبهنفس بیشتری داشته باشید.
برنامهنویسان حرفهای بر اساس داده صحبت میکنند.
به جای اینکه بگویید:
فکر میکنم این روش کند باشد.
بگویید:
طبق تستی که انجام دادم، زمان پاسخ API از ۲۰۰ میلیثانیه به ۱٫۵ ثانیه افزایش پیدا میکند.
اعداد، معیارها و نتایج واقعی همیشه قانعکنندهتر از حدس و گمان هستند.
بسیاری از افراد قبل از اینکه مسئله را به خوبی درک کنند، مستقیما سراغ ارائه راهحل میروند.
یک توسعهدهنده حرفهای ابتدا سوال میپرسد:
دقیقا چه مشکلی داریم؟
این مشکل برای چه تعداد کاربر رخ میدهد؟
محدودیتهای فعلی چیست؟
هدف نهایی چیست؟
وقتی مسئله به خوبی تعریف شود، پیدا کردن راهحل سادهتر خواهد شد.
جملاتی مانند:
این روش کاملا اشتباه است.
این معماری هیچ فایدهای ندارد.
این کار هرگز جواب نمیدهد.
معمولا نشانه حرفهای بودن نیستند.
بهتر است بگویید:
این روش ممکن است در مقیاس فعلی چالشهایی ایجاد کند.
یک نگرانی درباره عملکرد این بخش دارم.
شاید بهتر باشد گزینههای دیگر را هم بررسی کنیم.
این نوع بیان نشان میدهد ذهن تحلیلی دارید و آماده شنیدن دیدگاههای دیگر هستید.
یکی از اشتباهات رایج، صحبت کردن مداوم برای نشان دادن دانش فنی است.
در جلسات فنی کیفیت صحبت اهمیت بیشتری از کمیت دارد.
یک جمله دقیق و کاربردی میتواند ارزش بیشتری از ده دقیقه توضیح پراکنده داشته باشد.
افراد حرفهای معمولا:
کوتاه صحبت میکنند
دقیق صحبت میکنند
مستقیماً به موضوع میپردازند
بسیاری از برنامهنویسان از پرسیدن سوال میترسند زیرا تصور میکنند باعث میشود کمدانش به نظر برسند.
در واقع افراد باتجربه بیشترین سوالها را میپرسند.
نمونه سوالات حرفهای:
آیا این تصمیم روی سرویسهای دیگر تاثیر دارد؟
اگر حجم کاربران ده برابر شود چه اتفاقی میافتد؟
آیا برای این سناریو تست بار انجام شده است؟
برنامه ما برای مدیریت خطا چیست؟
این سوالات نشان میدهد به تصویر بزرگتر توجه دارید.
به جای:
این قسمت چیه؟
بپرسید:
این سرویس چه مشکلی را حل میکند و چه تفاوتی با سرویس فعلی دارد؟
هرچه سؤال دقیقتر باشد، پاسخ مفیدتری دریافت خواهید کرد.
گاهی لازم است با نظر یکی از اعضای تیم مخالف باشید.
اشتباه:
این ایده بدیه.
درست:
نگرانم این رویکرد در زمان افزایش ترافیک مشکلات مقیاسپذیری ایجاد کند.
تمرکز روی ایده به جای فرد، فضای جلسه را حرفهای نگه میدارد.
هر مخالفتی باید همراه با استدلال باشد.
اگر صرفا بگویید:
من موافق نیستم.
ارزش چندانی ایجاد نمیکنید.
اما اگر بگویید:
در پروژه قبلی تجربه مشابهی داشتیم و این ساختار باعث افزایش پیچیدگی نگهداری شد.
دیدگاه شما وزن بیشتری پیدا میکند.
یکی از نشانههای افراد کمتجربه تلاش برای پیچیده جلوه دادن مفاهیم ساده است.
برنامهنویسان حرفهای میتوانند مفاهیم پیچیده را ساده توضیح دهند.
اگر بتوانید معماری میکروسرویس یا Event Driven را به زبان ساده توضیح دهید، تاثیر بیشتری خواهید گذاشت.
یکی از ویژگیهای مهم مهندسان نرمافزار حرفهای درک مزایا و معایب هر تصمیم است.
به جای گفتن:
باید Redis استفاده کنیم.
بگویید:
Redis سرعت بسیار خوبی دارد اما پیچیدگی عملیاتی سیستم را افزایش میدهد.
این نوع نگاه نشاندهنده بلوغ فنی است.
هیچ فناوری کاملی وجود ندارد.
وقتی درباره ابزارها صحبت میکنید، علاوه بر مزایا، محدودیتها را نیز بیان کنید.
این کار نشان میدهد تصمیمات شما واقعبینانه هستند.
یکی از تفاوتهای اصلی بین برنامهنویس متوسط و برنامهنویس حرفهای، توجه به اهداف کسبوکار است.
جلسات فنی فقط درباره کدنویسی نیستند.
سوالاتی مانند:
این قابلیت چه ارزشی برای کاربر ایجاد میکند؟
آیا هزینه پیادهسازی توجیه دارد؟
آیا این تغییر روی درآمد شرکت تاثیر دارد؟
نگاه شما را از یک کدنویس صرف به یک مهندس نرمافزار تبدیل میکند.
همه مشکلات ارزش یکسانی ندارند.
برنامهنویسان حرفهای میتوانند تشخیص دهند:
چه چیزی بحرانی است
چه چیزی مهم است
چه چیزی میتواند به آینده موکول شود
این مهارت در جلسات تصمیمگیری بسیار ارزشمند است.
بعد از جلسه نکات مهم را ثبت کنید.
مواردی مانند:
تصمیمات نهایی
مسئول هر وظیفه
ریسکهای شناسایی شده
زمانبندی اجرا
این کار باعث میشود به عنوان فردی منظم و قابل اعتماد شناخته شوید.
اگر درباره موضوعی اطلاعات کافی ندارید، صادق باشید.
جملهای مانند:
در این حوزه تجربه عملی ندارم اما علاقهمندم بیشتر بررسی کنم.
بسیار حرفهایتر از ارائه اطلاعات نادرست است.
اجازه دهید افراد صحبت خود را کامل کنند.
قطع مداوم صحبت دیگران معمولا نشانه اعتمادبهنفس نیست، بلکه نشانه ضعف در مهارت ارتباطی است.
بسیاری از توسعهدهندگان انتقاد از کد را به عنوان انتقاد از خود تلقی میکنند.
در حالی که کد فقط یک خروجی فنی است.
اگر کسی ایرادی در راهکار شما پیدا کرد، به جای دفاع احساسی، آن را بررسی کنید.
استفاده مداوم از واژههای پیچیده ممکن است باعث شود افراد تصور کنند میخواهید دانش خود را به رخ بکشید.
هدف جلسه انتقال اطلاعات است، نه نمایش دایره لغات فنی.
اگر رفتار مهندسان ارشد و معماران نرمافزار را مشاهده کنید، متوجه چند ویژگی مشترک خواهید شد:
بیشتر گوش میدهند تا صحبت کنند.
قبل از نتیجهگیری سوال میپرسند.
روی ریشه مشکل تمرکز میکنند.
به محدودیتهای کسبوکار توجه دارند.
به دنبال بهترین راهکار ممکن هستند نه اثبات درستی خود.
هنگام مخالفت محترمانه رفتار میکنند.
ریسکها را شناسایی میکنند.
تصمیمات را مستند میکنند.
جالب است که بسیاری از آنها کمتر از افراد کمتجربه صحبت میکنند اما تاثیر بیشتری روی جلسه میگذارند.
اعتمادبهنفس واقعی از دانش و آمادگی میآید.
برای افزایش اعتمادبهنفس:
مستندات را مطالعه کنید.
معماری پروژه را بشناسید.
درباره فناوریهای مورد استفاده تحقیق کنید.
تجربههای گذشته را مرور کنید.
قبل از جلسه نکات مهم را یادداشت کنید.
هرچه آمادگی بیشتری داشته باشید، راحتتر میتوانید دیدگاه خود را مطرح کنید.
حرفهای به نظر رسیدن در جلسات فنی ارتباط چندانی با تعداد سالهای سابقه یا میزان استفاده از اصطلاحات پیچیده ندارد. آنچه شما را به عنوان یک برنامهنویس حرفهای معرفی میکند، توانایی تحلیل مسئله، برقراری ارتباط موثر، درک محدودیتها، توجه به اهداف کسبوکار و مشارکت سازنده در تصمیمگیریها است.
اگر قبل از جلسه آماده باشید، بر اساس داده صحبت کنید، سوالهای دقیق بپرسید، به دیدگاههای مختلف احترام بگذارید و هنگام مخالفت استدلال منطقی ارائه دهید، به مرور به فردی تبدیل میشوید که سایر اعضای تیم برای نظر او ارزش ویژهای قائل هستند.
در نهایت، افراد حرفهای تلاش نمیکنند حرفهای به نظر برسند، آنها روی حل مسئله تمرکز میکنند و همین موضوع باعث میشود دیگران آنها را حرفهای ببینند.