A New Language as Sport

23 Jan 2026

JavaScript to TypeScript

When I first started out my coding journey, one of the first programming languages I learned was JavaScript. You can put anything into a variable and change your mind later. But for bigger projects, it is easy to lose track of the type of data you are working with. Enter TypeScript, a statically typed language that can catch mistakes before you run it.

TypeScript: Extra Syntax?

In JavaScript, you do not need to explicitly define types when declaring variables. If you have a function that adds 2 numbers, and a string is part of the input, you won’t know until the program is run and produces errors. By using TypeScript, you can declare your expected values and outputs upfront. Having the type specified for variables and functions also serves as built-in documentation. You don’t have to guess what a function expects or what it returns. This is especially valuable in team environments where multiple people work on the same codebase.

Athletic Software Engineering

I was introduced to the concept of Athletic Software Engineering (ASE) by my software engineering class professor. The whole concept is focused on the “athletic” part. Just like athletic training, the following are required for growth:

In this class, we were given Workouts of the Day (WODs) as our ASE training.

WODs: How they help

Most software engineering jobs involve:

WODs recreate these pressures in a learning environment. It exposes us to different challenges, forces us to think and recognize patterns fast.

Seeking Help

Many people think that “real programmers” learn to code by trying to figure everything out on their own. However, the WODs reframe this by allowing us to use resources (documentation, AI assistance, online forums) as tools. After completing the WOD, we do a short reflection about our use of AI. Some questions include why we used AI, how we used AI, and what way was the AI useful/not useful. It teaches us to learn what kind of help to look for and to know when we should work through a problem and when it is appropriate to ask for help.

Combo

TypeScript and Athletic Software Engineering creates a complete practice. TypeScript can catch errors early on, while timed coding workouts build our resilience to solve problems under pressure. By using the combination, it will definitely prepare me to code in real environments.