The Pragmatic Engineer
The Pragmatic Engineer

Code Complete with Steve McConnell

Brought to You By: •⁠ Statsig ⁠ — ⁠ The unified platform for flags, analytics, experiments, and more. Statsig built a complete set of data tools that allow engineering teams to measure the impact of their work. This toolkit is SO valuable to so many teams, that OpenAI - who was a huge user of Statsi

Featured Speakers

Steve McConnell Guest

Topics Discussed

Episode Summary

Executive Summary: Steve McConnell discusses how Code Complete grew from a planned article into a 900-page classic on software construction, why it still matters, and how his thinking on careers, design, iteration, and AI has evolved. He argues that developers should build cumulative value, not just hop between jobs, and that AI will reshape coding only if it can handle exactness, edge cases, and messy real-world requirements.

Main Topics: Origin and writing of Code Complete: McConnell explains that the book began as research for an article, then expanded once he realized no comprehensive book on software construction existed. He wrote it early in his career, using his own prior experience as the target audience. Software construction vs. coding: He distinguishes construction from merely writing code, framing it as the broader work of design, debugging, testing, readability, and maintenance decisions that surround implementation. Career development and the 'lily pad hopping' critique: McConnell describes his 'career pyramid' as a way to build toward larger contributions and warns against hopping between unrelated projects without accumulating value or expertise. Top-down vs. bottom-up thinking and iteration: He argues that some developers think abstractly before coding while others build from details upward, and that both approaches are valid. Design is iterative, messy, and often benefits from rewriting and experimentation. Company maturity, energy, and role structure: He connects organizational growth with changing expectations: startups reward ambiguity and initiative, while larger companies require more explicit roles, process, and reliability. He also emphasizes energy and focused intensity as key to high output. AI and the future of software engineering: McConnell sees AI as a powerful but still immature tool. He believes it can help with pseudocode, tests, and learning, but real value depends on requirements, guardrails, and human judgment over exactness and edge cases. Durable principles for engineers: He closes by emphasizing craftsmanship, curiosity, continuous learning, and asking what makes you more valuable to your organization and to the world.

Key Arguments: Code Complete succeeded because it filled a real gap: a book on software construction rather than only requirements, design, or testing. The best time to write the book was early career because the target audience was essentially 'me five years earlier.' Software construction is broader than coding; it includes design decisions, testing strategy, readability, debugging, and maintainability. Different engineers think differently: some are top-down abstract designers, others bottom-up implementers, and many are stronger in one mode than the other. Design is inherently iterative and messy; good results often come from revisiting and rewriting rather than trying to get it perfect on the first attempt. Career growth should be cumulative, not random; 'lily pad hopping' creates variation without long-term value accumulation. Most software jobs allow more self-direction than people assume; nobody needs permission to do the job well. Energy and focus can outweigh many structural inefficiencies, especially in small high-performing teams. AI will matter, but it does not remove the need for requirements, test cases, exception handling, and exactness; the hardest part of software is still choosing what is correct. The defining job of a programmer remains identifying and producing exactly correct behavior, including corner cases and non-deterministic failure modes.

Data Points: Code Complete page count: 900 pages - McConnell initially expected a 250-page book, but his detailed plan estimated about 900 pages. Second edition publication year: 2004 - The book's second edition was published in 2004. Time since second edition: 20 years - The transcript notes the book remains a bestseller 20 years later. Research effort before writing: About 80 articles and a handful of books - McConnell researched the topic extensively before realizing no comparable book existed. Career stage when writing: About 5 years out of college - He wrote the book relatively early in his professional career. Time spent on background research: 2 years - He researched the book before taking a year off to write full time. Full-time writing period: 1 year - He took a year off to write Code Complete full time. Later follow-up book: Rapid Development - After Code Complete, he eventually wrote a second book once the memory of the first book's pain faded. Microsoft campus age growth: 0.8 demographic years per calendar year - McConnell used Microsoft as an example of an organization aging alongside its workforce. Microsoft staff count: About 15,000 total - He cited the size of Microsoft during his time there. Microsoft dev staff count: About 2,000 - He described the developer population on campus. Small-team example: Under 15 people - He noted the core Windows team was under 15 people in that era. IBM vs Microsoft staffing: About 10x more staff at IBM - He contrasted Microsoft's focused team with IBM's much larger staffing on OS/2. AI agent monthly cost example: $500/month cost, $800 extra cost generated - An anecdote described an AI agent producing unnecessary logging changes that created extra cost. Join year of second edition context: 11 years after the first edition - He said the timing between editions was ideal because enough had changed to reassess the content.

Pivotal Quotes: "Nobody needs to give you permission to do your job well." — Steve McConnell: Used to argue that many engineers constrain themselves unnecessarily and can take more initiative. "I would say three times, but yeah. And I'm serious about that." — Steve McConnell: On rewriting code/design multiple times to improve quality through iteration. "What makes you more valuable to your organization or to the world at large." — Steve McConnell: His core career advice: choose work that compounds your value over time.

Implications: Engineers should think more strategically about career compounding, design iteration, and role flexibility. AI will amplify strong fundamentals, but it will not eliminate the need for judgment, exactness, and craftsmanship.

🔓 Sign Up for Unlimited Episode Search

About The Pragmatic Engineer

View all episodes from The Pragmatic Engineer