Most software fails silently. It's not due to bad code, but a fundamental misunderstanding of value between business and tech.
#1about 2 minutes
Defining silent failure in software projects
Projects often fail from the very beginning due to accumulating issues, not from a single catastrophic event.
#2about 4 minutes
Translating software's unique properties for stakeholders
The intangible and complex nature of software, such as its replicability and changeability, creates a communication gap between developers and business stakeholders.
#3about 3 minutes
Balancing short-term features with long-term maintainability
Prioritizing rapid feature delivery without considering maintainability leads to increasing costs of change over the software's lifecycle.
#4about 4 minutes
The difference between restructuring and refactoring
Large-scale restructuring is a multi-year strategic effort to fix deep architectural issues, unlike small, incremental refactoring.
#5about 1 minute
Identifying non-technical debt in software projects
Technical debt is often a symptom of deeper issues like requirements debt, documentation debt, and testing debt.
#6about 6 minutes
Navigating the complete software product lifecycle
Software evolves through distinct phases including initial development, evolution, and servicing, each requiring different types of investment.
#7about 3 minutes
Overcoming cognitive biases in technical decision-making
Developers must be aware of survivorship, selection, and confirmation biases to avoid making flawed architectural and technology choices.
#8about 2 minutes
Aligning architecture with non-functional requirements
Architectural choices like microservices should be driven by specific quality attributes like scalability or reliability, not by industry trends.
#9about 2 minutes
Taking ownership to improve project outcomes
Developers can prevent silent failure by refusing to negotiate on code quality, integrating testing as a core practice, and consistently asking why.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
02:24 MIN
Why bad software is a communication problem
What makes a great Software Engineer? Challenging our Assumptions Instead of Talking about Imposter Syndrome
03:35 MIN
Bridging the communication gap between stakeholders
We (don't) need a software architect!?!
05:19 MIN
Understanding the business impact of software quality
Modern software architectures
05:07 MIN
How good intentions lead to broken legacy projects
Defeat that legacy monster! Guerilla refactoring with web standards
02:34 MIN
Addressing the challenge of growing software complexity
Model Based Systems Engineering in an Agile Product Development Process
04:24 MIN
The challenge of justifying legacy system improvements
Data Science on Software Data
01:58 MIN
What we can learn from high-profile software failures
The Software Bug All Stars - and what we can learn from them
06:16 MIN
Why code-centric development becomes fragile and hard to maintain
The Power of Prompting with AI Native Development - Simon Maple
The Importance of "Not Done"“Move fast and break things”.In the years since these words were first uttered by Facebook founder Mark Zuckerberg, the motto has become somewhat of a mantra among tech entrepreneurs, product builders and developers.Zuckerberg, like many of his peers...
Daniel Cranney
The real reason we document our codeThe world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...
Jordan Cutler
A Guide to Public Speaking For Software Engineers“Your technical skills are where they need to be, but you need to improve your communication.” - Your manager. This is one of the hardest pieces of feedback to hear as a software engineer. Why? Because you probably thought as a software engineer you ...
Krissy Davis
What is Software Engineering?If you are interested in technology and the digital world, you may find software engineering fascinating. Those specialising in software engineering are responsible for designing innovative applications that make our daily lives easier and complex sy...
From learning to earning
Jobs that call for the skills explored in this talk.