How to make sense of these random characters and parentheses—AKA program code

22 Jan 2025

Why learn and understand coding as an engineer?

Software engineering is part of our lives; we use websites, chips, applications, and machines on an everyday basis. We might not notice it, but a major part of engineering would struggle if software engineering didn’t exist. Since I am new to this programming world, I am eager to learn more about it. As I mentioned in my other essay, coding is not necessarily about knowing the syntax of every programming language, but about understanding the problem and having the logic to solve it.

What do I enjoy about the random characters following each other?

My main interest as an electrical engineer is robotics, which inevitably includes coding. One of my projects is with Team RoSE, where, in addition to building a battery, we program microcontrollers and Arduinos to move separate DC or stepper motors. This brings us to the point: it is fascinating to see that, with the help of a few lines of code, a big piece of metal, wires, and circuit boards can come to life. Also, part of the missions for Team RoSE involves autonomous navigation, which, to outsiders, might look like the rover is controlled by AI—but that is not the case. Even though I get lost in the syntax of the code or mess up a couple of lines, in the end, the outcome always pays off for the pain and struggle I went through.

What’s next on the menu?

I want to improve my technical skills. I have already been exposed to Python, C, and C++ as programming languages, but there is still a lot more to learn. For robotics, ROS2 is essential for control and autonomous navigation. On the other hand, we live in a world of JavaScript and TypeScript; websites and web apps are built on these languages. Another really important skill to learn is Git, which was created by Linus Torvalds, the creator of Linux, and GitHub. These free tools make the programming world faster and more convenient. GitHub specifically serves as a host for Git repository teams to store their code in a centralized location. Since I live more in the world of circuits rather than code, there is still a lot more to learn for me.

Personal goals

My personal goal with JavaScript and TypeScript is to build a web app that redefines how swim practices are created. Since I am part of the UH Swim and Dive team, I already have the knowledge of what to put on the website, and learning JavaScript and TypeScript will help me understand how to put the web app together. This project is a great opportunity to learn more about data science, machine learning, and mobile app development. On the human side, communication, team collaboration, and networking will be needed to create at least a minimum viable product.

It is a long journey to get there, but I am excited to learn more about the field of software engineering.

References :