The Pragmatic Engineer

Code Complete with Steve McConnell


Listen Later

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 Statsig - decided to acquire the company, the news announced last week. Talk about validation! Check out Statsig.

•⁠ Linear – The system for modern product development. Here’s an interesting story: OpenAI switched to Linear as a way to establish a shared vocabulary between teams. Every project now follows the same lifecycle, uses the same labels, and moves through the same states. Try Linear for yourself.

The Pragmatic Engineer Podcast is back with the Fall 2025 season. Expect new episodes to be published on most Wednesdays, looking ahead.

Code Complete is one of the most enduring books on software engineering. Steve McConnell wrote the 900-page handbook just five years into his career, capturing what he wished he’d known when starting out. Decades later, the lessons remain relevant, and Code Complete remains a best-seller.

In this episode, we talk about what has aged well, what needed updating in the second edition, and the broader career principles Steve has developed along the way. From his “career pyramid” model to his critique of “lily pad hopping,” and why periods of working in fast-paced, all-in environments can be so rewarding, the emphasis throughout is on taking ownership of your career and making deliberate choices.

We also discuss:

• Top-down vs. bottom-up design and why most engineers default to one approach

• Why rewriting code multiple times makes it better

• How taking a year off to write Code Complete crystallized key lessons

• The 3 areas software designers need to understand, and why focusing only on technology may be the most limiting 

• And much more!

Steve rarely gives interviews, so I hope you enjoy this conversation, which we recorded in Seattle.

Timestamps

(00:00) Intro

(01:31) How and why Steve wrote Code Complete

(08:08) What code construction is and how it differs from software development

(11:12) Top-down vs. bottom-up design approach

(14:46) Why design documents frustrate some engineers

(16:50) The case for rewriting everything three times

(20:15) Steve’s career before and after Code Complete

(27:47) Steve’s career advice

(44:38) Three areas software designers need to understand

(48:07) Advice when becoming a manager, as a developer

(53:02) The importance of managing your energy

(57:07) Early Microsoft and why startups are a culture of intense focus

(1:04:14) What changed in the second edition of Code Complete 

(1:10:50) AI’s impact on software development: Steve’s take

(1:17:45) Code reviews and GenAI

(1:19:58) Why engineers are becoming more full-stack 

(1:21:40) Could AI be the exception to “no silver bullets?”

(1:26:31) Steve’s advice for engineers on building a meaningful career

The Pragmatic Engineer deepdives relevant for this episode:

What changed in 50 years of computing

The past and future of modern backend practices

The Philosophy of Software Design – with John Ousterhout

AI tools for software engineers, but without the hype – with Simon Willison (co-creator of Django) 

TDD, AI agents and coding – with Kent Beck

Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email [email protected].



Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
...more
View all episodesView all episodes
Download on the App Store

The Pragmatic EngineerBy Gergely Orosz

  • 5
  • 5
  • 5
  • 5
  • 5

5

59 ratings


More shows like The Pragmatic Engineer

View all
Software Engineering Radio by se-radio@computer.org

Software Engineering Radio

273 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

288 Listeners

a16z Podcast by Andreessen Horowitz

a16z Podcast

1,080 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

42 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

626 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

284 Listeners

Data Engineering Podcast by Tobias Macey

Data Engineering Podcast

143 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

221 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

982 Listeners

REWORK by 37signals

REWORK

212 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

188 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

453 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

59 Listeners

Latent Space: The AI Engineer Podcast by swyx + Alessio

Latent Space: The AI Engineer Podcast

96 Listeners