Building Impactful Software for Your Users
Drew Hoskins

#software_engineering
📈 در دنیای پرشتاب مهندسی نرمافزار، توسعه مهارتهای فنی معمولاً در اولویت قرار میگیره. با این حال، اگر به دنبال پیشرفت شغلی هستید، ارتقای مهارتهای فنی به تنهایی کافی نیست؛ شما باید همدلی خودتون رو با کاربران هم تقویت کنید—مهارتی که اغلب در نقشهای مهندسی سنتی نادیده گرفته میشه. درک نیازهای کاربر و تأثیر گستردهتر کار شما، نه تنها منجر به خلق محصولات بهتری میشه، بلکه به رشد و شکوفایی آینده شغلی شما هم کمک میکنه.
👨انواع استراتژیهای ضروری برای پر کردن شکاف بین مهارت مهندسی و بینش محصولی رو نویسنده کتاب، درو هاسکینز، با تکیه بر بیش از ۲۰ سال تجربه خود در شرکتهای مایکروسافت، فیسبوک، استرایپ و تمپورال تکنولوژیز به شما آموزش میده. فرقی نمیکنه که در حال ساخت محصولات مصرفی، ابزارهایی برای متخصصان یا پلتفرمهای داخلی باشید، این کتاب دروازه ورود شما برای تبدیل شدن به یک مهندس همهفنحریف هست؛ مهندسی که آینده رو میبینه و بر اساس نیازهای کاربران نوآوری میکنه.
💻 تعاملات کاربر را شبیهسازی و پیشبینی کنید تا کاربردپذیری محصول ارتقا پیدا کنه.
🎯 تمرکز خودتون رو روی نیازهای خاص مخاطبان هدف تیزتر کنید.
🗣️ به طور مؤثر با کاربران تعامل داشته باشید تا بازخوردهای تأثیرگذار جمعآوری کنید.
⏱️ زمان و نقشه راه محصول خودتون رو به صورت استراتژیک بر اساس هزینه و تأثیر اولویتبندی کنید.
📋 فهرست مطالب
فصل ۱. پایههای تفکر محصولی
بخش I. توسعه
فصل ۲. هدایت کاربران از طریق محصول شما
فصل ۳. خطاها و هشدارها
بخش II. تحویل
فصل ۴. تجربه کردن محصول خودتان
فصل ۵. همراه شدن با کاربران
بخش III. کشف
فصل ۶. درک مخاطبان هدف
فصل ۷. کشف محصول خود از طریق شبیهسازی
بخش IV. تعریف
فصل ۸. طراحی تعامل
فصل ۹. معماری محصول
📖 از مقدمه کتاب
این کتاب برای تکمیل بقیه آموزشهای شما تالیف شده و مهارتهای مهندسی فعلیتون رو با همدلی با کاربر و مهارتهای محصولی ترکیب میکنه. به عنوان مثال، ما در اینجا قرار نیست ساختارهای داده یا الگوریتمها رو طراحی کنیم، اما ممکنه یکی از اونها رو بر اساس نیازهای کاربران انتخاب کنیم. با مسلح شدن به این مهارتها، میتونید در نقشهای مهندسی عملکرد بهتری داشته باشید:
🎯 تلاشهای خودتون رو بر اساس میزان تأثیرگذاری، بهتر اولویتبندی کنید.
🤝 با مدیران محصول و طراحان به شکل مؤثرتری همکاری کنید.
🛠️ تصمیمات بهتری برای طراحی مهندسی بگیرید که از روی آگاهی کامل باشه.
💻 با در نظر گرفتن همتیمیهای خودتون به عنوان کاربران انتزاعهای کدتان، کدهای کاربردیتر و با قابلیت نگهداری بالاتر بنویسید.
✨ بیشتر روزها رو با اشتیاق برای خدمت به افرادی که از محصول شما استفاده میکنند، از خواب بیدار بشید.
🚀 یا میتونید در نقشهایی که نیاز به ترکیبی از مهارتهای محصولی و مهندسی دارند، سطح خودتون رو ارتقا بدید:
💼 به یک نیروی هیبریدی محصول/مهندسی تبدیل بشید که به تصمیمات محصولی و همچنین اجرا کمک میکنه؛ به طوری که همزمان اهداف مهندسی و محصول رو به روشی بهینه میکنه که مهندسان محض یا افراد محصولی محض نمیتونند انجام بدند.
🏢 یک شرکت رو به عنوان یک بنیانگذار فنی با حس محصولی راهاندازی کنید، کسی که بهتر میتونه چالشهای متنوعی رو که استارتاپها با اون مواجه میشن، مدیریت کنه.
👑 به عنوان یک رهبر فنی (Tech Lead) تبدیل بشید یا پیشرفت کنید، و همتیمیهای خودتون رو با استدلالهای درست بر اساس نتایج کاربر هدایت کنید.
👥 این کتاب برای چه کسانی است؟
این کتاب برای مهندسان نرمافزار حرفهای در هر سطحی هست که اصول نوشتن و ریلیز کردن کد رو یاد گرفتند اما مشتاقند تأثیر بزرگتر و مستمرتری بگذارند. مباحث کتاب، افراد رو از کسانی که یک سال از فعالیت شغلیشون گذشته تا مهندسان باسابقه درگیر میکنه. مهارتهای کاربرمحوری که در اینجا آموخته میشه، به طور مساوی برای خدمت به همکاران، اعضای یک جامعه متنباز و مشتریانی که پول پرداخت میکنند کاربرد داره؛ فرقی نمیکنه کاربران مصرفکنندگان عادی باشند، متخصصان باشند یا توسعهدهندگان دیگه.
💡 من طیف وسیعی از مثالها رو آوردهام، از رابطهای کاربری گرفته تا پلتفرمهای توسعهدهنده و زیرساخت، که همه اونها رو محصول میدونم. حتی یک تابع کوچک هم یک محصول مینیاتوری هست که از طریق اینترفیس خودش با کاربرانش ارتباط برقرار میکنه و نیازهای اونها رو برآورده میکنه.
⚙️ بله، حتی مهندسان زیرساخت هم محصول میسازند؛ فقط مسئله اینه که مستقیمترین کاربران هدف اونها معمولاً مهندسان دیگه هستند، به همراه کاربران نهایی که اون مهندسان بهشون خدمت میکنند. علاوه بر این چالش، تیمهای مهندسی زیرساخت معمولاً فاقد مدیران محصول و طراحان هستند، که همین موضوع برعکس باعث میشه مهارتهای محصولی خاصی مانند آگاهی از موارد استفاده (Use Cases) برای موفقیت اهمیت بیشتری پیدا کنه.
📝 نظرات ویراستاران و متخصصان
💡 داشتن تفکر محصولی همان چیزی هست که مهندسان نرمافزار معمولی رو از مهندسان عالی در استارتاپها و شرکتهای بزرگ فناوری متمایز میکنه. این کتاب همان راهنمای گمشده در مورد نحوه پیشرفت در این حوزه بسیار تأثیرگذار هست: چگونه بیشتر "تفکر محصولی" داشته باشیم و به موفقیت شرکت، تیم و خودمان کمک کنیم.
—گرگلی اوروش، نویسنده کتاب مهندس عملگرا
📚 در این کتاب شگفتانگیز، درو هاسکینز توسعهدهندگان نرمافزار رو تشویق میکنه تا تمرکز بر محصول رو اتخاذ کنند و مهارتهای انجام این کار رو به ما آموزش میده. این مطالب به ویژه برای آن دسته از ما که مصنوعات نرمافزاری تولید میکنیم که عموماً محصول در نظر گرفته نمیشوند، مانند کتابخانهها و برنامههای داخلی، بسیار ارزشمند هست. ما که چنین نرمافزارهایی رو توسعه میدیم عموماً تیمهای محصولی نداریم که بهشون تکیه کنیم، بنابراین این به ما بستگی داره که این تکنیکهای ضروری رو یاد بگیریم.
—جوشوا بلاک، دانشگاه کارنگی ملون، نویسنده کتاب جاوا مؤثر
🤖 در عصری که هوش مصنوعی سینتکس رو مدیریت میکنه، مهندسانی که بر همدلی با کاربر و تفکر محصولی مسلط هستند، آینده نرمافزار رو تعریف خواهند کرد. درو هاسکینز راهنمای قطعی رو برای ایجاد این تحول ارائه میده—ترکیب خرد فنی عمیق از مایکروسافت، فیسبوک و استرایپ با فریمورکهای کاربردی که مهندسان رو به سازندگانی با تفکر محصولی تبدیل میکنه. این کتابی هست که در نهایت شکاف بین نوشتن کد و ایجاد تأثیر رو پر میکنه.
—دیوید سینگلتون، یکی از بنیانگذاران و مدیرعامل جی اس دیاونایجنتس و مدیر فناوری سابق استرایپ
⏳ شکاف مصنوعی بین محصول و مهندسی، ساعات و فرصتهای زیادی رو هدر میده. وقتی تاخیر هزینه بر میداره، اجتناب از دستبه-دست کردن کار ارزشمند هست. اگر برنامهنویس شما بتونه فعلاً تصمیمات محصولی به اندازه کافی خوب بگیره، شانس بقای خودتون رو افزایش میدید. این کتاب مهارتهای لازم برای تصمیمگیریهای «فعلاً به اندازه کافی خوب» رو خلاصه میکنه.
—کنت بک، خالق برنامهنویسی مفرط (XP) و توسعه مبتنی بر تست (TDD) و نویسنده کتاب تایدی فرست
📖 مهندس با تفکر محصولی یکی از اون کتابهایی هست که جایگاهش قفسه کتاب هر مهندس نرمافزاریه. درو هاسکینز از تجربه دنیای واقعی خود استفاده میکنه تا رازهای خلق نرمافزاری رو که کاربران عاشقش خواهند شد، رمزگشایی کنه.
—ان. اسکات استورکل، پیشکسوت ۳۵ ساله مهندسی نرمافزار
💯 من این کتاب رو به مهندسانی که به دنبال افزایش تأثیر خود در ساخت تجربههای پیشرو در صنعت هستند، به شدت توصیه میکنم. این کتاب مهندسان رو در هر مرحله از شغلشان با درک و پایهای برای تفکر محصولمحور ارتقا میده و یک جعبه ابزار جامع برای نحوه به کارگیری آن تفکر در کارهای روزمره با نتایج قابل اندازهگیری ارائه میده.
—کیمبرلی هو، مدیر مهندسی، استرایپ
🧠 با خواندن این کتاب، مکرراً به تجربیات گذشته فکر میکردم که این کتاب در اونها کاربرد داشت—هم از دیدگاه کاربر یک محصول بودن و هم از دیدگاه حضور در تیمی که محصول رو تولید میکنه. رویکرد محصولمحوری که کتاب از اون دفاع میکنه چیزی هست که اکثر تیمهای مهندسی میتونند از پذیرش اون بهرهمند بشن—و من انتظار دارم که این کتاب رو در آینده به دفعات به دیگران توصیه کنم و خودم هم به اون مراجعه کنم.
—پیتر شولر، مهندس استفپلاس، متا
🎯 برای مهندسی که تا به حال موفق شده در پروژههای خود فقط در لایه کد باقی بمونه، اما متوجه میشه که دیگر نمیتونه این کار رو انجام بده، این کتاب یک مرجع منحصربهفرد برای دستیابی به سواد پایه در تصمیمات مهندسی محصولمحور و تأثیر توسعه محصول بر تیمهای مهندسی ارائه میده.
—چلسی تروی، موزیلا، دانشگاه شیکاگو، بلاگر
✍️ درباره نویسنده
درو هاسکینز که پیش از این مهندس ارشد استف بوده، طیف وسیعی از محصولات و پلتفرمهای نوآورانه رو برای شرکتهای نرمافزاری در کلاس جهانی مانند مایکروسافت، متا و استرایپ ساخته است. او پلتفرمهای داخلی مانند اوآرام اصلی متا، یعنی انتاسکیما، و موتور گردش کار که اسب بارکش سرویسهای ناهمزمان استرایپ هست رو اختراع کرد و ساخت. او همچنین مشارکتهای حیاتی در محصول بزرگ کانکت استرایپ و فروشگاه و پلتفرم توسعهدهنده اکولوس داشت. علاوه بر این، او فرآیند بررسی ایپیآی استرایپ رو بهبود بخشید، فرآیندی که دلیل اصلی شهرت ایپیآیهای استرایپ هست. در تمام این مدت، او در اختراع محصولات جدید، ایجاد تطابق محصول با بازار و خشنود کردن مشتریان خود برتری داشته است. او اخیراً به نقش مدیر محصول تغییر موقعیت داده و در شرکت تمپورال تکنولوژیز، که یک شرکت نوآور در سیستمهای توزیعشده است، فعالیت میکنه؛ جایی که با جامعه کاربری فوقالعاده اونها در تعامل هست و محصول اصلی اونها رو هدایت میکنه.
In the fast-paced world of software engineering, developing technical skills often takes precedence. However, if you're seeking career advancement, enhancing your technical skills alone is not enough; you also need to deepen your empathy for users—a skill frequently overlooked in traditional engineering roles. Understanding user needs and the broader impact of your work will not only lead to better products but will also help your career grow and flourish.
Drawing on over 20 years of experience, including roles at Microsoft, Facebook, Stripe, and Temporal Technologies, author Drew Hoskins guides you through the essential strategies to bridge the gap between engineering prowess and product insight. Whether you're building consumer products, tools for professionals, or internal platforms, this book is your gateway to becoming a well-rounded engineer who sees around corners and innovates according to user needs.
Table of Contents
Chapter 1. The Foundations of Product Thinking
Part I. Develop
Chapter 2. Guiding Users Through Your Product
Chapter 3. Errors and Warnings
Part II. Deliver
Chapter 4. Experiencing Your Own Product
Chapter 5. Keeping Up with Users
Part III. Discover
Chapter 6. Understanding Your Target Audience
Chapter 7. Discovering Your Product Through Simulation
Part IV. Define
Chapter 8. Interaction Design
Chapter 9. Product Architecture
This book exists to supplement the rest of your education, blending your existing engineering skills with user empathy and product skills. For example, we won’t be designing data structures or algorithms here, but we might choose one based on users’ needs.Armed with these skills, you could become better in engineering roles:
Or you could level up in roles that require a mixture of product and engineering skills:
Who This Book Is For
This book is for professional software engineers of all stripes who have mastered the basics of writing and shipping code but yearn to make a bigger and more consistent impact. Topics will engage folks from a year into their careers to seasoned engineers. The user-focused skills learned here apply equally to serving coworkers, members of an open source community, and paying customers, whether the users are consumers, professionals, or other developers.
I have included a wide variety of examples, from user interfaces to developer platforms to infrastructure, all of which I consider to be products. Even a modest function is a miniature product, communicating with its users through its interface and fulfilling their needs.
Yes, even infrastructure engineers build products; it’s just that their most direct target users are typically other engineers, along with the end users those engineers serve. Adding to the challenge, infrastructure engineering teams usually lack product managers and designers, counterintuitively making certain product skills such as use case awareness even more important to success.
Editorial Reviews
Being product-minded is what separates decent software engineers from great ones at startups and Big Tech. This book is the missing guide on how to get better in this highly impactful area: how to get more "product-minded" and help your company, your team, and yourself succeed.
—Gergely Orosz, author of The Pragmatic Engineer
In this wonderful book, Drew Hoskins encourages software developers to adopt a product focus and teaches us the skills to do so. This material is particularly valuable to those of us who develop software artifacts that are not generally considered products, such as libraries and in-house applications. We who develop such software generally don't have product teams to fall back on, so it's up to us to learn these essential techniques.
—Joshua Bloch, Carnegie Mellon University, author of Effective Java
In an age where AI handles the syntax, engineers who master user empathy and product thinking will define the future of software. Drew Hoskins provides the definitive guide for making that transformation—blending deep technical wisdom from Microsoft, Facebook, and Stripe with practical frameworks that turn engineers into product-minded builders. This is the book that finally bridges the gap between writing code and creating impact.
—David Singleton, cofounder and CEO of /dev/agents and former CTO of Stripe
The artificial split between product and engineering wastes so many hours and opportunities. When delay is expensive, avoiding a handoff is valuable. If your programmer can make good enough product decisions for now, you increase your chances of survival. This book condenses the skills necessary for good-enough-for-now decisions.
—Kent Beck, creator of extreme programming and test-driven development and author of Tidy First
The Product-Minded Engineer is one of those books that belongs on every software engineer's shelf. Drew Hoskins draws on his real-world experience to unlock the secrets to creating software that users will love.
—N. Scott Storkel, 35-year software engineering veteran
I'd highly recommend this book for engineers looking to amplify their impact in building industry-leading experiences. This book levels up engineers at any stage of their career with an appreciation and foundation for product-focused thinking, providing a comprehensive toolkit for how to apply that thinking day-to-day with measurable results.
—Kimberly Hou, engineering manager, Stripe
Reading this book, I frequently found myself thinking back to past experiences where this book would have applied—both from the perspective of being a user of a product and from the perspective of being on the team producing one. The product-minded approach the book advocates is something most engineering teams can benefit from adopting—and I expect I will be recommending this book frequently to others going forward as well as returning to it myself.
—Peter Schuller, Staff+ engineer, Meta
For an engineer who has so far succeeded at staying in the code on their projects but finds themselves no longer able to do so, this book provides a singular reference for achieving basic literacy on product-oriented engineering decisions and the impact of product development on engineering teams.
—Chelsea Troy, Mozilla, University of Chicago, blogger
Formerly a senior staff-level engineer, Drew Hoskins has built a wide range of innovative products and platforms for world-class software companies Microsoft, Meta, and Stripe. He invented and built internal platforms like Meta’s main ORM, EntSchema, and the workhorse of Stripe’s asynchronous services, Workflow Engine. He also made critical contributions to Stripe’s massive Connect product and Oculus’s store and developer platform. And he improved Stripe’s API Review, the process which is a key reason why Stripe’s APIs are renowned. Throughout, he has excelled at inventing new products, establishing product market fit, and delighting his customers. He has most recently switched to a product manager role, and is at Temporal Technologies, an innovator in distributed systems, engaging with their awesome community and guiding their core product.









