Leveling Up with Types: A Newbie's Pondering

22 Jan 2026

Initial Thoughts on Typescript

As a complete beginner to the Typescript coding language, I constantly find myself reconsidering if I truly ever had my first taste of a modern programming experience. At first, I believed in the idea that Typescript was just JavaScript with a few extra rules. After going through a few exercises utilizing Typescript though, I now see that these extra rules, or rather structures, act more like guardrails. Initially familiarizing myself with Typescript was, and still is, confusing; this is a result of my attempts in trying to learn more about both JavaScript behavior and TypeScript static checks. Albeit confusing, I feel that the explicit coding practices Typescript pushes me to aim for in regards to my variables and functions are a major bonus as a beginner. One moment I feel like I am writing code that is appropriate but, Typescript tells me otherwise and it helps me prevent accidents from happening or spending 20 minutes wondering why my code breaks instead of watching another cat video on YouTube.

Comparing to Other Language Experiences (C/C++, Python, MATLAB)

In terms of relating Typescript to other languages I have experience with, I feel like Typescript is similar to Python in its coding aspect, however, it acts sort of like C when it comes to debugging. In C/C++, one of the key takeaways I got was the vulnerability you can still impose on yourself when you recklessly use pointers, as well as disregard memory issues or undefined behaviors. In Python, its a bit more flexible in practice yet type mistakes only show up at runtime. MATLAB feels almost like Python though it can get tricky when trying to shape arrays and matrices. In essence, TypeScript almost feels as if I constantly have a peer or mentor peering over my shoulder and asking for reaffirmation in my methods and understanding of completing a coding task. At first the language can feel convoluted except once I recognize the common patterns it becomes easier to comprehend. For me, even with prior programming experience, the biggest stepping stone in learning Typescript is less about logic and rather more about understanding the style and structure it exhibits.

The Practicality of Typescript

From a software engineering perspective, I view Typescript as a good programming language for the sole reason that it is able to catch mistakes early. With Typescript being able to show bugs in compile-time rather than runtime, it is definitely a major advantage to those who work on big projects or when individuals are taking part in pair programming. As a beginner, it can be a bit daunting looking at the error log display all these messages during compilation; sometimes I find myself more concerned about satisfying the compiler instead of continuing to write out the entirety of my code. From a long term standpoint though, the daunting feeling eventually can be viewed as a checklist that prevents mistakes from surviving until runtime.

Typescript from a Athletic Standpoint

In my ICS 314: Software Engineering I course at UH Manoa, we partake in coding via an athletic approach which we know as “Athletic Software Engineering.” The goal of this athletic training is, as the name suggests, train students like athletes. There is a great emphasis on the mastery of foundational mechanics through deliberate practices before moving on to more complex and creative coding tasks. These exercises I am exposed to in class are called Workout Of The Day or WOD for short; in these WODs, we are assigned a coding task and allowed an allotted time to yield expected results. I personally find the practice WODs very helpful since they force repetition on fundamentals; in particular, I enjoy that its not only about reading the material rather I get to actively develop literal muscle memory and develop my fluency for the Typescript language simultaneously.

The nature of the WODs being timed can be stressful for me even if they are meant to be used as a practice tool. Having the WODs time-based, even unofficially, makes me feel ‘behind’ at times knowing others may be finishing the same task fairly quickly. Though this is true, I still find the WODs enjoyable since the stress is realistic; coding and debugging under pressure is an integral part of software work and it helps in shining light toward areas of improvement. The WODs definitely work for me to an extent. They provide me with an environment to hone my skills, find my weaknesses, develop a stronger understanding, and the confidence I need to trust in my abilities.

Concluding Thoughts on Typescript

Typescript to me is like that one older brother you may have that can be annoying, however, their strict guidance is exactly why they can impose a strong perspective. They’re able to catch mistakes early and nudge you toward the right direction in completing your goals, or in the case of Typescript your code. You grow up with said older brother and this becomes routinely; this is similar to establishing the learning style that the WOD presents which is repetition. Overall, TypeScript can be uncomfortable at first but, that discomfort is useful in enforcing critical thinking and that is what eventually makes programming feel more natural.