One of the hardest questions for me to answer is, “what made you choose to go to school for Computer Engineering?” I can only say that I walked into the advisor’s office before my first semester at the University of Hawaii at Manoa, and asked if I could change from Mechanical Engineering to Computer Engineering. Honestly, there was no particular reason from me to transfer; I was not talking to current students, I did not look into the types of classes I would be taking, I did not research the kind of jobs that I would be able to find. I had some related interests–computers and video games–but those alone do not represent my choice to become a Computer Engineer. In fact, I had studied AutoCAD heavily during high school and received a recognition diploma for related activities. Even with no past programming experience, I decided to forgo the seemingly obvious route. Luckily, I found that I enjoyed programming as much as I did AutoCAD. My first programming class quickly sparked a deep, newfound interest that would drive me to grow as a Software Engineer.
When I first started programming, we could produce code and eventually debug the errors, but no one understood the purpose of writing good algorithms first. It seemed like a meaningless, redundant step since we would write our “algorithms” in pseudocode. After taking Discrete Math for Engineers about a year later, and Algorithms this semester, I finally realized how a good algorithm can drastically decrease the effort and time required to produce a block of code. I also gained an understanding of proofs and mathematical theories that we use as Computer Engineers. Although difficult when taking the class, proving things and creating algorithms are things that I find very interesting and are extremely important to Software Engineers.
One of my main interests as a Software Engineer is game development. On the side, I’ve been working on a text-based adventure game. It originally started while I was learning C as a way to practice the things that we learned during lecture, but it contained many bad habits, was not very readable, and had no documentation. While learning C++, I got interested in good habits and good coding style, like how to name variables and functions or how to separate files properly. I also gained more experience through classes and projects. Eventually, I began to see ways that my game could be improved. Since the original game was in such bad shape, I decided to slowly rewrite the game. Although I am still working on it now and then, and not sure if it will ever be available for the public to see, being able to improve your skills and create efficient, yet creative code is something all Software Engineers should be able to do.
For my future as a Software Engineer, I do not plan to stop learning and growing. I keep telling myself to learn new languages, and even have a list of which ones I would like to learn first. Additionally, I am always trying to improve my coding style so that it is easily readable and exhibits good coding habits. I hope to earn at least one internship before I graduate. I am aware that an internship could potentially lead to a career immediately after graduation, or at least have some merit to a future employer. At the very least, I am working to become just as knowledgeable in theories and practices as some of my peers, who seem leagues ahead of me and have the answers for everything.