Engineering Software, the third volume in the landmark Write Great Code series by Randall Hyde, helps you create readable and maintainable code that will generate awe from fellow programmers.
The field of software engineering may value team productivity over individual growth, but legendary computer scientist Randall Hyde wants to make promising programmers into masters of their craft. To that end, Engineering Software--the latest volume in Hyde's highly regarded Write Great Code series--offers his signature in-depth coverage of everything from development methodologies and strategic productivity to object-oriented design requirements and system documentation.
You'll learn:
• Why following the software craftsmanship model can lead you to do your best work
• How to utilize traceability to enforce consistency within your documentation
• The steps for creating your own UML requirements with use-case analysis
• How to leverage the IEEE documentation standards to create better software
This advanced apprenticeship in the skills, attitudes, and ethics of quality software development reveals the right way to apply engineering principles to programming. Hyde will teach you the rules, and show you when to break them. Along the way, he offers illuminating insights into best practices while empowering you to invent new ones.
Brimming with resources and packed with examples, Engineering Software is your go-to guide for writing code that will set you apart from your peers.
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
# Write Great Code, Volume 3: Engineering Software — Reading Guide
## 【One-Line Pitch】
A masterclass in the craft of software engineering from Randall Hyde, this book teaches individual programmers—not teams—how to elevate their skills, productivity, and ethics to produce code that inspires awe. Read it if you're a developer who wants to move beyond "just making it work" and toward engineering excellence.
---
## 【Book Arc】
- **Opening (~0%–6%)**: The book opens with Hyde's manifesto on becoming a "Grand Master Programmer" (GMP)—someone who combines technical depth, lifelong learning, and divergent thinking. It frames the entire series as a personal apprenticeship rather than a team-management guide, setting the tone for individual growth over organizational process.
- **Early (~6%–19%)**: Hyde establishes the philosophical and ethical foundation: what it means to be a great programmer, the importance of character and intellectual honesty, and why software engineering is fundamentally different from other engineering disciplines (software is easily upgraded, not an independent entity, and has unique cost structures).
- **Early–Middle (~19%–34%)**: The book moves into project-scale thinking, contrasting small, medium, and large project dynamics. Small projects demand a jack-of-all-trades engineer; medium projects allow specialization; large projects require coordination. Hyde argues that the Write Great Code series focuses on teaching individuals to handle small projects properly—the foundation for all larger work.
- **Middle (~34%–44%)**: A deep dive into productivity metrics and their flaws. Hyde dissects lines-of-code (LOC), statement count, function point analysis (FPA), and McCabe's cyclomatic complexity, showing why each fails to capture true programmer effort or code quality. He also addresses crisis-mode scheduling and morale management.
- **Late (~44%–47%+)**: The book transitions into practical engineering practice: tool selection (with a warning that familiarity often trumps applicability), the Informal ("hacking") model versus formal development processes, and the trade-offs between speed and design rigor. The excerpts suggest the book continues into UML, documentation standards, and object-oriented design in later chapters.
---
## 【Key Takeaways】
- **Becoming a "Grand Master Programmer" requires more than coding skill** (Early): Hyde lists the essential attributes—love of problem solving, broad CS knowledge, lifelong learning, divergent thinking, and personal motivation. This framing reframes programming as a craft, not just a job.
- **Ethics and character are core engineering competencies** (Early): Intellectual dishonesty (fudging estimates, claiming untested code works, adding backdoors) is an ethical lapse, not just a process failure. Hyde argues that sound moral judgment makes you both a better person and a better programmer.
- **Small projects are the training ground for mastery** (Early): A lone engineer must handle design, implementation, testing, debugging, deployment, and documentation—demanding a varied skill set. The book's core mission is teaching programmers to do small projects properly, which scales up to larger work.
- **Productivity is about unit tasks, not lines of code** (Middle): Hyde defines productivity as "unit tasks completed per unit time or cost," but notes the challenge is defining what a "unit task" is. This reframing moves the conversation from quantity to meaningful output.
- **Every code metric has fundamental blind spots** (Middle): LOC ignores conceptual complexity, statement count measures effort not accomplishment, and function point analysis is subjective and hard to automate. McCabe's cyclomatic complexity fares better but still requires judgment. No single metric captures code quality.
- **Tool selection is a long-term commitment** (Middle): You'll likely live with your development tools for the life of a project—switching defect tracking systems mid-project is painful. Yet most developers choose tools based on familiarity rather than project fit, a costly mistake.
- **The Informal model has real advantages—and real risks** (Late): "Hacking" (coding without formal design) is fun, fast, and gives the programmer full control, but it can produce invalid systems that don't meet requirements. Hyde distinguishes between informal coders and the modern, skilled "hacker" identity.
---
## 【Reading Tips】
- **Skim the opening manifesto if you're already motivated** (~0%–6%): The GMP philosophy is inspiring but repetitive if you've read other "craft of coding" books. Focus instead on the concrete attributes list and the ethics section—those are actionable.
- **Deep-read the productivity metrics chapter** (~34%–44%): This is where Hyde's engineering rigor shines. The critique of LOC, FPA, and cyclomatic complexity is essential for anyone who has to estimate projects or justify tooling decisions. Take notes on the strengths/weaknesses table.
- **Pay attention to the small/medium/large project distinction** (~25%–28%): This framework is the book's backbone. It explains why some advice applies to you and some doesn't, depending on your team size. Revisit it when reading later chapters.
- **The excerpts don't cover the UML and documentation chapters in depth** (~47%+): If you're primarily interested in class diagrams, use-case analysis, or IEEE documentation standards, you'll need to read those chapters directly—the guide sample only hints at their structure.
- **Treat the "For More Information" sections as a syllabus**: Hyde cites classic software engineering texts (McConnell, Humphrey, Kerzner). If a topic resonates, those references are your next reading list.
---
## 【Coverage Limits】
This guide is based on excerpts covering roughly the first half of the book (through ~47%). The later chapters on UML class diagrams, sequence diagrams, and IEEE documentation standards are only visible as table-of-contents entries, so their content is not summarized here.
---
##
Excerpt 1
ics of quality software development reveals S O F T W A R E computer scientist Randall Hyde wants to make the right way to apply engineering principles to p...
al desire and motivation to excel at a task and always pro- duce the best possible work With these attributes, the only thing keeping you from becoming a gr...
in a given amount of time, whereas programmer B has worked only on a small portion of a large project, tells us nothing about the rela- tive productivity of...
“Get Creative to Motivate Project Teams When Morale Is Low.” TechRepublic, September, 21, 2001. http://www.techrepublic.com /article/get-creative-to-motiva...
constitute the majority of the team, most roles are shared. See “For More Information” on page 69 for additional references. 56 Chapter 3 GUIDE L INE S FO...
a merge point could have both multiple incoming and outgo- ing guarded transitions. However, the result would be so ugly that the com- mon convention is inst...
le chapter is available at http://www.untechnicalpress.com /Downloads/UMM%20sample%20doc.pdf. Larman, Craig. Applying UML and Patterns: An Introduction to O...
ackage might be sensors, to contain classes/objects associ ated with, say, pH and salinity sensors. Figure 87 shows what this package might look like in U...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
Write Great Code, Volume 3 Engineering Software (Randall Hyde)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
Write Great Code, Volume 3 Engineering Software (Randall Hyde)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment