تفاوت میان یک Coder و Developer از لحاظ تعاملات سازمانی
توسعهی نرمافزار (Software development) و کدزنی (Coding) دو مفهوم متفاوت هستند. معمولا، تعریف اولی شامل دومی هم میشود اما همیشه این طور نیست. کدزدن، شامل نوشتن کد است در حالی که توسعهی نرمافزار ایجاد محصول است.
بسیاری از برنامهنویسان خود را توسعهدهنده می دانند، اما در واقع بیشتر آنها فاقد مهارتهایی (مهارت هایی که بین افراد یک سازمان، فناوریهای به کار رفته در آن و فضای کاری تعریف میشود) هستند که تولیدکننده ی محصول را از کدنویسها جدا میکند.
بگذارید در ابتدا نشانههایی را از توضیحات بالا مطرح کنیم. البته موارد زیر صرفا مثال هستند و در مورد همهی افراد صدق نمیکنند.
من به عنوان یک توسعهدهنده، پیامی را در یکی از پیامرسانها از همکارم دریافت میکنم. او در خصوص یک مشکل فنی سوال دارد. اما من پاسخم به او به این صورت است:
“همکار گرامی، من زمان کافی برای پاسخ به پرسشهای شما در این پیامرسان را ندارم. در واقع نمیخواهم پیام شما را در جایی بدهم که مناسب روال کاری ما نیست.”
احتمال دارد همکار شما از این کار شما عصبانی شود یا این کار شما را نامحترمانه بشمارد.
یک ساعت میگذرد، و همکاری دیگری سوالی را با عنوان “مشکل” در سیستم Ticketing مطرح میکند. من این تیکت را با پاسخ “لطفا سوال خود را با جزییاتی بیشتر بپرسید” میبندم. متاسفانه همکارم نحوهی درست کار کردن با سیستم Ticketing را نمیداند. احتمالا قبلا تجربهی کاری در محیطی دوستانهتر را داشته که سوالات به صورت شفاهی پرسیده میشده است و افراد هم به صورت غیر مکتوب پاسخ یکدیگر را میدادند.
مساله اینجاست که همکارم من یک توسعهدهنده نیست، و او یک کدزن (Coder) است. او به عوامل پویا یا به عبارتی dynamics سیستم آگاه نیست و نمی تواند از ابزارهای ارتباطی چطور باید استفاده کند و مهمتر این که مهارت های فنی-اجتماعی زیر را ندارد:
- جست و جوی برای اطلاعات و یافتن آنها؛
- ارسال سوال و جمعآوری پاسخها؛
- افزودن دانش به مجموعهی تیم؛
- ارسال تغییرات کد؛
- بستن تیکت های فنی؛
- رعایت نظم و قوانین در repositoryهایی که تیم روی آنها کار میکند.
یک سیستم توسعهی نرمافزار مدرن، نیاز به تعامل اجتماعی بسیار بالایی نسبت به کدنویسی صرف دارد. دانستن چگونگی ارتباط با تیم و اطلاعات رد و بدل شده بین اعضا، خیلی مهمتر از دانستن design pattern و موارد دیگر است. تنها راه درک این مفاهیم هم صرفا، تمرین کردن آنها در محیط واقعی است. بد نیست بدانید فعال بودن در یک پروژه ی open source یا stackoverflow میتواند در کسب این مهارتها به شما کمک کند و شما را از یک coder به developer تبدیل کند.
منبع: ?Are You a Coder or a Developer
ترجمه: بابک فخریلو