نحوه مذاکره و بستن قرارداد (روز ها و ساعت‌های کاری و ساعات پشتیبانی و ... ، قبل از شروع هر کاری!)

این بلاگ پست یکی از مجموعه پست‌هایی هست که اینجا لیستشون کردم.سورس عکس روش قبلا تگ شده.خب می‌خوام که یکی از مهم‌ترینِ مهم‌ترین‌ها رو بگم، شاید نه بخاطر اهمیت بیشترش، صرفا بخاطر نکات بسیاری زیادی که این موضوع می‌تونه شامل بشه.توی این مطلب می خوام که تمامی بست‌پرکتیس‌هایی که طی این چند سال دولوپری داشتم رو لیست کنم و در کنارشون مشکلات و چالش‌های مرتبطشونم میگم. بحث ما اینجا بیشتر موارد پروژه‌ای و فری‌لنسینگ رو شامل میشه و در رابطه با کار‌های تمام وقت خیلی چالش‌های متفاوت تری وجود نداره(وقتی که سینیور بشید).باید من از اینجا این مطلب رو ۲ قسمت کنم:یکی موارد مربوط به استخدام و دیگری انجام پروژه‌ها(فریلنسینگ)قسمت اول :‌استخدامداستان مصاحبهتوی قرار‌های کاری شما هنگام مصاحبه باید خود واقعیتون رو نشون بدید. گفتن این‌ مطالب برای سینیور‌ها تکراری هست ولی خب شاید واسه بقیه نباشه. مهم ترین چیزی که شما باید روش مانور بدید صحبت بر روی کانسپت‌ها و نتایج کار‌هاییه که کردید. اینکه شما حرف از تکنولوژی‌هایی که باهاشون کار می‌کنید بزنید، یا اینکه حرف از این تونستید چه دستاورد‌هایی داشته باشید خیلی روی طرف مقابل شما تاثیر میزاره. پس برای همین سعی کنید از تجربه‌ها و دستاورد‌هاتون بگید. پرکتیس‌های خوب و بدی که داشتید. اینها چیز‌هایی هست که شما رو از بقیه متمایز می‌کنه.داستان روز‌های کاریاین داستان معمولا تو مصاحبه تغییر نمی‌کنه مگر اینکه شما یک اهرم فشار داشته باشید(مثل وقتی که کارفرما می‌خواد که زودتر کار رو شروع کنید). از اونجایی که شرکت‌ها اکثرا یک تایم کاری و ساعت ورود و خروج برای همه‌ی کارمنداشون دارن خیلی سخته که شما بخواید تافته جدا بافته باشید و بهتر هست که قبل از مصاحبه این مورد رو از بقیه پرس‌و‌جو کنید. اگه مثل من ساعت رفت و آمد خیلی براتون مهمه.اکثرا توی محیط‌های استارتاپی مانوری بیشتری میشه روی این قضیه داد ولی شرکت‌های سنتی‌تر کمتر?.داستان پشتیبانیبسته به پوزیشنی که شما دارید امکان داره که نیاز به پشتیبانی در ساعات غیر اداری داشته باشید. این از اون چیز‌هایی که هیچ کارفرمایی اول حرف ازش به میون نمیاره. ولی اگه خودتون به کیفیت کارتون ایمان دارید پشتیبانی دادن به شرکتی که در استخدامش هستید کار خیلی خوبیه و اینکه همونطور که گفتم اگه کارتون خوب باشه معمولا کمتر سیستم نیاز به پشتیبانی خارج از ساعات کاری پیدا می‌کنه. واسه همین این یک نکته مثبتی هست که شما می‌تونید مطرحش کنید و به عنوان امتیازی که به کارفرماتون میدید بعدا در مواقع خاص درخواست‌هایی ازشون بکنید. از اونجایی که پشتیبانی سیستم‌های نرم‌افزاری یک نیاز هست و جزیی از کار، معمولا وقتی که فاجعه رخ میده نیاز بهش هست (همراه با کلی استرس‌). برای حرفه‌ای بودن باید با خودتون اینجوری دیل کنید که این هم جریی از کار من هست و نباید از انجام دادنش طفره رفت.همیشه روی پرداکشن جدا از لاگ خطاها برای خودتون یه اطلاع رسانی اسلک یا ایمیلی هم داشتید باشید تا نفر اولی باشید که از ترکیدن سیستم مطلع میشه.داستان حقوق (اصل داستان)خب این قسمت از کار رو باید حواستون باشه که معمولا طرفین می خوان که قیمت اول رو از طرف مقابلشون بشنون (گرچه روال صحیح اینه که اون شرکت توی آگهی استخدامش باید رنج حقوقی که می‌تونه پرداخت کنه رو ذکر کنه). برخلاف بایاسی که توی این بحث وجود داره شما نفر اول قیمت بدید و همیشه عدد رو بر مبنایی که قبلا بهش رسیدید بگید. امکان داره که توی مصاحبه گول بخورید و این خیلی زیاد پیش میاد. بنابراین حواستون باشه که باید قبل‌تر به این فکر کرده باشید که چقدر حقوق براتون مناسبه(مگه میشه کسی بهش فکر نکنه!؟). اگه توی جلسه استخدام با اصرار طرف مقابل مبنی بر بالا بودن مبلغ پیشنهادیتون و دادن یکسری وعده‌های معنوی مواجه شدید و به این نتیجه (یا توافق با طرف مقابل) رسیدید که مبلغ رو پایین بیارید. مطمئن باشید دارید گول می‌خورید! گرچه فراموش نکنید که پایین آوردن مبلغ به یه میزان خیلی کم جوری که هنوز خودتون از مبلغ نهایی رضایت داشته باشید اشکال نداره.یه حالت دیگه هم داره که شما توی مصاحبه متوجه می‌شوید که جا داره مبلغ‌تون رو بالاتر ببرید. خب در اینجور موارد مشکلی نداره قیمت رو ببرید بالا ولی طمع نکنید. پس خوب فکر کنید، حتی اگه لازمه کمی از طرف مقابل وقت بخواید و در نهایت یک مبلغ بگید که خودتون ازش رضایت دارید.دلیل تاکید من بر روی رضایت از مبلغ نهایی این هست که شما اگه حتی ته دلتون یه نارضایتی کوچیک داشته باشید امکان داره که تو کار سست بشید و همیشه خودتون رو مقصر بدونید که عه مثلا می‌تونستم ماهی ۱-۲ تومن بیشتر هم بگیرما ولی الان نمی‌گیرم. مقصر اول و آخر این داستان هم خود شما هستید! پس از قبلتر دقت کنید و نزارید همچین اتفاقی براتون بیوفته. قابل پیشگیری هست.رفتار حرفه‌ایرفتار حرفه‌ای رو خیلی جدی بگیرید. این بیشتر از کیفیت کدتون ارزش شما رو بالا میبره. واسه همین همیشه حرفه‌ای رفتار کنید. هیچ وقت توی بحث‌های فرسایشی شرکت نکنید.حرف بزنید! ما ایرانیا حرف زدن رو بهمون یاد ندادن! هر مشکلی که دارید رو اول با فرد مورد نظر به صورت کاملا دوستانه مطرح کنید. هیچ‌وقت کسی رو تهدید به انجام کاری نکنید، فقط و فقط در موارد حاد یادآوری کنید که پیگیری قانونی می‌کنید(اگه حتی نمی‌خواید این کارو بکنید).یکسری اخلاق‌های ابتدایی هست که معمولا دولوپر‌ها ندارن، مثل سلام کردن ?‍♂️. این‌ها اصلا نباید مطرح بشن ولی خب باید همیشه واقعیت رو بپذیریم. این اخلاق‌ها باید همیشه به بهترین نحو ممکن پیاده بشن.تعامل رو یادمون نره. همیشه باید تعامل کنیم. نظر بدیم و رابطمون رو با بقیه صمیمی نگه داریم.صندلی ارگونومیک و کول‌پد(پایه لپ‌تاپ) رو باید همیشه داشته باشید و این رو از کارفرما بخواید.این‌جا میشه تا فردا صبح نکته گفت که تو حوصله بحثمون نیست. واسه همین اگه نکته‌ی مهمی رو می دونید و اینجا نبوده می تونید تو کامنت‌ها بگید.قسمت دوم :‌پروژه‌های فریلنسینگخب توی این مدل کار کردن خیلی از چونه زدن‌ها و توافق‌ها به قبل از نوشتن قرارداد بر می‌گرده که اکثرا هم سر قیمت و زمان انجام پروژه هست. ولی یادتون نره که توی همین صبحت‌های اولیه باید این موارد رو به کارفرما(که شاید فرد ناآگاهی به این حوزه‌ هم باشه) بگید:مبلغ قطعی قراردادمدت زمان قطعی تحویل پروژهمدت‌ زمانی که پشتیبانی رایگان می‌دهید و اینکه بعدا واسه پشتیبانی چقدر میگیرید.تا چند سال پروژه رو پشتیبانی می‌کنیداگه سورس‌کد رو تحویل نمی‌دید باید بهشون بگید.اگه هیچ تصویر ذهنی از این حرفا ندارید من مدلی که خودم کار می‌کنم رو براتون میگم. این توضیحاتی هست که من معمولا توی صحبت اول به کارفرما میگم: ما پروژه شما رو توی حدودا .... روز کاری با مبلغ حدودا ... تومن انجام میدیم. سورس کد رو به شما تحویل نمیدیم(اگه پروژه بزرگ باشه میدیم) و واسه همین هاستینگتون رو هم خودمون انجام میدیم. ما هاست رو از ....(فلان جا) میگیرم و هزینه‌ها همون هزینه‌های اونجا هست. تا چهار سال پروژه رو پشتیبانی می‌کنیم، سال اول رایگان هست و سال‌های بعدی ۱۰٪ مبلغ قرار‌داد رو میگیرم.من قیمت و زمان رو حدودی گفتم چون صحبت اول هست و روی پروپوزال نیمده. شما باید برای مشتری روشن کنید که به غیر از این‌ها کار با شما براشون هزینه‌ی دیگه‌ای نداره!خب مواردی بعدی رو اینطوری لیست می‌کنم.نکات مربوط به پشتیبانیکارفرما هیچ ایده‌ای از پشتیبانی نداره. اینکه چیا شاملش میشه و چیا نمیشه رو شما باید بهشون بگید. همیشه مشکلات و بروزرسانی‌های امنیتی یا خطاهایی که توی سایت بوجود میاد توی پشتیبانی قرار می‌گیره. تمام تغییراتی که کارفرما مد نظرشه و بعدا از شما می‌خواد به عنوان یک امکان‌اضافی باید توی پروسه‌کاری شما قرار بگیره. یعنی اولی بررسیش کنید. بعد قیمت و زمان بدید و بگید که کی فرصت می‌کنید که انجامش بدید و در نهایت بعد از تایید کارفرما امکان جدید رو اضافه کنید و پولش رو بگیرید (همه مکاتبات باید مکتوب باشن). چون شما سایت کارفرما رو در دست دارید می‌تونید که پول رو بعد از اضافه کردن فیچر بگیرید.همینطور حواستون باشه که اگه سورس کد رو به کارفرما میدید اون امکان داره که بخواد هر ۲ ماه یکبار هاستشو عوض کنه و هر سری برای کانفیگ کردن به شما زنگ بزنه که پشتیبانیش کنید! این اتفاق زیاد میوفته و چون معمولا هر کدی یک کانفیگ خاصی می‌خواد همیشه می‌تونه دردسرساز باشه. این می‌تونه یکی از دلایل محکم شما واسه ندادن سورس کد به کارفرما باشه.حواستون به بکاپ باشه! چون معمولا انتظار میره که وقتی شما دارید هاستینگ رو انجام میدید باید بکاپ هم رو هم خودتون انجام بدید. معمولا هاست‌ها برای بکاپ پول می‌گیرن. پس این رو به کارفرما بگید. که بکاپ می‌گیرید یا نمی‌گیرید و باید هزینش رو بپردازن. این از اون موضوعاتیه که می‌تونه طرفین رو بشدت درگیر کنه.نکات مربوط به قراردادنکاتی که الان میگم کلی هستن و صرف دونستنشون کفایت می‌کنه.حتما قرارداد کتبی بنویسید.(در ۲ نسخه)زمان پروژه همیشه حداقل ۲ برابر اون چیزی هست که فکر می‌کنید. با یه حداقل مثلا کلا زیر ۳۰ روز پروژه رو زمان ندید. شرایط پرداخت رو ذکر کنید و بنویسید که شروع پروژه منوط به پیش‌پرداخت هست.بنویسید که پولی که گرفته‌اید رو به هیچ وجه پس‌ نمی‌دید.اگه کارفرما خیلی اصرار می‌کنه برای زمان تحویل جریمه در نظر بگیرید. همینطور تحویل گرفتن سیستم از سمت کارفرما(و پرداخت).نظرات کارفرما رو مکتوب کنید که قابل استناد باشه.به کارفرما بگید که تهیه و آماده‌سازی اطلاعات اولیه بر عهده شما نیست(دیتا اینتری). ذکر کنید که ۱ بار بعد از تکمیل پروژه نحوه کار با سیستم رو به نماینده کارفرما آموزش میدید.رازداری و حفظ اطلاعات محرمانه کارفرما یکی از تعهدات شماست. اینو تو قرارداد بنویسید.ذکر کنید که کارفرما نمی‌تونه بدون اجازه شما این پروژه رو روی چندتا دومین بالا بیاره! پروژه وایت لیبل هزینه جداگانه داره.زمان تحویل گرفتن پروژه رو برای کارفرما مشخص کنید.ذکر کنید که در فوتر سایت بعدا امضای خودتون رو قرار میدید(البته قابل مذاکره هست. شاید یکی نخواد)ذکر کنید که تاخیر در پاسخ‌گویی از سمت کارفرما به زمان تحویل پروژه اضافه می‌کنه.داوری تعیین کنید. بهتر هست که بجای مراجعه به مرجع قضایی برای حل مشکلات بوجود آمده پیش داور بروید.ذکر کنید که همه‌ی عوارض یا مالیات مربوط به پروژه بر عهده کارفرماس و اینکه این قرارداد قابل انتقال به غیر نیست.فروس‌ماژور رو ذکر کنید و بنویسید که توی اون شرایط قرارداد به صورت خود به خود فسخ میشه.پروپوزالتون رو پیوست قرارداد کنید.خب اکثر موارد مهم همین‌هاست. یکسری از موارد هم بود که مربوط به تعهدات کارفرما میشد و باید توی قرارداد بیاد ولی چون قبلا توی پست تعهدات کارفرما لیست کرده بودمشون اینجا نیاوردم.امیدوارم که این مطالب براتون مفید بوده باشه و اگه هست لطفا اون رو هم با بقیه به اشتراک بزارید.ممنون.