Tal Joffe
Building software that scales with Typescript
#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.
Hubert Burda Media
München, Germany
€80-95K
Intermediate
Senior
JavaScript
Node.js
+1
MARKT-PILOT GmbH
Stuttgart, Germany
Remote
€75-90K
Senior
Java
TypeScript
+1
Matching moments
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
08:07 MIN
Exploring modern JavaScript performance and new CSS features
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
11:10 MIN
The only frontend stack that truly matters
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
07:46 MIN
The challenge of keeping up with modern CSS
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
11:32 MIN
The industry's focus on frameworks over web fundamentals
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
03:10 MIN
Why small companies shouldn't copy big tech processes
Slopquatting, API Keys, Fun with Fonts, Recruiters vs AI and more - The Best of LIVE 2025 - Part 2
03:28 MIN
Shifting from talent acquisition to talent architecture
The Future of HR Lies in AND – Not in OR
Featured Partners
Related Videos
All you need is types
Tal Joffe
Building a large, complex product from the ground up with typescript & Atomic Design:lessons learned
Nathalia Rus
4 Steps from JavaScript to TypeScript
Phil Nash
Don't compromise on speedy delivery nor type-safety by choosing TypeScript
Jens Claes
Lies we Tell Ourselves As Developers
Stefan Baumgartner
Advanced Typing in TypeScript
Lars Hupel
Where we're going we don't need JavaScript - Programming with Type Annotations
Peter Kröner
Do TypeScript without TypeScript
Simone Sanfratello
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Confideck GmbH
Vienna, Austria
Remote
Intermediate
Senior
Node.js
MongoDB
TypeScript

CodeBlauw Careers B.V.
Amsterdam, Netherlands
Remote
€5-7K
Senior
DevOps
PostgreSQL
TypeScript
+5

nono
£75-120K
Intermediate
API
Node.js
Grafana
GraphQL
+9

Client Server
Cardiff, United Kingdom
Remote
£50-60K
API
Node.js
TypeScript
+1

nono
£75-120K
Intermediate
API
Node.js
Grafana
GraphQL
+9

Paradigma Digital
Santa Cruz de Tenerife, Spain
API
React
Svelte
Vue.js
WebPack
+3

Client Server
Charing Cross, United Kingdom
Remote
£100K
C++
Java
Python
+6

Provectus
Remote
API
GIT
JSON
REST
+11
