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