هزینه های تولید نرم افزار با نگاه برنامه نویس محور ( نگاه چهارم )

حمیدرضا عباسی

کارشناس نرم افزار
هزینه هایی که حساب نمی شوند!

از ماست که بر ماست!

در نگاه های قبلی روشن که سهم بزرگی از معضل نامناسب بودن قیمت نرم افزار در ایران به درآمد نامناسب برنامه نویسان ایران مربوط می شود، درآمدی که با شرایط شغلی خاص این حرفه همخوانی ندارد. اما آیا این مسئله به کارفرما مربوط می شود؟ من می خواهم یک نتیجه گیری شخصی از این مورد داشته باشم و کارفرما را در رتبه آخر مقصران قرار دهم. در واقع درآمد یک برنامه نویس در یک کشور خاص، به شرایط مختلفی ربط پیدا می کند، حتماً شما هم تا به حال پیش خود فکر کرده اید که چرا پزشکان درآمد بهتری از مهندسان دارند؟! شاید بتوان پاسخ این سوال را در این مسئله یافت که مردم در کشور ایران، ارزش یک پزشک را درک کرده اند، وقتی ارزش یک خدمت روشن باشد، مردم راحت تر برای آن پول پرداخت می کنند، گرچه همیشه از هزینه بالای خدمات گلایه و گاهی هم ناله و نفرین وجود دارد، اما به هر حال این هزینه پرداخت می شود. این در حالیست که هزینه های مهندسی دارای رقم های نجومی نیست و همیشه منطق معتبری پشت هزینه ها هست، در ضمن این گروه از متخصصین کمتر به طور مستقیم با عامه مردم کار دارند، معمولاً خدمت به قشری پرداخت می شود که دارایی لازم برای دریافت خدمت را دارست یا مستعد دریافت خدمت با هزینه ای معقول می باشد.

شغل مهندسی نرم افزار را در نظر بگیرید، یک شرکت مهندسی به سازمان های دولتی، خصوصی و اشخاصی که بر اساس نیاز حرفه خود، احساس کرده اند که به نرم افزار نیاز دارند، سرویس می دهد. اما این نیاز چقدر درک شده است؟ در حقیقت باید بگوییم که این روزها، نیاز به خوبی در حال درک شدن است، اما راه رسیدن به خدمت مناسب نهادینه نشده است، زیرا که «خشت اول چون نهد معمار کج، تا ثریا می رود دیوار کج» ! ، اگر روزهای ابتدایی که این صنعت وارد کشور ما شده بود، به مدیریت پروژه، مهندسی نرم افزار و در نهایت فرآیند مهم برآورد اندازه و هزینه نرم افزار دقت شده بود و این مسئله توجیح علمی خود را در بین دیگر صنعت ها پیدا کرده بود، امروز شاهد این نابسامانی نبودیم، روزهایی که تولید نرم افزار، تنها وابسته به یک یا چند برنامه نویس پنداشته می شد و نقش مدیر و مهندس نرم افزار در این بازار گم بود، کلید بی ارزشی نرم افزار های ایرانی خورده شد و این فکر تا امروز ادامه پیدا کرده است.

مردم (خریداران و صنعتگران): مایکروسافت در سال ۲۰۰۷ اعلام کرد که نزدیک به ۱۰ هزار متخصص بر روی پروژه شکست خورده ویندوز ویستا کار کرده اند، با احتساب حقوق هر برنامه نویس در مایکروسافت از قرار ۲۰۰ هزار دلار در سال، رقمی معادل ۲ میلیارد دلار هزینه ساخت ویندوز ویستا در ده سال شده است، البته اگر قاعده ضربدر دو را که در نگاه اول توضیح دادیم برای این محصول در نظر نگیریم. دو میلیارد دلار معادل بودجه سالانه کشوری مثل گرجستان می باشد. آیا مایکروسافت ریسک و خطر را دوست دارد که معادل بودجه یک کشور را خرج یک محصول می کند که در سال اول شکست می خورد؟ اگر متوجه شوید که مایکروسافت در همان سال اول هشت برابر این رقم را از ویندوز سود کرده است، باز هم به مایکروسافت انتقاد مالی وارد هست؟ ویندوز ویستا شکست خورد، اما پایه گذار نسل های بعدی ویندوز مانند ویندوز ۷ و پلت فرم های بعدی شد، بودجه هزینه شده را با رقم چند برابری جبران کرد و تا انتشار نسخه ویندوز ۷ نیز روی کامپیوترها ماند. حالا فرض کنید که بازار هدف مایکروسافت ایران بود، آیا شما حاضر بودید ۴۰۰ دلار هزینه خرید ویندوز اوریجینال را بدهید؟ یا حتی ۱۰۰ دلار هزینه خرید نسخه OEM آن را پرداخت کنید؟ اگر مایکروسافت ایران را انتخاب می کرد، در آن صورت حتماً و برای همیشه نسخه اش پیچیده می شد.

تا به حال چند مهندس نرم افزار را دیده اید که درس مهم و ۶ واحدی مهندسی نرم افزار را در این رشته، جدی گرفته باشد؟ به جرأت می توان بگوییم که بیش از ۹۰ درصد از دانشجویان به این درس به دلیل پیچیدگی اهمیت نمی دهند و از مباحث راهگشای آن غافل می شوند. ناگفته نماند که در هیچ کلاس مهندسی نرم افزاری نیز درس به مباحث درآمدی کشانده نمی شود و این خود مشکل را در آینده آن دانشجو کلید می زند.

در واقع می خواهیم قبل از اینکه تقصیر را بر گردن کارفرما بیاندازیم، در درجه اول مردم و درجه دوم شخص برنامه نویس ها را مقصر بدانیم:

اینکه نرم افزارهای بزرگ دنیا در ایران به رایگان قابل دانلود هستند، یک دلیل منطقی برای توجیه این موضوع می باشد که مردم ایران به خرید نرم افزار علاقه ای نشان نمی دهند. مهمترین دلایلی که ما ایرانی ها خودمان را محق آن می دانیم که حق کپی رایت این نرم افزارها را نقض کنیم، از یک سو تحریم های ظالمانه ای می باشد که سالیان سال هست باعث تضعیف اقتصادی و قدرت خرید مردم ما شده است و از سوی دیگر، عدم بهره مندی از روش های پرداخت بین المللی مانند پی پال می باشد. اما اینکه با تولید کننده داخلی هم دشمنی می کنیم، شاید چیز جالبی نباشد، و این موضوع باعث شده است که نتوانیم در صنعت نرم افزار هم مانند سایر صنایعی که تولید کننده داخلی دارد، قد علم کنیم. البته باید این نکته را در نظر گرفت که تولید کننده هم از همان نرم افزارهایی که به رایگان دانلود می شود، برای توسعه نرم افزار استفاده می کند، اما اینجا باز هم باید به این مهم توجه کرد که گرچه محیط توسعه خارجی است، اما توسعه دهنده ایرانی است و از تحریم های برابر با سایرین برخوردار می باشد.

در سالهای اخیر فرهنگ سازی خوبی برای فروش فیلم های سینمایی اوریجینال تولید داخل و مبارزه با کپی محصول صورت گرفت، آیا پسندیده نیست که برای حوزه نرم افزار هم فکری شود؟ شاید فکر کنید که فیلم سینمایی با رقمی حدود ۳۰۰۰ هزار تومان عرضه می شود، اما اگر از نرم افزارهای اندروید و IOS بگذریم، برخی نرم افزارها هرگز نمی توانند با رقم های غیر میلیونی فروخته شوند؟ حقیقتاً هم همینطور می باشد، اما حرف این است که کپی رایت رعایت شود، هر محصولی با توجه به تعداد مشتری و عملکرد، قیمت و شرایط خودش را طلب می کند، مطمئناً یک نرم افزار حسابداری به کار عامه مردم نمی آید! آیا نباید تولید شود؟

برنامه نویس: من می خواهم عمده مشکل بازار خراب نرم افزار در ایران را به گردن برنامه نویس ها بیاندازم.

برنامه نویسی بی شک یکی از طاقت فرسا ترین مشاغل دنیاست، به شخصه و در جایگاه یک برنامه نویس، بارها خواسته ام این شغل را رها کنم و به سراغ شغلی راحت تر، حتی با درآمدی پایین تر برم. وقتی کد مانند یک تومور سرتاسر زندگی ات را بگیرد، دیگر نگاهِ یک موضوع فراخ بخش از شغلت گرفته خواهد شد و به آن نیز بسان یک سرطان خواهی نگریست.

در نوجوانی پدرم دوستی داشت که یکبار مرا درباره ادامه تحصیل و رفتن به دانشگاه ترغیب کرد، آن مرد معتقد بود که تحصیل در دانشگاه، حتی اگر برای کم ارزش ترین رشته دانشگاهی هم باشد، باز ارزش دارد، زیرا دانشگاه علاوه بر اینکه به دانش فنی فرد می افزاید، باعث شکوفایی خرد، همت و فرهنگ فرد می شود.

این یک واقعیت هست که هیچ برنامه نویسی برای تفریح دست به کد نمی شود، شاید در ابتدا تفریحی هم در کار باشد، اما در ادامه فقط یک درآمد مناسب می تواند او را آرام کند. اما اگر قرار باشد سالهای سال رسیدن به این درآمد طول بکشد، چه کسی ضرر کرده است؟ ارباب رجوع که به محصول خود رسیده است، پیمانکار هم درآمد خود را به خوبی کسب کرده است، در این میان برنامه نویس بیچاره با کوهی از تخصصی و یک دو جین از امراض مختلف، ضرر اصلی کرده است، زمانی که به خود می آید و متوجه می شود که دیگر برای انتخاب هر شغل دیگری دیر شده است! پس قبل از استفاده از کیبورد، دوباره فکر کنیم! در واقع بر این باور هستم که برنامه نویس باید قدرت چانه زنی داشته باشد و بتواند حداقلِ درآمد راضی کننده را کسب کند و در غیر اینصورت اگر این شغل را رها نکند، هم به خود و هم به جامعه نرم افزاری زیان وارد کرده است!

در دوران دانشگاه، استاد شبکه ای داشتم که معتقد بود، یک مهندس اگر حتی یک سوپرمارکت فروش مواد غذایی هم تأسیس کند، از دیگر شاغلین آن حرفه موفق تر خواهد بود، زیرا او با فکر بازتری به همه مسائل پیرامون خود می نگرد، می تواند رفتار آینده مشتری را تحلیل کند، نیاز او را بسنجد و با دانش عمومی که در دوران تحصیل فراگرفته است، فروش خود را تضمین کند. میخواهم این نتیجه گیری را کنم که به همین سادگی تن دادن به معضلات جسمی و روحی که پیشتر ذکر شد، کار هوشمندانه ای نیست، شغل های ساده تر دیگری هم رده درآمدی شغل برنامه نویسان هست که می توان آن ها را انتخاب کرد. یک فروشنده سخت افزار حرفه ای شاید چندین برابر بیشتر از یک برنامه نویس درآمد داشته باشد، آیا منطقی نیست که عمری را که صرف حرفه ای شدن در یک زبان برنامه نویسی می کنیم، صرف تقویت خودمان در بازار فروش کنیم؟ 

کارفرما: شاید کارفرما در پایین بودن قیمت نرم افزار کمترین تقصیر را داشته باشد، فرض کنید قصد دارید کابینت های خانه تان را عوض کنید، کابینت را هم خودتان دارید، قطعاً برای نصب آن، کارگری را انتخاب می کنید که هزینه کمتری از شما دریافت کند؛ کارفرما هم اینگونه است، وقتی برنامه نویس مجربی حاضر می شود با یک قیمت نازل کد نویسی کند، کارفرما دلیلی برای پرداخت هزینه بالاتر به شخص دیگری نمی بیند. در واقع کارفرما در یک بازار رقابتی قرار دارد و قصد دارد هزینه ها را به هر نحوی کاهش دهد. تنها چیزی که او در نظر نمی گیرد، فرسایش توان برنامه نویس است که مرور زمان را شامل می شود و این تنها آسیبی است که به کارفرما وارد می شود، شاید چند سال بعد که سیستم کارفرما کاملاً به یک کارشناس وابسته شده است، او مهندسی را در سیستم خود ببیند که اصلاً توانایی لازم برای مدیریت کدهایی که حتی خودش خلق کرده است را هم ندارد. در این میان نمی توان به کارفرما خرده گرفت که چرا نسبت پرداختی و سودش برابر نیست، زیرا که در جامعه اقتصادی، هر شخصیتی اعم از حقیقی یا حقوقی به فکر سود خویش است، اما می توان نتیجه گرفت که کارفرما هم نتوانسته آینده سیستم خود را به درستی مدیریت کند.

در نهایت بهبود بازار نرم افزار به شرط ایجاد انگیزش برای تولید کننده و توسعه دهنده (مهندس نرم افزار و برنامه نویس)، می تواند به سود اقتصاد کشور تمام شود. با در نظر گرفتن امکان صادرات محصول با کیفیت، می توان از یک صنعت خدمت محور، استفاده بهتری کرد و درآمد زایی بالایی را متصور شد.