Fundamentals of Software Engineering

In this episode of Fundamentals of Software Engineering, Nate and I dig into the increasingly tense overlap between open source maintainers and the new wave of AI-generated contributions. We start with the policies maintainers are putting in place to refuse AI-driven pull requests, and why a flood of low-signal 50,000 line diffs is genuinely threatening the open-source contribution model. From there we get into the patterns we're seeing in the wild: code that compiles but solves the wrong problem, the trouble AI has actually deleting code, and the way junior engineers can lean on AI in a way that hollows out the deeper learning that builds real engineering judgment.
From there, Nate and I get into the commercial pressure building underneath all of this. We talk about the Silicon Valley loss-leader playbook, why current AI tooling pricing is almost certainly going to climb sharply once teams are dependent on it, and what that means for engineering organizations who have built their workflows around a tool that may not stay this cheap. We also talk about what good practice looks like when you're using AI day to day, where you should still be writing the code yourself, and how to keep your sharpness as an engineer while these tools keep evolving.
__________________________________________________
Key Highlights

🚫 Maintainers Saying No to AI PRs: Some open source maintainers have explicitly banned AI-generated pull requests, and we look at why this matters for the future of community contributions.
📈 The 50,000 Line Diff Problem: Students are now submitting massive AI-generated diffs that overwhelm reviewers, and we discuss why volume without judgment hurts everyone in the loop.
🗑️ AI Is Bad at Deleting Code: One of the consistent weaknesses in current AI tooling is removing unused or stale code. We talk about why you have to push it in that direction explicitly.
💸 The Darth Vader Moment in AI Pricing: Current AI tooling follows the Silicon Valley playbook: cheap to get you hooked, then prices climb. We dig into what that means for teams who've built workflows around current rates.
🧠 Engineering Judgment Still Matters Most: AI accelerates output but does not replace deep understanding. We talk about how to use the tools without letting them erode your engineering instincts.
🛡️ Defenders Need Perfection, Attackers Need One Door: The asymmetry of security and reliability is sharper than ever when AI is generating code at scale, and we explore the implications for production systems.
🎙️ Where the Conversation Goes Next: We close with where we think AI tooling and open source collide over the next year, and what engineers should be paying attention to right now.
__________________________________________________
Resources & Next Steps

🎧 Subscribe to Fundamentals of Software Engineering on Apple Podcasts
__________________________________________________
Chapter Timestamps

00:00 Cold open and intro
01:00 Welcome to episode 8, open source and the AI token crisis
03:00 Why maintainers are banning AI pull requests
06:00 The 50,000 line diff problem
10:00 AI struggles with deleting code
14:00 How junior engineers should be using AI
18:00 AI generated code that compiles but solves the wrong problem
22:00 Where AI tooling is genuinely useful today
26:00 Defenders need perfection, attackers need one door
30:00 The Silicon Valley loss leader pricing playbook
34:00 What happens when AI tooling prices climb
38:00 How to keep your engineering judgment sharp
42:00 Why open source matters more, not less, in this moment
46:00 The patterns we are watching in the next year
52:00 Closing thoughts and where the field goes next
59:00 Dad jokes and Father's Day wrap

What is Fundamentals of Software Engineering?

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.