یکی بخشهای لاینفک حرفهٔ کدنویسی، ارتباطات است؛ گرچه بخش قابلتوجی از زمان دولوپرها به تعامل با کامپیوتر، کامپایلر، ابزارهای توسعهٔ نرمافزار و مهمتر از همه پروژهای که درحال کار کردن روی آن هستند میگذرد، اما درعینحال دولوپرها گاهیاوقات میبایست با سایرین نیز به دلایل مختلفی ارتباط داشته باشند.
موفقیت پروژههای بزرگ و مهم برنامهنویسی امروزه دیگر بیش از آنکه دلیل فنی داشته باشد، مستلزم وجود تعاملی سازنده بهصورت گروهی-اجتماعی است؛ بسیاری از برنامهنویسان موفق کسانی هستند که علاوهبر تسلط به یک یا چند زبان برنامهنویسی، به مهارتهای ارتباطی و دیگر زبانهای زندهٔ دنیا بهغیر از زبان مادری خود نیز مسلط هستند.
نیاز به توضیح نیست که در فرایند کدنویسی، دولوپر بهنوعی از طریق کدهایی که مینویسد صحبت کرده و از سیستم میخواهد تا تسکهای مدنظرش را به انجام برساند. یک برنامهنویس خوب در تعامل با دیگر افراد نیز بهخوبی میداند که با چه زبانی و با چه شیوهای به تعامل با ایشان بپردازد تا به بهترین شکل ممکن بتواند منظورش را به دیگران منتقل کرده و ارتباطی اثربخش ایجاد نماید.
نکتهٔ دیگری که در زمینهٔ ارتباطات فردی در حوزهٔ توسعهٔ نرمافزار میبایست مدنظر قرار داد این است که به غیر از دولوپرها، افراد ذینفع بسیاری در یک پروژهٔ نرمافزاری نسبتاً بزرگ دخیل هستند که از آن جمله میتوان به مدیر محصول، مدیر پروژه، کارشناس تجربهٔ کاربری، مدیر بازاریابی، تسترهای نرمافزار، دولوپرهای فرانتاند و همچنین صاحب اصلی محصول (مشتری) اشاره کرد که برخی از ایشان دارای دانش فنی هستند و برخی دیگر خیر.
یک دولوپر خوب کسی است که بهخوبی با نیازهای تکتک افراد فوقالذکر آشنایی داشته و ایشان را بهخوبی درک کند و برای نیل به چنین مهمی، ما میبایست با هریک از افراد بالا با زبان خودش بتوانیم صحبت کنیم؛ بهعبارت دیگر، جایی نیاز است فنی صحبت کنیم و جایی هم میبایست در غیرفنیترین حالت ممکن منظور خود را بیان کنیم تا مخاطب کاملاً متوجه منظورمان شود.
اجازه دهید برای روشنتر شدن این مسأله، مثالی بزنیم؛ فرض کنیم یک مشتری داریم که حسابدار است و قرار است برایش یک نرمافزاری مالی بنویسیم؛ برای این که ارتباط کلامی با این مشتری به بهترین شکل ممکن صورت گیرد، ما میبایست با برخی مفاهیم حسابداری همچون ترازنامه، بدهکار، بستانکار، صورت مالی، دارایی جاری، اصل بهای تمامشده، بدهی، معوقه و غیره آشنایی داشته باشیم که اصطلاحاً به این موارد Jargon گفته میشود.
نکته |
Jargon به اصطلاحات تخصصی هر حرفهای گفته میشود که بخش قابلتوجهی از مکالمات افراد فعال در آن حوزه بااستفاده از این اصطلاحات تخصصی صورت میگیرد؛ بهعنوان مثال، افراد مختلفی همچون پزشکان، وکلا، حسابداران، مکانیکها، برنامهنویسها و دیگر متخصصین هرکدام اصطلاحات کاری خود را دارند که در حین صحبت با همکارانشان، بهسادگی از آنها استفاده کرده و هردو طرف هم بهخوبی منظور یکدیگر را متوجه میشوند. |
بهطورکلی، زمانیکه یک برنامهنویس این وظیفه را دارا است تا نیازها، ایدهها و دغدغههای مشتریان را به کد تبدیل کند، آشنایی با این جارگونها یک ضرورت است. همچنین جدای از تمامی این مباحث و دانستن این نکته که مهارتهای ارتباطی و اجتماعی بخشی جداییناپذیر از زندگی یک دولوپر است، برخورداری از دانش زبان انگلیسی برای دولوپری که قصد دارد برچسب حرفهای روی خود بزند یک باید است.
بهعبارت دیگر، دولوپری که بخواهد پابهپای دانش روز نرمافزاری دنیا حرکت کند، بهراحتی داکیومنتهای زبانهای برنامهنویسی، لایبرریها و غیره را بخواند، بهراحتی در گوگل و استکاورفلو سرچ کند و با دیگر دولوپرهای سراسر دنیا در ارتباط باشد، داشتن مهارت زبان انگلیسی (حداقل خواندن و نوشتن) کمترین چیزی است که از وی انتظار میرود.
بهعبارت دیگر، اگر دولوپر تازهکاری هستید که قصد دارید حرفهٔ توسعهٔ نرمافزار را بهعنوان شغل اصلی خود و محل درآمدتان انتخاب کنید اما دانش کافی در زمینهٔ زبان انگلیسی ندارید، توصیه میشود فراگیری زبان برنامهنویسی خود را متوقف کرده و شروع به یادگیری زبان انگلیسی کنید چراکه پس از مسلط شدن به مهارتهای خواندن و نوشتن -و البته درصورت امکان مهارتهای صحبت کردن و گوش کردن- سرعت یادگیری و پیشرفت شما در زمینهٔ کدنویسی بهمراتب بیش از زمانی خواهد بود که زبان نمیدانستید!