Tal Joffe
All you need is types
#1about 3 minutes
Understanding TypeScript's origins and role in scalability
TypeScript was created for object-oriented developers but can be used in a more native JavaScript style to help manage large-scale projects.
#2about 4 minutes
Achieving scalability with readability, structure, and enforcement
Scalable codebases depend on readability for faster comprehension, clear structure for discoverability, and enforcement to maintain quality over time.
#3about 6 minutes
Improving code structure by separating data from logic
Instead of combining data and behavior in classes, separate them into distinct types for data and functions for logic to create a clearer, more maintainable structure.
#4about 6 minutes
Using types to enforce data integrity and logic patterns
TypeScript natively enforces data shapes, and you can extend this by using utility types and creating custom types to enforce design patterns like CQS.
#5about 8 minutes
Minimizing boilerplate code with advanced TypeScript features
Reduce code overhead by leveraging type inference, avoiding complex OOP patterns, and using utility types like `keyof` and `ReturnType` to generate new types from existing ones.
#6about 7 minutes
Building confidence with static analysis and typed testing
TypeScript's static analysis catches errors at build time, and using explicit types in tests ensures mocks are accurate, leading to more reliable integration tests.
#7about 2 minutes
Summary of using types for scalable codebases
By focusing on types for readability, structure, and enforcement, developers can build scalable applications while minimizing boilerplate through a functional approach.
#8about 6 minutes
Applying clean code principles for naming and errors
Follow the "clean code" principle that names should reveal intent, and adopt a functional approach to error handling by returning errors instead of throwing them.
#9about 3 minutes
Deciding between types, interfaces, and transpilers
Use types and interfaces interchangeably based on preference, with interfaces being more idiomatic for classes, and combine TypeScript with Babel for broader browser compatibility.
#10about 4 minutes
Practical advice on undefined returns and JS migration
Use union types with `undefined` to make potential null states explicit, and migrate existing JavaScript projects by converting code in focused sprints, using `any` as a temporary measure.
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
Matching moments
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
08:07 MIN
Exploring modern JavaScript performance and new CSS features
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
03:31 MIN
The value of progressive enhancement and semantic HTML
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
09:00 MIN
Navigating the growing complexity of modern CSS
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
11:32 MIN
The industry's focus on frameworks over web fundamentals
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
14:14 MIN
Scripting presentations and demos in VS Code
Devs vs. Marketers, COBOL and Copilot, Make Live Coding Easy and more - The Best of LIVE 2025 - Part 3
11:10 MIN
The only frontend stack that truly matters
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
Featured Partners
Related Videos
Building software that scales with Typescript
Tal Joffe
Do TypeScript without TypeScript
Simone Sanfratello
4 Steps from JavaScript to TypeScript
Phil Nash
Don't compromise on speedy delivery nor type-safety by choosing TypeScript
Jens Claes
Where we're going we don't need JavaScript - Programming with Type Annotations
Peter Kröner
Advanced Typing in TypeScript
Lars Hupel
Lies we Tell Ourselves As Developers
Stefan Baumgartner
Building a large, complex product from the ground up with typescript & Atomic Design:lessons learned
Nathalia Rus
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

Rithum
Remote
Intermediate
API
GIT
Azure
NoSQL
+19

Paradigma Digital
Barcelona, Spain
API
React
Svelte
Vue.js
WebPack
+3

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

Citrus
Amsterdam, Netherlands
Remote
€7-11K
Senior
React
DevOps
Vue.js
+12


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


Provectus
Remote
API
GIT
JSON
REST
+11