0
نام کتاب
Fundamentals of Software Engineering

From Coder to Engineer

Nathaniel Schutta and Dan Vega

Paperback405 Pages
PublisherO'Reilly
Edition1
LanguageEnglish
Year2026
ISBN9781098143237
692
A6484
انتخاب نوع چاپ:
جلد سخت
736,000ت
0
جلد نرم
656,000ت
0
طلق پاپکو و فنر
666,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#Software_Engineering

#Software_Architecture

#Algorithms

توضیحات

🎞️ مشاهده ویدیو از صفحات کتاب


💡 برای اینکه یه مهندس نرم‌افزار موفق بشی، باید خیلی بیشتر از صرفاً نوشتن کد بلد باشی.


دوره‌های دانشگاهی و بوت‌کمپ‌ها معمولاً الگوریتم و سینتکس یاد می‌دن، اما واقعاً بهت یاد نمی‌دن چطور رشد کنی، پیشرفت شغلی بسازی، یا توی تیمی واقعی بدرخشی. این کتاب کاربردی می‌خواد دقیقاً همین شکاف رو پر کنه؛ یه راهنما برای مهندس‌های نرم‌افزار تازه‌کار تا مهارت‌هایی رو یاد بگیرن که بهشون کمک می‌کنه در شغلشون موفق بشن و واقعاً شکوفا بشن.


✒️ نویسنده‌ها، ناتانیل تی. شوتا (Nathaniel T. Schutta) و دن وگا (Dan Vega)، سفرت رو با نکته‌ها، مثال‌ها و توضیح‌های عمیق درباره‌ی موضوعات کلیدی هدایت می‌کنن — چیزهایی که واقعاً در رشد یه مهندس نرم‌افزار تأثیر دارن، نه صرفاً یه زبان یا فریم‌ورک.


🧠 در این کتاب یاد می‌گیری:

  • مفهوم واقعی مهندسی نرم‌افزار چیه و چرا ارتباط و مهارت‌های نرم (Soft Skills) به‌اندازه‌ی کدنویسی اهمیت دارن.
  • اصول پایه‌ی معماری نرم‌افزار و عوامل تصمیم‌گیری معماری رو بشناسی.
  • چطور با تکنیک‌های مؤثر کد بخونی و بازسازی (Refactor) کنی.
  • ارزش تست رو بفهمی و یه تست‌سوئیت اصولی طراحی کنی.
  • روش‌های دیپلوی امن و تکرارپذیر نرم‌افزار رو درک کنی.
  • بتونی برای هر مسئله، ابزار یا راه‌حل درست رو انتخاب کنی.


🔢 فهرست فصل‌ها

  1. از برنامه‌نویس تا مهندس
  2. خواندن کد
  3. نوشتن کد
  4. مدل‌سازی
  5. تست خودکار
  6. کار با سیستم‌های ناشناخته
  7. طراحی رابط کاربری
  8. کار با داده
  9. معماری نرم‌افزار
  10. تا مرحله‌ی Production
  11. افزایش بهره‌وری شخصی
  12. یادگرفتنِ یادگرفتن
  13. مهارت‌های نرم در دنیای تکنولوژی
  14. مدیریت مسیر شغلی
  15. مهندس نرم‌افزار با قدرت هوش مصنوعی


📖 چکیده‌ی دیدگاه کتاب:

برای مهندس شدن، فقط دانستن نحوه‌ی نوشتن کد درست کافی نیست. باید چرخه‌ی کامل تولید نرم‌افزار رو بفهمی: از طراحی و مدل‌سازی تا تست و استقرار.

باید بتونی با کدهای قدیمی کار کنی، سیستم‌های موجود رو درک کنی، و نرم‌افزار رو به‌صورت پایدار به محیط عملیاتی مستقر کنی.

دانشگاه و بوت‌کمپ‌ها معمولاً پایه‌ها رو یاد می‌دن، ولی بخش زیادی از مهارت‌هایی که لازمه برای تبدیل شدن به یه مهندس موفق کسب کنی، رو پوشش نمی‌دن. این کتاب دقیقاً برای همین نوشته شده — تا اون خلأ بین آموزش و عمل رو پر کنه و مسیر ارتقای شغلی‌ت رو روشن‌تر کنه.


💼 مخاطبان کتاب:

ویژه‌ی مهندسان نرم‌افزار تازه‌کار، اما حرفه‌ای‌ها هم ازش کلی نکته یاد می‌گیرن. کسایی که دنبال ارتقای جایگاه شغلی، مسئولیت بیشتر و فرصت‌های رشد واقعاً مهندسی هستن، باید مهارت‌های پایه و ماندگار رو یاد بگیرن — مهارت‌هایی که مثل یه فریم‌ورک یا زبان زود کهنه نمی‌شن و یک عمر دوام دارن.


🧰 چیزهایی که در مسیر یاد می‌گیری:

از نحوه‌ی خوندن و نوشتن کد گرفته تا تفکر معماری، مدیریت زمان، تست، تعامل با هم‌تیمی‌ها، تعادل کار و زندگی، و «یادگیری مادام‌العمر».

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


👨‍🏫 درباره نویسنده‌ها:

🧩 ناتانیل تی. شوتا (Nathaniel T. Schutta)

معمار نرم‌افزار در حوزه‌ی ابر (Cloud Computing) و طراحی اپلیکیشن‌های قابل‌استفاده است. طرفدار برنامه‌نویسی چندزبانه‌ست و سال‌هاست کتاب می‌نویسه و در کنفرانس‌های بین‌المللی سخنرانی می‌کنه. علاوه بر کارش، استاد دانشگاه مینه‌سوتا است و روی آموزش تطبیق با تغییرات فناوری تمرکز داره. از آثارش می‌شه به

  • Thinking Architecturally
  • Responsible Microservices

و کتاب معروف Presentation Patterns (به‌همراه نیل فورد و متیو مک‌کالو) اشاره کرد.


🧠 دن وگا (Dan Vega)

از توسعه‌دهندگان باسابقه‌ی Spring در شرکت VMware Tanzu‌ـه. بیش از ۲۰ سال تجربه‌ی برنامه‌نویسی داره و سوپرقهرمانش در زندگی = حل مسئله‌ست 💪

فعال در بلاگ‌نویسی، YouTube، آموزش و سخنرانی؛ همیشه در حال یادگیریه و دوست داره دانسته‌هاش رو با سایر برنامه‌نویس‌ها به اشتراک بذاره. وقتی کد نمی‌زنه، وقتش رو با خانواده‌ش، ورزش و کتاب‌خوانی می‌گذرونه.



What do you need to know to be a successful software engineer? Undergraduate curricula and bootcamps may teach the fundamentals of algorithms and writing code, but they rarely cover topics vital to your career advancement. With this practical book, you'll learn the skills you need to succeed and thrive.


Authors Nathaniel Schutta and Dan Vega guide your journey with everything from pointers to deep dives into specific topic areas that will help you build the skills that really matter as a software engineer.


  • Understand what software engineering is—and why communication and other soft skills matter
  • Learn the basics of software architecture and architectural drivers
  • Use common and proven techniques to read and refactor code bases
  • Understand the importance of testing and how to implement an effective test suite
  • Learn how to reliably and repeatedly deploy software
  • Know how to evaluate and choose the right solution or tool for a given problem


Table of Contents

Chapter 1. Programmer to Engineer

Chapter 2. Reading Code

Chapter 3. Writing Code

Chapter 4. Modeling

Chapter 5. Automated Testing

Chapter 6. Exploring and Modifying Unfamiliar Systems

Chapter 7. User Interface Design

Chapter 8. Working with Data

Chapter 9. Software Architecture

Chapter 10. To Production

Chapter 11. Powering Up Your Productivity

Chapter 12. Learning to Learn

Chapter 13. Mastering Soft Skills in the Tech World

Chapter 14. Career Management

Chapter 15. The AI-Powered Software Engineer


Programmer, coder, developer—there are any number of titles used to describe people who create software, but what does it mean to be a software engineer? Despite the way software is often taught, being a software engineer is about far more than simply producing syntactically correct programs.


Boot camps and universities typically focus on the mechanical aspects of writing code, creating people who are well-versed in programming. The body of knowledge required today to be a successful software engineer goes beyond learning a programming language; you must be well-versed in the full lifecycle of a software product. You must have a comprehensive understanding of more than just the syntax and grammar of a programming language; you must be well-versed in testing, architecture, modeling, and more. You must know how to work effectively with legacy code and how to reliably and repeatedly deploy code to production. To excel, be promoted, and to work on the most interesting projects, you must move beyond merely writing code; you must apply engineering principles across the entire development process. Even in the era of artificial intelligence (AI) and agentic coding tools, you must have a solid grasp of the fundamentals to wield AI tools properly.


There are many paths to becoming a software engineer, from associate’s and undergraduate programs in computer science to intensive boot camps to teach yourself (Figure above). Early in your software engineering career, it can feel like you’ve just taken your first steps into a larger world. It can be overwhelming. We know, we’ve been there! Regardless of your background, if you’re a newly minted practitioner, you soon discover there is a vast array of critical topics you weren’t taught as part of a standard curriculum and skills you don’t have, which prevents you from advancing to more senior roles.


There is a gap between what you learn in a boot camp or a computer science degree and what you need to know to become a successful software engineer. (Technical companies like Thoughtworks have stringent hiring practices, yet they still send their new hires through a boot camp, and they aren’t alone.) This book attempts to bridge that gap by giving you the context and grounding you need to chart your career path and helping you identify opportunities for personal and professional growth. Think of it as an onboarding guide for the early talent software engineer


This book aims to be your guide on that journey, to show you the things you may not know you don’t know.


Who This Book Is For

This book is specifically designed for new software engineers. Our goal is to show you the bigger picture of what it takes to become a true software engineer, beyond “just coding,” and what it takes to advance your career.


But the fundamentals that we’ll discuss in this book aren’t just for beginners. Experienced engineers can also benefit from mastering these essential skills, especially if they’re looking to move up and take on more senior roles. Building a strong skill set is what will unlock opportunities for more responsibilities and promotion.


What You Will Learn

What are the skills you need to succeed and thrive? What separates the beginner from the experienced software engineer? From reading code, to writing code that’s readable, to testing, to work–life balance, to learning to learn—we will tell you everything you need to know (and even some things you didn’t know you needed to know). Most software engineers learn these things through trial and error, sometimes costing their projects dearly. But it doesn’t have to be that way! These skills are the fundamentals of software engineering that will set you up for a successful career and—unlike the flavor-of-the-day framework or the trendy language—these skills will last a lifetime.


While this book isn’t meant to be an in-depth guide to any one topic, it will show you the universe of topics within software engineering, so you have enough information to understand the basic concepts.

Throughout the book, we will share stories and experiences from our careers, giving you an opportunity to learn from our mistakes. Each chapter concludes with relevant resources and practical exercises to help you practice what you’ve learned. If a particular chapter resonates with you, we encourage you to dive in and explore the topic!


About the Author

Nathaniel T. Schutta is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos. Nate is a seasoned speaker regularly presenting at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, Nate coauthored the book Presentation Patterns with Neal Ford and Matthew McCullough. Nate also published Thinking Architecturally and Responsible Microservices available as free downloads from VMware.


Dan Vega is a Spring Developer Advocate at VMware Tanzu. He has been developing software for over 20 years, and his superpower is problem-solving. Dan is a blogger, YouTuber, course creator, and speaker. He is also a lifelong learner who is passionate about sharing his knowledge with other developers.


Dan lives near Cleveland, Ohio, with his wife and two daughters. When he isn't writing code or teaching, he enjoys spending time with his family, lifting weights, running, or reading a good book.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
Software Engineering
1,113
Beginning Database Design Solutions
1,449,000 تومان
Software Engineering
781
Reengineering Software
496,000 تومان
فریم ورک‌ها
526
Building an Application Development Framework
530,000 تومان
Software Engineering
941
Understanding Software Dynamics
732,000 تومان
Software Engineering
340
The Book of Batch Scripting
760,000 تومان
Software Engineering
1,163
The Mythical Man-Month
557,000 تومان
Software Engineering
965
97 Things Every SRE Should Know
474,000 تومان
Software Engineering
1,480
Modern Software Engineering
478,000 تومان
Software Engineering
1,166
Managing Humans
624,000 تومان
Software Development
1,605
Grokking Concurrency
538,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©