JavaScript, TypeScript, and Preparations for Software Engineering

22 Jan 2026

On a path towards becoming a software engineer, being able to adapt to new technologies is a must. For the record, I only had prior experience with Python and Java programming languages: one was self-taught, the other was from university. The simplicity of Python and the elegance of Java together established the foundation for my knowledge of programming. Variables, data types and structures, functions, conditional statements, etc… — lay the basics for any programming language.

The Script Brothers

​ JavaScript is already a popular language within the software development field: it plays as the backbone of the internet, powering everything from simple websites to complex, enterprise-level platforms, and so much more. The complexity of its syntax falls somewhere between Python and Java: easy to understand, yet it maintains the structured, curly-brace logic. As a first-time learner, I was quick to adopt the syntax and semantics. In addition to learning JavaScript, I am also exposed to its sibling, TypeScript. The difference between the two is that TypeScript emphasizes the type of a value and/or variable, compared to a lack of it in JavaScript. Aside from its focus on data types, the syntax between the two is almost the same, allowing me to familiarize myself with TypeScript as quickly as I did with JavaScript from earlier. On a more technical note, TypeScript may be useful when the task mainly involves retrieving data from the user because the data may come in various types, and JavaScript isn’t able to manually configure the data type as TypeScript does. So I think this is a really effective way to configure software based on the user’s information. ​

In addition to the scripts, I am also exposed to a standard that is going to help me write cleaner and more efficient code: the name is EcmaScript 6 or ES6 for short. To summarize, ES6 is a set of enhancements that transformed JavaScript (and TypeScript too, but I’ll focus mainly on JavaScript) from a basic scripting language into a more robust and mature one. It provides the necessary tools to manage complex data structures and asynchronous tasks more effectively, as well towards handling and configuring inputs and outputs (I/O). For efficiency, the standard reduces code verbosity from the default syntax, improving readability and comprehension, and I appreciate this motivation from the developers in order to improve the language. ​

Impact of Athletic Software Engineering

I also want to share a few comments of my own on athletic software engineering. From my interactions with the concept via ICS 314 (Software Engineering) class at the University of Hawaii at Manoa (also creators of athletic software engineering) and their Workout of the Day activity or WODs for short, I feel that I’m able to implement my skills at a faster rate than all of my previous programming classes combined. There is tension, intensity, and some fun in doing them every time, because I feel what I’ve learned prior to the activity is always worth the effort and result. It is similar to when I work for a big tech company, where tasks come in large quantities, and completion must be achieved within a very short period of time. The activity is basically a lite simulation for the real world, and I greatly appreciate the people behind building the concept, as it helps not just me, but all potential engineers to become good at what they are passionate about doing, and to enjoy their choice of career.