قبل از هر چیز باید بگم منبع این مطالب من نیستم ، فقط لینک مطلب را گم کردم.
توجه داشته باشید که این مطالب سندیتی ندارد و صرفا تجربیات شخصی من از بازارکار نرم افزار و دات نت ایران (تهران) است و ممکن است همین شرایط در دنیای برنامهنویس های جاوا و سایر پلتفرم ها متفاوت باشد. همچنین لازم بذکر است که این مطلب در۲۱شهریور ۱۳۸۸ نوشته شده و در آینده نیز مکن است نامعتبر و ناکارآ باشد. از شما همخواهشمندم با نوشتن نظر، در تکمیل این مطلب به من کمک کنید. با سپاسمعمولا یک برنامه نویس تازه کار ( کسی که در حال تحصیل – معمولا در مقطع لیسانسو یا تازه فارغ التحصیل شده ) است.
برای کار به شرکت های نزدیک ( عرفی شده توسطدوت و یا آشنا ) مراجعه می کند. در آن شرکت ها هم بخاطر اشنا بودن برنامه نویس تازهکار، و شناخت نسبی از این فرد که توسط معرفش بدست آمده، شرکت استخدام کننده، سعی میکند که کمترین میزان حقوق پرداختی را به او بدهد. یکی از این بهانه ها نداشتن دانشو تجربه کافی برای برنامه نویسی است و خیلی ها ( شرکت ها ) معمولا از این فرد مشتاقبصورت وحشتناک بیگاری می کشند مشکلات بوجود آمده در پروژه را بخاطر عدم شناخت کافیبرنامه نویس تازه کار، به او نسبت می دهند.
استخدام برنامه نویس
یک فرد تازه کار معمولا فردی است که کمتر از دو سال به برنامه نویسی مشغل بوده ومعمولا هیچ پروژه رسمی را به پایان نرسانده، این شخص معمولا از معماری ها فقط در حداسم و توضیحات شنیده و از الگوهای طراحی هم کاملا بی اطلاع است. این دسته از افراددر شرکت ها معمولا به طراحی واسط کاربری گماشته می شوند تا خود پروژه کمتر دچار خطاشود و درگیری آنها با کد هم معمولا کم است. برای چنین فردی معمولا بسته به اینکه درسال اول یا دوم کار است و اینکه چقدر ( خود او ) بازار را درک کرده و اینکه چقدر بهکدنویسی تسلط پیدا کرده معمولا به ازای هر ساعت ۱۲۰۰ تا ۲۵۰۰ تومان پرداخت می شود. نکته جالب اینجاست که معمولا این افراد از سایر بچه های تیم از میزان دریافتی شان ( بخاطر عدم اطلاع از بازار و نداشتن تجربه ) راضی هستند.
اما وقتی که یک شخص دو سال کد می نویسد بسته به رفتار شرکتی که در آن کار میکرده، و تجربیاتی که بدست آورده اقدام به تصمیم گیری می کند. معمولا بیشتر آنها ( به نظر من شاید بیش از ۷۰ درصد ) از شرکتی که در آن آغاز به کار کردند به شرکتدیگری می روند تا تجربیات جدید را کسب کنند و چیزهای جدیدتری را بیاموزند. بطورمعمولا شرکتهای ایرانی دانش بیشتری برای انتقال به برنامه نویس هایشان ندارند و اگریک شخص دو سال در یک شرکت کار کند، با بیشتر معماری، الگوهای طراحی، شیوه کدنویسی وعادت می کند و بعد از روال عادی کارهاست که انجام می شود. درست به همین دلیل همهست که آنها که شرایط را درک می کنند معمولا بعد از ۲ سال از شرکت اولی به شرکتبعدی می روند.
در شرکت دوم، برنامه نویس تازه کار ، یا به یک برنامه نویس زخم خورده تبدیل شدهو یا صرفا اطلاعات کمی در ارتباط با یک شرکت ایرانی و وضع برنامه نویسی پیدا کردهاست. اگر حالت اول برای او پیش بیاید معمولا با دلی ناراضی در جستجوی شرکتی است کهدر همان حدود شرکت اولی به او حقوق بدهد اما در آن شرکت نباشد، این دلیلی می شودبرای جستجوی اشتباه برای شرکت دوم و معمولا دریافتی او در شرکت بعدی چیزی بیشتر ازساعتی ۳۲۰۰ تومان نخواهد بود. اما اگر حالت دوم را پیش گرفته باشد با یک دید وسیعتر و بهتر در جستجوی شرکتی خواهد بود که او را برای رسیدن به شرکت سوم ( که در ذهناو هست ) یاری کند. معمولا این دسته از افراد، برنامه نویس های موفق تری خواهند شد. و در این حالت و بسته به یزان مهارتشان در کدنویسی معمولا چیزی بین ساعتی ۳۰۰۰ تا۳۸۰۰دریافت می کنند. تازه در این سال سوم است که این دسته از برنامه نویس ها شروعمی کنند به یادگیری نوشتن برنامهبه شکل صحیح. معمولا سریعا شروع می کنند به یادگیریمعماری برنامه نویسی در شرکت فعلی و سعی می کنند بخوبی به آن تسلط پیدا کنند. بعضیها معماری های مرتبط دیگر را هم مطالعه می کنند. در همین سال آنها که فعال تر هستندبرای خودشان یک وبلاگ درست می کنند و یا در فوروم های مرتبط عضو می شوند و شروع بهفعالیت می کنند. مسلما میزان فعالیت آنها در فوروم ها و وبلاگ نویسی در موفقیتآنها تاثیرگذار خواهد بود. تعداد بسیار کمی را هم دیده ام که به شدت به اخبار دنیایکامپیوتر و تکنولوژی های وابسته علاقمند می شوند و بخشی از وقت خودشان را برایمطالعه اخبار صرف می کنند.
اما در سال چهارم، معمولا میزان مهارت یک برنامه نویس به سطح قابل قبولی رسیدهو پرسش هایی که برای او پیش می آمد به طرز چشمگیری کاهش پیدا کرده و بخوبی بهپلتفرمی که برنامه می نویسد مسلط شده است. اینجاست که شرکتهای بسیار زیادی برای بهخدمت گرفتن او می جنگند و درست به همن دلیل است که بیشتر آگهی های استخدام برنامهنویس، برنامه نویسی با حداقل میزان ۳ سال برنامه نویسی احتیاج دارند. شرکت های قبلیمعمولا شرکت های کوچک و یا بسیار کوچکی هستند که بزرگ ترین پروژه آنها پروژه های ۱۰تا ۲۰ میلیونی بوده و برای بقا می جنگند. اما شرکتهای این رده معمولا شرکت هایمعمولی یا بزرگ هستند که از رانتهای دولتی برخردارند و برای پروژه هایی که با قیمتگزاف از دولت می گیرند به برنامه نویس خوب احتیاج دارد و معمولا حاضرند که هر بهاییبرای در اختیار گرفتن این برنامه نویس ها بپردازند ( در صورتی که مطمئن شوند اینشخص واقعا برای آنها مفید است(.
در این سال بسته به شرکتی که برنامه نویس جذب آن می شود و میزان مهارت وتاثیرگذاری اش در شرکت و نیز احتمالا شهرتی که از وبلاگ نویسی و یا فوروم ها بدستآورده چیزی حدد ساعتی ۴۰۰۰ تا ۵۰۰۰ می گیرد. به نظر منن دقیقا همین سال چهارم وپنجم برنامه نویسی است که ایده ال ترین سال زندگی یک برنامه نویس است. او گرچه حقوقبالایی (بسته به همکارانش در خارج از کشور) نمی گیرد. اما دارای احترام خوبی استو بخاطر تجربیات قبلی از میزان دریافتی راضی است. او با معماری ها آشنا شده وبراحتی با الگوهای طراحی مختلف کد می نویسد. او برای یک شرکت کاملا مفید است و ازلحظه لحظه وقتش بخوبی استفاده می کند. ( گرچه معمولا در همین سال ها از وقت هایی کهاز دست داده تاسف می خورد، اما از شرایطش معمولا راضی است).
اما این پایان راه نیست بعد از گذر از سال پنحم برنامه نویسی او تبدیل به یکبرنامه نویس ماهر شده که نه حاضر است هرجایی کار کند و نه هرجایی به او نیاز است. معملا پروژه ها آن قدر جدی نیست که به شخصی مثل او برای حل مسائل نیاز باشد و اوناگزیر باید جذب یکی از ۱۰ -۱۲ شرکت برتر نرم افزاری ایران شود و یا اینکه به فکرکار دیگری باشد معمولا کمتر شرکتی است که به چنین شخصی ساعتی ۷۰۰۰ تا ۱۰۰۰۰ تومانبدهد. در همین باب قبلا یک مطلب با عنوانطول عمر برنامه نویسی یک شخصنوشته بودمکه توصیه می کنم آن را هم مطالعه کنید. و در این مورد بیشتر نمی نویسم.
معمولا در ایران وقتی شرکت ها ثبت می شوند، بطور معمول آن قدر بزرگ نمی شوند کهدر آنها امکان تغییر و جابجایی شغل بوجود بیاید مثلا شما نمی توانید به عنوانبرنامه نویس وارد یک شرکت شده و بعد از طی کردن یک روال خاص تبدیل به یک طراح سیستمبشوید ( چیزی که در خارج از کشور کاملا مرسوم است ). معمولا مدیر پروژه یک پست براییکی از مدیران شرکت است و شمایی که برنامه نویس هستید، هرچقدر هم از لحاظ فنی ازمدیر پروژه بهتر باشید باز هم برنامه نویس خواهید ماند مگر اینکه خودتان از یکزمانی به بعد بجای برنامه نویسی اقدام به طراحی سیستم و چه و چه کنید.
اما اینکه شما چند سال باید برنامه نویس باشید واقعا بحث برانگیز است. شرکتهایایرانی بخاطر گردش کم مالی و سرمایه و پشتوانه اندک بدنبال فارغ التحصیلان کم قیمتو مشتاق کار هستند و بخاطر اشنایی بیش از اندازه ( بخوانید رانت ) با سفارش دهنده،ترسی از مشکلات بوجود آمده برای مشتری ندارند و مشکلات را در یک قرارداد پشتیبانیرفع می کنند برای همین به یک برنامه نویس فوق العاده نیاز ندارند. همین جاست که اینتعداد سالهای برنامه نویسی بیشتر به چشم می‌اید معمولا یک برنامه نویس یکی دو سالاول ( بسته به اینکه چقدر تیزهوش است ) به کسب تجربه پرداخته و سعی می کند موقعیتبازار را درککند. سال سوم و چهارم معمولا برای جمع کردن رزومه سعی می کند با قیمتپایین تر و یا کمی معقول در یک شرکت خوب اقدام به کسب تجربه کاری کند. و معمولا سالپنجم و ششم برای یک شرکت خیلی خوب برنامه ریزی کرده و سعی می کند برای کار به آنشرکت مراجعه کند تا هم حقوق بالاتری بگیرد و هم موقعیت شغلی خوبی پیدا کند.
با توجه به موارد بالا اگر یک فرد از ۲۲ سالگی اقدام به برنامه نویسی کرده باشد،پس از شش سال ۲۸ سالش شده و حالات موقعی است که باید برای آینده اش برنامه ریزیکرده و موقعیت ثابتی را برای خودش دست و پا کند. این موقعیت شخص را با توجه بهمیزان تسلطش در برنامه نویسی متفاوت است. اگر شخص تجربه کافی را پیدا نکرده باشدباید دو سال دیگر را جهت کسب دانش لازم کسب کرده باشد و پس از این دو سال او ۳۰ساله شده ، چیزی که بیشتر شرکتهای ایرانی با تردید به او نگاه می کنند. ( حالا اگرعدد ۲۲ را برای شروع بالا یا پایین کنیم شرایط متفاوت تر هم خواهد شد ) توجه داشتهباشید که چنانچه در بالا آمد شرکت های کوچک ایرانی در جستجوی برنامه نویس های ارزانتر و مشتاق تر هستند و افراد ۳۰ ساله با ۷ – ۸ سال سابقه کار و با قیمت های بالا ( بخاطر شرایط زندگی ) را کمتر می پسندند. اینجاست که یک شخص باید از خودش بپرسد کهتا چه زمانی باید به برنامه نویسی ادامه بدهد. و اینکه یک شرکت تا چه زمانی حاضراست حقوق ۲ یا چند نفر را به او بدهد. معمولا راه‌های پیش روی این افراداینهاست:
با توجه به تجربه و لینک‌ها (بخوانید دوستان و بعضا رانت‌ها)یی که پیداکرده، اقدام به راه اندازی یک شرکت دیگر کند. کارش را کلا عوض کند.
تغییر پست بدهد مثلا به یک طراح سیستم تبدیل شود ( این مورد نسبت به موارددیگر خیلی بهتر است یکی از دلایل آن تجربه کافی در برنامه نویسی است و اینکه یکشرکت ( حتی ایرانی ) به یک طراح با تجربه بیشتر از یک طراح تازه کار اعتماد می کندو همین امر باعث درآمدزایی بیشتر می شود )
همین طور برنامه نویس بماند و با همین حقوق سر کند و از این مورد که درآینده احتمال بیشتر نشدن حقوقش وجود داشته باشد نهراسد.
به شرکت های خیلی بزرگ تر مثل خدمات انفورماتیک بپیوندد که امثال خود او درآنجا بیشتر هستند و موقعیت شغلی بهتری پیدا کند.
به ساختار دولتی به عنوان یک کارشناس فنی و یا چیزی شبیه به این ملحق شود. فکر رفتن به خارج باشد. تبدیل به یک فری لنسر بشود. به این معنی که پروژه گرفته و شخصا و یا با یکتیم که خودش تعیین می کند انجام بدهد. با توجه به لینک هایی که پیدا کرده اقدام به دلالی نرم افزار کند. و مواردی از این دست.
موارد بالا مواردی است که به نظر من می رسد و نظر دیگری هم ندارم. در کل نظرشخصی من این است که علاقه و اشتیاق به برنامه نویسی نباید شخص را از آینده نگریبازبدارد و باعث شود که تصمیم های اشتباه را جایگزین علاقه کند. خود من وقتی به ۳۰سال برسم مسلما تغییر پست خواهم دادو تا آن موقع سعی در کسب تجربه کافی خواهم کرد وبه شما هم توصیه می کنم که موقعیت شغلیتان را برای چند سال آینده بررسی و بازنگریکنید.