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

68 ratings


More shows like The Pragmatic Engineer

View all
The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

288 Listeners

The a16z Show by Andreessen Horowitz

The a16z Show

1,107 Listeners

Decoder with Nilay Patel by The Verge

Decoder with Nilay Patel

3,145 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

630 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

583 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

232 Listeners

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

Syntax - Tasty Web Development Treats

988 Listeners

Practical AI by Practical AI LLC

Practical AI

211 Listeners

Google DeepMind: The Podcast by Hannah Fry

Google DeepMind: The Podcast

205 Listeners

Last Week in AI by Skynet Today

Last Week in AI

313 Listeners

Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

Machine Learning Street Talk (MLST)

100 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

549 Listeners

Big Technology Podcast by Alex Kantrowitz

Big Technology Podcast

512 Listeners

Latent Space: The AI Engineer Podcast by Latent.Space

Latent Space: The AI Engineer Podcast

104 Listeners

AI + a16z by a16z

AI + a16z

32 Listeners