Finished TypeScript Pro Essentials course — quick notes
Last updated: 03.02.2026

Audio Narration
Listen to this post
I recently completed the TypeScript Pro Essentials course by Matt Pocock, which turned out to be a solid, comprehensive deep dive into practical TypeScript. The material starts gently but quickly moves into territory that filled in several gaps I didn’t realize I had in my day-to-day work. The course helped me put clear names to patterns I already use, and it offered strong guidance on what to do—and what to avoid—when writing TypeScript. I especially appreciated the focus on type design: using utility types like Omit, Pick, and Partial with intention, creating stricter variants when necessary, and preferring discriminated unions over loose boolean flags. Another key takeaway was naming types based on what they represent rather than how they’re used, which leads to clearer, more maintainable code. On the advanced side, I’ll keep using template literal types to express constraints more precisely, such as defining an AbsoluteRoute type that enforces a leading slash. Overall, the course sharpened my mental model of TypeScript and gave me patterns I can apply immediately.
I just finished TypeScript Pro Essentials by Matt Pocock. It was a good, comprehensive course that started easy, then filled in the gaps I still had in day-to-day TypeScript work.
- Filled in knowledge gaps I didn’t realize I had.
- Put names to patterns I use daily.
- Clear guidance on TypeScript do’s and don’ts.
Cool stuff I’ll keep using:
Type Design
- Use utility types intentionally (
Omit,Pick,Partial) - Create stricter variants when needed
- Prefer discriminated unions over booleans
- Name types after what they represent, not how they’re used
1type StrictOmit<T, K extends keyof T> = Omit<T, K>;1type StrictOmit<T, K extends keyof T> = Omit<T, K>;Advanced Patterns
- Use template literal types for constraints
1type AbsoluteRoute = `/${string}`;1type AbsoluteRoute = `/${string}`;