آیا سابقه کاری در درآمد برنامه نویسی نقش مهمی دارد؟

title

در واقع بهتر است سوال را این گونه مطرح کنم. آیا با افزایش سال های سابقه کاری الزاما درآمد برنامه نویس افزایش خواهد یافت؟

جواب ساده به این سوال خیر است.

در طول دوران کاری برنامه نویس هایی را دیده ام که با تعداد سال های سابقه کاری بالا درآمد هایی به مراتب پایین به نسبت آن سابقه داشته اند.

دلیل این امر چیست؟ چرا در شغل برنامه نویسی، همانند خیلی از مشاغل دیگر با افزایش تجربه یا سابقه کاری الزاما درآمد فرد افزایش نمی یابد؟

یکی از دلایلی که به نظر من می رسد این است که در برنامه نویسی میزان درآمد فرد رابطه مستقیم با خروجی فرد دارد. هر چقدر فعالیت های فرد برای سازمان ارزشمند تر باشد درآمد او نیز به تناسب آن می تواند بالاتر باشد.

پس یک برنامه نویس می تواند سابقه کاری زیادی داشته باشد. ولی در تمام این مدت کار مهم و با ارزشی انجام نداده باشد.

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

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

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

البته نکته مهم که دوست دارم در این جا ذکر کنم این است که منظور از دانش، دانش برنامه نویسی است نه یادگیری کتابخانه های مختلف. دانش کد نویسی خوب، معماری نرم افزار، شی گرایی، اطلاعات پایه زبان های برنامه نویسی و …

با افزایش دانش برنامه نویسی فعال در برنامه نویس ها، می توان امیدوار بود که بدهی فنی موجود در کارهای آنها هر روز کاهش یابد.

ولی همین تعداد سال های زیاد فعالیت در حوزه برنامه نویسی در چه مواردی به کمک یک برنامه نویس خواهد آمد؟

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


بروزرسانی ۱۳۹۴/۱۰/۱:

یک مورد مهم در کسب تجربه این است: زمانی که کارهای زیادی انجام می دهید. بدیهی خواهد بود که با مشکلات و مسائل گوناگونی روبرو خواهید شد. این سبب می شود که به نسبت همکارانی که کم کارتر هستند در حل مسائل تکراری کارایی بالاتری داشته باشید. و باز بدیهی خواهد بود که این موضوع در درآمد شما نیز تاثیر بگذارد. ولی باز نمی توان گفت کسی که سالها سابقه کاری دارد الزاما پرکار بوده. و کارهای مفیدی انجام داده است.

8 دیدگاه برای «آیا سابقه کاری در درآمد برنامه نویسی نقش مهمی دارد؟»

  1. “در نهایت اندوخته های یک برنامه نویس است که میزان درامد و پیشرفت او را تضمین می کند”
    من با این جمله موافقم ولی جایگاه (؟؟) اون برنامه نویس هم خیلی در میزان درآمدش مهمه…..

    1. منظور از جایگاه چیه؟
      اگر منظور از جایگاه سمت باشه. در یک محیط عادی سمت برنامه نویس و مسئولیت هاش از همین اندوخته هاش ناشی میشه. ولی در محیطی که ما زندگی میکنیم الزاما سمت افردا (چه فنی چه غیر فنی) از لیاقت و اندوخته هاشون ناشی نمیشه.

  2. اندوخته‌ها و مهارت، با تمرين «در طول زمان» حاصل ميشه؛ نه يك شبه. همين‌ها رو ميزاري كنار هم ميشه سابقه‌ي كار. بنابراين آيا سابقه‌ي كاري با درآمد ارتباطي داره؟ بله داره. آيا اين سابقه‌ي كار با كدنويسي بهتر، تميزتر و با خطاهاي كمتر مرتبط هست؟ بله هست.
    ضمنا دانش بكار گيري يك كتابخانه رو دانش ندوستيد. بعد در مورد بدهي فني صحبت كرديد. خوب، كسي كه فقط رفته الگوريتم‌هاي مختلف رو به عنوان دانش كسب كرده اما نمي‌دونه با كتابخانه‌ي مثلا ASP.NET Identity چطور بايد كار كنه يا مثلا با Forms authentication به همين ترتيب، آيا اين بدهي فني بالايي به همراه نمياره يا دست به اختراع مجدد نمي‌زنه چون ديدي نداره از راه ‌حل‌هاي موجود؟!

    1. عرض کردم سابقه کاری الزاما در درامد تاثیر نخواهد داشت. نه این که اصلا تاثیری نداره. به شخصه یادگیری ASP.NET Identity رو دانش خاصی نمی دونم چون به نظرم یک برنامه نویس خوب میتونه یک یا دو روزه در این مثال خاص بره و نحوه کار و مشکلات احتمالی و مسائل مربوط به اون رو در بیاره و استفاده کنه. برنامه نویس کی به سمت استفاده از ASP.NET Identity میره؟ وقتی که صورت مسئله ای جلوش باشه که نیاز به استفاده از اون باشه. و اگر برنامه نویس خوب کد نوشته باشه با تغییر فریمورک قبلی به جدید احتمالا نیاز نخواهد بود کل پروژه شخم زده بشه. درسته؟
      ولی بازم میرسیم به صحبت من. بازم کسی که ۱۰ ساله کار کرده تضمینی هست که بتونه از این امکانات استفاده مفیدی و به جایی بکنه.

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

  4. سلام ممنون از انتقال تجربیاتتون.
    فقط یرای هر مطلب بک لینک کوتاه اشتراک بزارید الان لینک فارسیه و نتیجه:
    http://f-bekran.ir/blog/%D8%A2%DB%8C%D8%A7-%D8%B3%D8%A7%D8%A8%D9%82%D9%87-%DA%A9%D8%A7%D8%B1%DB%8C-%D8%AF%D8%B1-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%86%D9%82%D8%B4-%D9%85/
    بجاش مثلا لینک پایین بهتره:
    http://f-bekran.ir/blog/post/1024

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *