ماهها درگیر ترجمه و بررسی فصلبهفصل کتاب The Clean Coder اثر رابرت سی. مارتین بودم. این کتاب نه دربارهی سینتکس است و نه فریمورک؛ بلکه دربارهی شخصیت و صفت ما به عنوان یک متخصص است.
امروز، خلاصه این مانیفست بزرگ را در ۱۰ اصل جمعبندی میکنم. این چکلیستی است که مرز میان یک برنامهنویس آماتور و یک Software Craftsman را مشخص میکند:
مانیفست ۱۰ گانهی عمو باب برای حرفهایها:
1️⃣ مسئولیت تام خرابکاریها: اگر غیرحرفهای اشتباه کند، کارفرما تاوان میدهد. اما وقتی حرفهای اشتباه کند، خودش خسارت را جمع میکند و مسئولیت باگهایش را میپذیرد.
2️⃣ قانون اول (آسیب نزن): فرستادن کدی که از تستش مطمئن نیستی به واحد QA، نهایت بیانضباطی است. QA برای اطمینان نهایی است، نه برای شکار اشتباهات بدیهی ما!
3️⃣ دفاع از کیفیت کد: سریع و کثیف یک دروغ بزرگ است. کثیفکاری همیشه سرعت تیم را در آینده نزدیک صفر میکند. شکستن اصول مهندسی زیر فشار ددلاین، خیانت به بیزینس است.
4️⃣ شجاعت در نه گفتن: حرفهایها حقیقت را به قدرت مدیران میگویند. وقتی کاری غیرممکن است، بگو غیرممکن است. چیزی به نام سعی میکنموجود ندارد؛ سعی میکنم یعنی آماده شدن برای شکست!
5️⃣ زبانِ تعهد: کلمات مبهم مثل امیدوارم، باید انجام بشه یا کاش را حذف کن. یک حرفهای قطعی صحبت میکند: من این تسک را تا روز سهشنبه ساعت ۱۲ تحویل میدهم.
6️⃣ قانون ۴۰/۲۰ در اخلاق کاری: کارفرما وظیفه ندارد برای تیز کردن ارهی تو و آپدیت رزومهات پول بدهد. ۴۰ ساعت در هفته برای کارفرما کار کن، ۲۰ ساعت در هفته در زمان شخصیات مطالعه و تمرین Kata کن.
7️⃣ فرار از تلهی ناحیه جریان (Flow Zone): خلسه و تمرکز تونلی موقع کد زدن، دید کلان معماری را از تو میگیرد. برای فرار از این تله و حذف سیلوهای دانش، Pair Programming کن.
8️⃣ هرم اتوماسیون تست: تست کردن، نوشتن چند تست واحد پراکنده نیست. پایداری سیستم نیازمند لایههای هماهنگ از تستهای واحد بالای ۹۰٪، تست مؤلفه، یکپارچهسازی و تست سیستم است.
9️⃣ بیزینس را بفهم: بدترین کار این است که خودت را در مقبرهای از تکنولوژی دفن کنی، در حالی که بیزینسی که به تو پول میدهد در حال سقوط است. وظیفه تو شناور نگه داشتن کشتی کسبوکار است.
🔟 مسئولیت بزرگان برای جوانان: دانشگاه تئوری علوم کامپیوتر را میگوید، اما مهندسی واقعی را نه! وظیفه اخلاقی مهندسان ارشد این است که جونیورها را زیر بال و پر خود بگیرند و منتور کنند.
تغییر و پذیرش این اصول، بیشتر از آنکه یک تصمیم عقلانی باشد، یک بلوغ انسانی و شخصیتی است.
کلام آخر: اگر کلاهتان را قاضی کنید، صادقانه در کدامیک از این ۱۰ اصل هنوز ضعف دارید و فکر میکنید چالش بزرگتری در بازار کار فعلی ماست؟