Practical Ways to Advance Your TypeScript Skills

    Joe Previte

    As a programmer, it can feel like you know something well enough to be dangerous. For some situations, this is fine. All you need to know are these three methods in this programming language. Other times we want to develop expertise. In this article, we’ll cover ways to advance your TypeScript skills to that next level.

    Below are various ways you can further your TypeScript abilities. These are in no particular order.

    Learn in Public

    One of my favorite movements is #LearnInPublic, which gained traction after Shawn Wang published a gist. When you tell others what you’re doing, opportunities arise. These come in various forms.

    One form is connecting with others. You’re now viewed at as someone in the “TypeScript” space because people see you working with it. They may reach out for help. They may ask you questions. They may even ask you to do freelance work or content creation. You never know.

    Another door that it opens is the ability to teach others. Chances are something you learn, then explain, may unlock someone else’s understanding of that topic. They see your posts and level up their skills. It’s a win-win.

    Start an Ultralearning Project

    Coined by Scott Young, ultralearning is a “strategy for aggressive, self-directed learning.” Think of it like creating a college course, then doing the material at a 2x pace. The more challenging you make it, the more fulfilling it is to do. Scott provides an excellent guide for creating your own ultralearning project. I highly recommend this approach if you can make the time. Commit to a month of TypeScript and see how deep you can go.

    Create Utility Types from Scratch

    In the TypeScript Handbook, you can find a list of the built-in utility types. One exercise you can do is try writing them from scratch. I did this myself with the Readonly and the Partial utility types. It’s a fun challenge and will help you understand more complex concepts.

    Contribute to Open Source

    No doubt one of the best ways to reach a new level of TypeScript abilities is by using your skills to give back. As TypeScript continues to grow, the number of projects that need help migrating will follow suit. You can write types for libraries in the DefinitelyTyped repository. You can contribute to TypeScript itself. You can start a new community TypeScript cheatsheet, or contribute to an existing one. Or you can write your own open-source project. There are many ways.

    Join a Community

    TypeScript has a few online communities where you can meet fellow TS folk. Here are two:

    Even though these are TypeScript-specific, you can usually find smaller TS circles within larger tech groups. Find people who know more than you and learn from them.

    Speak at a Meetup

    Speaking is one of the best ways to level up TypeScript skills. Find a local meetup and share something! It doesn’t have to be a life-changing project. It could be something short like, “How does X work in TypeScript?” Or it could be about your personal experience, your challenges and how you overcame them. Meetup organizers are always looking for speakers. You can take advantage of those opportunities and level up your skills.

    Host a Lunch and Learn

    If you don’t feel like you’re ready to speak at a meetup, hosting a lunch and learning with your coworkers is a great first step. Even if you don’t speak at a meetup, lunch and learns are low-barrier. Most often your coworkers will say yes, and allow you to share. By sharing and teaching others, you’ll start to develop a reputation for your TypeScript skills. Maybe they’ll consider you the in-house expert! This will boost your confidence, your knowledge and maybe even your career.

    Answer Questions on Stack Overflow

    If you’re up for a more difficult challenge, you can set up a filter for TypeScript-specific questions on Stack Overflow. This way, you can see if there are any you feel capable of answering. Sometimes you’ll find one or two. Other times, you’ll spend an hour or so trying to figure out the problem, only to realize you don’t know how to solve it. It will push you. You’ll get frustrated. But you’ll further solidify your TS knowledge. It’s a fantastic way to advance your skills. And the added beauty? You can do it as little or as often as you want, whenever you want! It’s a great activity to pair with your ultralearning project.

    Help Others

    Last but not least, helping others will guarantee you enhance your TypeScript skillset. When you help someone else, you’re forced to explain your understanding in a way that makes sense to them. This oftentimes is difficult, especially if you’ve learned TypeScript solo. But after the first few times, it gets easier and easier.

    There are several ways you can help others. Here are a few to get you started:

    • Answer questions on community forums like freeCodeCamp.
    • Search for tweets mentioning TypeScript.
    • Post a tweet offering to help others.
    • Write a blog post showing how to do X in TypeScript.
    • Triage issues and reproduce reports in projects like tsdx.

    Putting in the time to advance your TypeScript abilities is a wonderful thing to do for your career. This list is far from complete. But hopefully it’s enough to get you started.