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