7. Learn more TypeScript

Through my career I have worked with lots of different programming languages, framework, libraries and patterns - and I've always enjoyed learning new things

For one role, I spent 2 years doing pure TypeScript development, and consider myself a talented TypeScript developer

There is always more to learn though, and there were some features of the language I wasn't very familiar with

I decided to try and learn some of the less commonly used, and more difficult features of TypeScript

Advanced features like:

The whole point of 30-projects is to code more, build more and ship more - so following along a course wasn't quite in the spirit of the challenge

I wanted to be "hands-on" and either build something with these features, or complete coding exercises by using the features

This was when I discovered Execute Program (I'm not affiliated, or paid in any way)

I could get hands on "practice" learning the features, and the curriculum would only let you move on if you complete exercises (and passed the tests)

This was much closer to the spirit of 30-projects, so a few months ago I started working through their TypeScript courses

I initially only started with the TypeScript challenges but ended up doing more courses than I expected!

TypeScript Basics

Static types and the TypeScript language from the ground up.

172 code examples in 25 lessons

Everyday TypeScript

TypeScript types for everyday application development.

421 code examples in 52 lessons

Advanced TypeScript

Complex types used in reusable library and framework code.

278 code examples in 29 lessons

Modern JavaScript

Modern JavaScript features supported by all browsers.

467 code examples in 44 lessons

JavaScript Concurrency

Callbacks, promises, async/await and event loops.

222 code examples in 33 lessons

JavaScript Arrays

Slice, filter, map, reduce, and other array methods.

219 code examples in 24 lessons

For the most part, these courses were great - and gave me a really good reference sheet to remind myself of these advanced features (should I ever forget them) - and got me using them in code rather than just reading about them!

This project is a little harder to showcase as it's just personal challenges solved in my Execute Program account, and it doesn't feel right to share their (paid and private) challenges - but I learned a lot, and will be writing blog posts on the more advanced TypeScript features later!

Onto project eight ✔️