Modern Software Engineering

Explores ideas that help to produce Better Software Faster.

Hosted by Dave Farley, Trisha Gee, Steve Smith, Emily Bache, Kevlin Henney & Kent Beck. All of them are technology leaders and some of the best speakers on modern software engineering topics in the world. Subscribe for tips, tricks, comments on topical matters in the software development industry and MORE to help you become a great programmer.


Modern Software Engineering

Tonight @ 7pm (UK) Dave Farley | 3 Reasons Your CI/CD Pipeline Isn't Working As It Should...

Subscribe & hit the notification bell 🔔 so you don't miss an upload!

6 days ago | [YT] | 51

Modern Software Engineering

What did you all think of last week's episode ❓ It seems as though viewers are liking the new series! We have one big question for you though...

What question would you like to see answered next, and by which of our channel presenters? CAST YOUR VOTE 👀

1 week ago | [YT] | 14

Modern Software Engineering

Too many teams write code that works, but not code that solves the right problem.

That’s why ATDD is so important.

It’s not just another acronym. ATDD is a way to bring clarity to what we’re building before we write code. It aligns developers, testers, and business folks around a shared understanding of value, using real, testable examples.

Proper ATDD leads to:
• Fewer bugs
• Better collaboration
• Faster feedback
• Software that actually meets user needs

But most teams misuse or misunderstand it and then give up.

Dave Farley has put together a free ATDD Starter Guide. Clear, actionable, and grounded in real-world software engineering practice. Download yours: www.subscribepage.com/cd-atdd-guide

1 week ago | [YT] | 60

Modern Software Engineering

We often ask: What's the best language to learn? But the real question is: Where are languages evolving to take us?

In modern software engineering, we're seeing a clear trend:

➡️ More declarative.
➡️ More expressive.
➡️ Less ceremony, more clarity.

Languages like Rust, Go, and even Kotlin aren't just popular, they represent a shift toward tools that help humans think, not just machines run.

But here's the twist: the best language of the future might not be the most powerful, it’ll be the one that enables fast feedback, safer changes, and easier collaboration.

💬 What language do you think represents the future of software? And why?

1 week ago | [YT] | 27

Modern Software Engineering

New series available now! Kevlin Henney joins Dave to answer Modern Software Engineering’s One BIG Question for this episode… What is the future of programming languages?

1 week ago | [YT] | 18

Modern Software Engineering

Introducing Modern Software Engineering's ONE BIG QUESTION ❓

A new series where two of our presenters will attempt to tackle a topical question, in 15-20 minutes.

Tonight's episode will see Dave Farley & Kevlin Henney answer: WHAT IS THE FUTURE OF PROGRAMMING LANGUAGES?

1 week ago | [YT] | 28

Modern Software Engineering

Get ready for a new format, with a new presenter, on a topic from the future 😵‍💫

Please get ready to welcome Kevlin Henney onto the Modern Software Engineering channel, TOMORROW NIGHT @ 7pm (UK).

Subscribe & hit the 🔔 icon so you never miss an upload

2 weeks ago | [YT] | 53

Modern Software Engineering

Can you see something in new in 2025 that makes you feel good about the future of software engineering? 💬

2 weeks ago | [YT] | 19

Modern Software Engineering

📅 Tonight on the Modern Software Engineering channel

Steve Smith | How To Achieve Aligned Autonomy In Platform Teams

Subscribe & turn on notifications 🔔 so you never miss an upload

2 weeks ago | [YT] | 43

Modern Software Engineering

Are your software tests giving you inconsistent results? Flaky tests – those that sometimes pass and sometimes fail under the same circumstances – are a significant challenge in software development.

Flaky tests erode trust not just in the flaky tests themselves, but potentially in your entire test suite. This can lead teams to ignore test failures altogether, potentially missing real issues. They can even have a negative impact on team morale, leading to questions about the value of testing and overall work.

So, what can be done about them?

1. Identify Flaky Tests: The first step is to find which tests are intermittently failing. This can be done manually or, more efficiently, by automating detection, perhaps using build tool features like automatic retries (e.g., Maven, Gradle) or dedicated cross-build analysis tools.

2. Quarantine Flaky Tests: Temporarily move flaky tests out of your standard test suite to prevent them from "poisoning" your results. This might involve running them on a different build agent or using a temporary ignore tag. In some cases, if a test isn't providing value, deleting it might be an option, perhaps scheduling time to write a better one later.

3. Fix Flaky Tests: Quarantining isn't enough; you must actively fix the root cause of the intermittency. These tests were written for a reason, and understanding and fixing the underlying issue is crucial.

4. Schedule Time for Fixing: Ensure fixes happen by creating backlog items, scheduling dedicated time periodically (e.g., every couple of weeks or month), or even tackling them during waiting periods. Swarming on flaky tests as a team can help identify common root causes.

5. Handle Inherently Flaky Tests Separately: Some tests are inherently more prone to flakiness due to dependencies on external services, databases, or complex environments... For these, run them separately and understand their nature, but don't let this justify widespread unreliability in other tests.

6. Invest in Stability: Aim to separate functionality tested by large, unreliable tests into smaller, more reliable, and controllable tests. Using stubs and test harnesses can create a framework for stability and consistent results, particularly for your key tests. Investing time in making tests faster and more reliable ultimately saves time spent debugging or rerunning tests later.

Ask yourself: Is it worthwhile to have a test suite that lies to you, or will you invest the time to find and fix your flaky tests for a more reliable quality signal?

If you want more FREE help with frustrating intermittent tests, we have a free guide full of Dave Farley's top tips for dealing with the issue... You can download your pdf FOR FREE ➡️ www.subscribepage.com/fix-flaky-tests

3 weeks ago | [YT] | 59