کتاب The Product-Minded Engineer: Building Impactful Software for Your Users 1st Edition (مهندس محصولمحور: ساخت نرمافزارهای تأثیرگذار برای کاربران شما – ویرایش اول) نوشته Drew Hoskins با استفاده از بیش از ۲۰ سال تجربهٔ نویسنده (از شرکتهایی مانند Microsoft، Facebook و Stripe) شما را در مسیری راهنمایی میکند تا از مهندس صرفاً «کدنویس» تبدیل شوید به مهندسی که به تجربهٔ کاربر، تأثیر محصول و هدف کسبوکار نیز توجه دارد.
در ادامه مقدمهای از کتاب The Product-Minded Engineer را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب The Product-Minded Engineer:
سمورهای دریایی شمالی، مانند همان که روی جلد این کتاب دیده میشود، شبیه مهندسان نرمافزار هستند—البته بسیار دوستداشتنیتر. آنها از ابزارها استفاده میکنند—معمولاً سنگهایی برای شکستن صدفها. آنها همچنین با هم همکاری میکنند—«کلونی»های بزرگی تشکیل میدهند و دست یکدیگر را میگیرند تا روی آب بمانند و از هم جدا نشوند.
سمورهای دریایی موجوداتی بینابینیاند؛ یعنی روی مرز میان هوا و دریا شناورند و کاملاً متعلق به هیچکدام نیستند. آنها مانند همهٔ پستانداران دریایی، برای نفس کشیدن به هوا وابستهاند، اما غذایشان را از دریا میگیرند. پنجههایی مانند پستانداران خشکی دارند، اما بالههایشان آنها را برای زندگی در دریا سازگار کرده است.
مهندسان نیز موجوداتی بینابینیاند، با این تفاوت که ما در مرز میان سیستمها و کاربران زندگی میکنیم. نرمافزار با پایگاه دادهها، پروتکلها، استکهای فراخوانی و کانتینرهایش مثل اقیانوس است. وقتی عمیقتر فرو میرویم و به کف دریا میرسیم، به سختافزاری میرسیم که همهچیز بر آن استوار است.
اما کاربران هوا و نور خورشید ما هستند. ما با نور آنها دورتر را میبینیم و برای ادامه کار باید همیشه شناور بمانیم.
چرا کتاب The Product-Minded Engineer وجود دارد؟
تفکر دربارهٔ محصولات نرمافزاری در نهایت به دو موضوع خلاصه میشود:
تفکر سیستمی
شامل موضوعاتی مانند الگوریتمها و ساختمان دادهها، زبانهای برنامهنویسی، تحمل خطا در سیستمهای توزیعشده، محدودیت حافظهٔ Firmware و غیره.
تفکر محصولی
شامل درک کاربران، دانش پیشینی و نیازهایشان، توالی عملهای آنان، پویایی گروهی—بهاضافهٔ تکنیکهای طراحی و معماری اطلاعاتی که به آنها خدمت میکنند.
آموزش مهندسی نرمافزار تقریباً تماماً دربارهٔ تفکر سیستمی است. دانشگاهها، بوتکمپها و ادبیات مهندسی نرمافزار روی الگوریتمها، ساختمان دادهها، زبانها، دانش سیستمی و الگوهای طراحی تمرکز دارند. بیرون از یکیدو درسِ اختیاریِ تعامل انسان و کامپیوتر، ما معمولاً طراحی محصول و کاربرانمان را بهکندی و بهصورت تدریجی یاد میگیریم. چرا؟
درست است که تفکر سیستمی مهارت متمایز ماست—مدیران محصول، طراحان و پژوهشگران تجربهٔ کاربری نمیتوانند آن را انجام دهند. اما اگر از آنها بپرسید، میگویند آرزو دارند مهندسانشان مهارتهای محصولی بیشتری داشته باشند. آنها روی محصولات بسیاری پخش شدهاند و هماهنگی و ارتباط چالشبرانگیز است. با اتکا به شناخت عمیق کاربرانمان، بهتر میتوانیم سرنوشت محصولمان را کنترل کنیم تا اینکه فقط سعی کنیم نیازمندیهای ناقص PM را تفسیر کنیم.
در گذشته، وقتی مهندسی نرمافزار حوزهای نوظهور بود، برخی از ما بدون مهارتهای محصولی هم میتوانستیم موفق شویم. حتی مفاهیم پایه نیازمند استعداد غیرمعمول و پشتکار بسیار بود. ابزارها و زبانها آنقدر دشوار بودند که یادگیری و کار با آنها خود شغلی تماموقت بهحساب میآمد.
اما اکنون اوضاع تغییر کرده است. فناوری توسعهدهندگان، با رهبری اکوسیستم متنباز، رایانش ابری و سرمایهگذاری کلان، بهشدت پیشرفت کرده است. دستیارهای هوشمند برنامهنویسی اکنون بار سنگینی را از دوش ما برمیدارند و جزئیات کوچک را مدیریت میکنند، تا بتوانیم بر موضوعات دیگری—مانند تفکر محصولی—تمرکز کنیم.
کتاب The Product-Minded Engineer آمده تا مهارتهای مهندسی شما را با همدلی با کاربر و مهارتهای محصولی ترکیب کند. برای مثال، ما در اینجا ساختمان داده طراحی نمیکنیم، اما شاید بر اساس نیازهای کاربر یکی را انتخاب کنیم.
با این مهارتها چه چیزهایی ممکن است؟
در نقشهای مهندسی:
- اولویتبندی بهتر بر اساس تأثیر.
- همکاری مؤثرتر با مدیران محصول و طراحان.
- تصمیمگیری مهندسی آگاهانهتر.
- نوشتن کد خواناتر و قابلنگهداریتر با درنظرگرفتن همکارانتان بهعنوان کاربران انتزاعات شما.
- هیجان روزانه برای خدمت به کاربران محصولتان.
یا در نقشهای ترکیبیِ محصول–مهندسی:
- تبدیلشدن به هیبرید محصول/مهندسی که تصمیمهای محصولی و پیادهسازی را با هم بهینه میکند.
- بنیانگذاری یک شرکت نوپا بهعنوان یک مؤسس فنی آشنا با محصول.
- تبدیلشدن (یا بهترشدن) به یک Tech Lead که تصمیمها را بر اساس نتایج کاربر رهبری میکند.
کتاب The Product-Minded Engineer برای چه کسانی است؟
برای مهندسان نرمافزار حرفهای که اصول کدنویسی و انتشار محصول را بلدند، اما میخواهند تأثیر بزرگتر و پایدارتری داشته باشند. از مهندسان تازهکار تا افراد با سابقهٔ طولانی همه بهره خواهند برد. مهارتهای کاربرمحور اینجا برای خدمت به همکاران، جامعه متنباز یا مشتریان قابلاستفاده است.
مثالها گستردهاند—از رابط کاربری تا پلتفرمهای توسعه و زیرساخت—که همهشان نوعی محصولاند. حتی یک تابع کوچک نیز محصول کوچکی است که از طریق API خود با کاربرانش ارتباط برقرار میکند.
بله، حتی مهندسان زیرساخت نیز محصول میسازند؛ فقط کاربران مستقیم آنها معمولاً مهندسان دیگرند، که بهنوبهٔ خود کاربران نهایی خود را دارند. تیمهای زیرساخت معمولاً مدیر محصول و طراح ندارند، بنابراین مهارتهایی مانند آگاهی از موارد استفاده، اهمیت بیشتری پیدا میکند.
ساختار کتاب The Product-Minded Engineer
فصل ۱ شامل مقدمه و پیشنیاز سایر فصلهاست.
سپس دیگر فصلها را میتوان به هر ترتیبی خواند، اما ترتیب پیشنهادشده نیز ارائه شده است.
هشت فصل دیگر کتاب The Product-Minded Engineer در چهار بخش تنظیم شدهاند که بر اساس مدل «الماس دوتایی» در چرخهٔ حیات محصول نرمافزاری سازماندهی شدهاند.
مدل فرآیند الماس دوتایی
گرچه کتاب The Product-Minded Engineer دربارهٔ فرآیندهای نرمافزاری نیست، اما دانستن این مدل به درک کتاب کمک میکند.
چهار فاز اصلی عبارتاند از:
کشف (Discover)
شناخت کاربر و مسئله. فازِ تحقیق و خلاقیت.
تعریف (Define)
معماری محصول. تبدیل گزینهها به یک برنامهٔ متمرکز.
توسعه (Develop)
انتخاب و پرداخت پیادهسازی مناسب.
تحویل (Deliver)
ساخت، اعتبارسنجی، انتشار و دریافت بازخورد.
شکل P-1 این چهار فاز را نشان میدهد: فازهای Discover و Develop بخش انشعابی دارند (ایدههای زیاد)، و Define و Deliver به سمت تمرکز حرکت میکنند.

این مسیر خطی نیست؛ بازگشت، یادگیری و چرخههای تودرتو بخشی از کار هستند.
یکی از مزیتهای این مدل این است که یادآوری میکند از طرح مسئله تا دریافت بازخورد، کل چرخهٔ محصول مهم است. نخستین نسخهٔ یک فیچر پایان کار نیست.
بخشها
کتاب The Product-Minded Engineer همهٔ فازهای الماس دوتایی را پوشش میدهد، اما از فازهایی شروع میکند که مهندسان بیشتر با آنها سروکار دارند: توسعه و تحویل. سپس به کشف و تعریف میپردازد که مربوط به سطوح ارشدتر است.
اگر ترجیح دهید، میتوانید کتاب The Product-Minded Engineer را به ترتیب فازها بخوانید، اما فصلهای پایانی دشوارتر و عمیقترند.
فصلهای کتاب The Product-Minded Engineer
فصل ۱
معرفی پرسونای کاربران و سناریوها، و همچنین مقداری روانشناسی کاربر.
بخش I – توسعه (Develop)
فصل ۲ – هدایت کاربران در محصول شما
دربارهٔ سطوح محصولی شهودی و ارتباطی: نامگذاری مؤثر، سلسلهمراتب طراحی، و هدایت کاربر.
فصل ۳ – خطاها و هشدارها
نوشتن پیامهای خطای مفید و معماری کدی که خطاهای قابلبرنامهریزی ارائه دهد.
بخش II – تحویل (Deliver)
فصل ۴ – تجربهکردن محصول خودتان
روشهای دگفودینگ: نوشتن مستندات، تستِ سناریویی، و لاگ اصطکاک.
فصل ۵ – همگام با کاربران
طراحی برای تغییر و تکرار بر اساس بازخورد و متریکها.
بخش III – کشف (Discover)
فصل ۶ – شناخت مخاطب هدف
آشنایی با مشتریان و اشتراک دانشی در تیم.
فصل ۷ – کشف محصول از طریق شبیهسازی
تبدیل سناریوهای کاربری به نیازمندیها و برنامهریزی اولویتدار.
بخش IV – تعریف (Define)
فصل ۸ – طراحی تعامل
جزئیات طراحی فیچرها و جلوگیری از کاربردهای ناامن.
فصل ۹ – معماری محصول
بهکارگیری تفکر محصولی در تصمیمهای سیستمی مثل توان عملیاتی، سازگاری داده و تأخیر.
یادداشتهای محتوا
پیش از شروع، چند نکته را در نظر داشته باشید:
کتاب The Product-Minded Engineer شامل قطعهکدهایی است. من پایتون را انتخاب کردهام زیرا هم رایج است و هم بهنسبت ساده و قابلدرک. گهگاه دستورهای نحویای را که ممکن است ناآشنا باشند توضیح خواهم داد.
هر فصل با تمرینهایی تفکربرانگیز و پاسخهای نمونه برای آنها پایان مییابد. لطفاً آنها را انجام دهید! تفکر محصولی نیاز به تمرین دارد.
من در مایکروسافت، فیسبوک، استرایپ و تمپورال کار کردهام. برخی مثالهای این کتاب از تجربههای من در این شرکتها گرفته شدهاند، برخی دیگر از محصولاتی که خودم روی آنها کار کردهام. این مثالها را نه بهعنوان تأیید این شرکتها، بلکه به این دلیل انتخاب کردهام که این تجربهٔ دستاول به من اجازه میدهد جزئیاتی دقیق و ظریف را ارائه کنم—چیزی که برای یک کتاب دربارهٔ تفکر محصولی ضروری است.
بیشتر دوران حرفهایام را صرف ساخت محصول برای توسعهدهندگان کردهام. با اینکه در این کتاب دامنهٔ بسیار گستردهتری از محصولات را پوشش میدهم و برای ارائهٔ توصیههایی عمومی از منابع متنوعی بهره گرفتهام، ممکن است تمایلی جزئی به تکنیکهایی وجود داشته باشد که بیشتر برای کاربران فنی کاربرد دارند تا مصرفکنندگان عادی.
سرفصلهای کتاب The Product-Minded Engineer:
- Preface
- 1. The Foundations of Product Thinking
- I. Develop
- 2. Guiding Users Through Your Product
- 3. Errors and Warnings
- II. Deliver
- 4. Experiencing Your Own Product
- 5. Keeping Up with Users
- III. Discover
- 6. Understanding Your Target Audience
- 7. Discovering Your Product Through Simulation
- IV. Define
- 8. Interaction Design
- 9. Product Architecture
- Index
- About the Author
جهت دانلود کتاب The Product-Minded Engineer میتوانید پس از پرداخت، دریافت کنید.





دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.