Mehrdad Esmaeilpour
Mehrdad Esmaeilpour
خواندن ۱ دقیقه·۳ سال پیش

قطب‌نمای اخلاقی توسعه نرم‌افزار

ترجمه‌ نادقیقِ بخشی از ویرایش دوم کتاب برنامه‌نویس عملگرا


بهای این قدرت نامتعارف، هوشیاریه. اعمال ما مستقیما روی مردم اثر می‌ذارن. دیگه خیلی خبری از برنامه‌های تفریحی روی پردازنده ۸ بیتی تو گاراژ، یه برنامه ایزوله برای پردازش داده‌های بیزنس تو یه دیتاسنتر خصوصی یا حتی یه برنامه روی دسکتاپ نیست. برنامه‌های ما تار و پود زندگی روزانه مدرن مردم شدن.

حالا وظیفه ماست با هر قطعه کدی که تحویل می‌دیم، از خودمون بپرسیم:

  • آیا از کاربر نرم‌افزارم محافظت کردم؟
  • آیا خودم از همین نرم‌افزار استفاده می‌کنم؟

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

هیچ‌کس کامل نیست؛ همه یکی یا بعضی از این مدل پرسش‌ها رو فراموش می‌کنن. صادقانه نمی‌تونین بگین که همه عواقب کارتون رو لیست کردین و مطمئن شدین کاربر جاش امنه اما در نهایت مسئولیت کارتون رو نپذیرین.

قبل از همه چیز، به کسی صدمه نزنین

یک قانون طلایی برای قضاوت وجود داره: آیا خودم از استفاده این نرم‌افزار به عنوان کاربر راضی خواهم بود؟ راضی خواهم بود که اطلاعات شخصیم به اشتراک گذاشته بشه؟ آیا می‌خوام که حرکاتم به خرده‌فروشی‌ها واگذار بشه؟ آیا از اینکه یه نرم‌افزار ناشناس خودروم رو کنترل کنه خوشحال خواهم شد؟ آیا از این کار احساس راحتی می‌کنم؟

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

به کثافت‌ها توانایی نبخشین
برنامه‌نویس عمل‌گرااخلاق در نرم‌افزارنرم‌افزار اخلاقیبرنامه‌نویسینرم‌افزار
مهندس نرم افزار، نویسنده، شاعر و خیال پرداز
شاید از این پست‌ها خوشتان بیاید