کار با طراحها از نگاه یه مهندس نرمافزار
خلاصهٔ کاملتر
شان گودکی تو این پست از تجربهش با طراحها نوشته. به گفته نویسنده، طراحها ارزششون رو فوری نشون میدن: اون یه UI موقت میسازه، طراح نگاهش میکنه و یه mockup میاره که به شکلی بهتره که خودش اصلا به فکرش نمیرسید. نویسنده میگه مدیرها و PMها معمولا قبلا مهندس بودن ولی تقریبا هیچ طراحی از مهندسی نیومده، و همین فاصله فرهنگی یه نقطه قوته چون طراح سعی نمیکنه پنهانی قضاوت فنی کنه.
حرف اصلیش اینه که فقط یه طراح باید روی یه محصول باشه. بدترین تجربهش پروژهای بوده که اول یه طراح داشت و بعد دوتا طراح ارشد جاش اومدن. اونا اول کل محصول رو دوباره طراحی کردن و بعد با هم اختلاف پیدا کردن، طوری که هر صفحه سه چهار بار عقب و جلو رفت. آخرش نویسنده یه هفته قبل از ددلاین دو لایه مدیریت رو آورد تا طراحی رو freeze کنن، که اونم کامل جواب نداد.
نویسنده دو حدس برای این مشکل داره. یکی اینکه اختلاف بین مهندسها رو میشه با معیارهای عینی مثل latency و تعداد باگ حل کرد، ولی طراحها فقط سلیقه دارن. دومی اینکه کاربر کل محصول رو یه طراحی واحد میبینه، پس هر تغییر کوچیک روی همهجا اثر میذاره.
درباره design system (یعنی کتابخونهای از کامپوننتهای آماده که قراره UI همه تیمها رو یکدست کنه) نویسنده میگه ازش متنفره ولی بهتر از اون چیزی ندیده. مشکل اولش انگیزههاست: تیم صاحب design system کامپوننتهای قشنگ میخواد و تیمهای محصول نیازهای زشت مشتری رو. نتیجهش اینه که تیمها با CSS دستی یا بازنویسی کامپوننتها دورش میزنن.
مشکل دوم سازگاریه. design system معمولا با جدیدترین نسخه React نوشته میشه، ولی کد واقعی شرکت ترکیبی از HTML و CSS خالص، Angular یا نسخههای قدیمی React هست. پس نسخهای که دست مهندسه با چیزی که طراح میبینه کمی فرق داره و مهندس مدام باید تو ذهنش ترجمه کنه.
آخر سر نویسنده میپرسه اصلا طراح لازمه یا نه. به گفتهش فقط نصف تیمهایی که توش بوده به طراح دسترسی داشتن. برای تیمهایی مثل API یا billing که بخش بصری ندارن، طراح گذاشتن بیفایدهست، و محصولاتی مثل پنل Azure با طراحی ضعیف هم بیشتر از ۱۰۰ میلیارد دلار درآمد دارن. با این حال خودش دوست داره همیشه با یه طراح کار کنه.
نکات کلیدی:
- به تجربه نویسنده بیشتر از یه طراح روی یه محصول یعنی بازطراحیهای پشتسرهم و دعوای سلیقهای
- design system بین تیم صاحبش (ظاهر قشنگ) و تیمهای محصول (نیاز مشتری) تضاد انگیزه میسازه
- design system معمولا با جدیدترین React نوشته میشه ولی کد شرکت ترکیبی از HTML/CSS خالص، Angular و Reactهای قدیمیه
- طبق تخمین سرانگشتی نویسنده، مایکروسافت، گوگل و آمازون به ازای هر ۱۰۰ مهندس بهترتیب ۳، ۱۰ و ۷ طراح دارن
- برای تیمهای بدون بخش بصری مثل API و billing طراح جایگاه واقعی نداره




