The true measure of a scalable project isn't performance. It's a developer's confidence in making changes without breaking things.
#1about 3 minutes
Defining the core principles of scalable software
A scalable project is defined by having readable code, a clear structure, and strong enforcement of its architecture.
#2about 2 minutes
Improving code readability with explicit type signatures
TypeScript function signatures clarify parameter and return types, allowing developers to understand behavior without reading the implementation.
#3about 5 minutes
Separating data from logic for better structure
By separating data objects from the logic that manipulates them, you can adhere to the Single Responsibility Principle and create a more maintainable structure.
#4about 6 minutes
Applying high-level architectural patterns like Clean Architecture
Organize your project into stable layers based on Clean Architecture principles, with a clear folder structure for components like APIs, managers, and data access.
#5about 5 minutes
Enforcing structure with interfaces and design patterns
Use TypeScript interfaces to enforce consistent design patterns, such as Command Query Separation (CQS), and establish clear conventions for your components.
#6about 4 minutes
Reducing the overhead and verbosity of TypeScript
Minimize TypeScript's boilerplate by leveraging type inference, preferring composition over inheritance, and using type utilities to create derivative types.
#7about 4 minutes
Measuring scalability and building confidence with tests
Evaluate your project's scalability by how easy it is to locate code for changes and build confidence using the testing trophy model, which prioritizes integration tests.
#8about 2 minutes
How to migrate legacy projects to a clean architecture
When migrating a legacy codebase, start by refactoring the peripheral layers like data access and gateways before tackling the core business logic.
#9about 2 minutes
Why folder structure still matters with modern IDEs
A deliberate folder structure is crucial for discoverability when you don't know a file's exact name and helps prevent code duplication and coupling.
#10about 2 minutes
A practical defense of the anemic domain model
While often labeled an anti-pattern, separating data from methods into an anemic domain model can be a very useful and practical pattern for structuring code.
#11about 2 minutes
A minimal mocking strategy for integration tests
For robust integration tests, mock as little as possible, focusing only on true external dependencies like third-party services to ensure tests reflect production behavior.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
02:37 MIN
Understanding TypeScript's origins and role in scalability
All you need is types
01:48 MIN
Summary of using types for scalable codebases
All you need is types
03:59 MIN
Achieving scalability with readability, structure, and enforcement
All you need is types
03:47 MIN
Why TypeScript is essential for building large applications
Building a large, complex product from the ground up with typescript & Atomic Design:lessons learned
09:25 MIN
Strategies for migrating large codebases to TypeScript
WeAreDevelopers LIVE - Whats Nuxt and Next for app development, 20 years AJAX and more
01:21 MIN
Final takeaways for building modern TypeScript applications
End-to-End TypeScript: Completing the Modern Development Stack
03:57 MIN
Why JavaScript and TypeScript dominate modern development
What is TypeScript?Since Angular 2 at the latest, TypeScript has been known to many. But what exactly can you do with it, and is it worth changing?Anyone who has worked with programming languages such as Java or C# before will have noticed that JavaScript allows a su...
Benedikt Bischof
How we Build The Software of TomorrowWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
Daniel Cranney
How Microsoft worked around a Git limitation to shrink a repository by 94%Imagine that you are responsible for a Git repository with 1000 users, and 20 million lines of code. You struggle to keep up with constant pull requests but the biggest problem is that the Git file size of the repository is mushrooming to over 170GB ...
Gerry Schneider
I have a stream! Why it’s definitely worth speaking at tech conferences.Giving talks at certain events is a longed-for goal for many developers. For a good reason: it is the perfect opportunity to share your expertise and passion for a specific topic, help others learn from your mistakes, drive awareness of your solution...
From learning to earning
Jobs that call for the skills explored in this talk.