Down the Software Engineering Rabbit Hole

01 Sep 2021

How it All Began

When I was little, I always thought that I wanted to be an Electrical Engineer, however, when I took my first EE class at the University of Hawaii at Manoa, I realized that I liked the software portion of computers rather than the hardware. I found it very enjoyable to program and to think of the logic that would be needed to solve the certain problem. I was first very interested in the field of machine learning as well as artificial intelligence. I watched a documentary on the computer program known as AlphaGo. AlphaGo is a program that plays the board game Go, where it finds the best move in the situation based on previously acquired knowledge through machine learning. This greatly impacted me since for the first time I felt like I found something I would not mind learning more about and doing for the rest of my life. This interest later evolved to also include software engineering and how software engineers design and develop software for the applications of computer games and learning online.

Computer Games and Learning Online

Ever since Covid-19 started many people had to switch from an environment of being in-person, to being in a setting of online. Many workers had to start to telework, and students had to learn online through the platforms of zoom and discord. This shows the importance of creating and developing software to accommodate these needs. If one were to create a program that emulated the school environment, then it may help the student to feel as if they are there. One idea is for the program to use VR to have the student be in the school setting and for the VR systems to be interactive with other students to get social interaction. Since many labs must also be taken online currently, this can also help with experiencing the experiment. This method may also be less expensive since it would use the equipment virtually and there would be no need to buy new ones. Another thing that has been on the rise since the start of the pandemic has been computer/video games. I think an interesting game to develop would be one that uses machine learning where it learns about how the player performs to find their weaknesses and create different scenarios. The program’s A.I. could be the best opponent in helping the player to improve on their gameplay. I’m not sure how feasible either idea is, however, these are the ideas that drive me to learn more and get better at programming.

Skills to Develop and the Experience I Need

I would need to learn more about machine learning, artificial intelligence, virtual reality, and designing software and the limitations each one contains. Some skills to develop are strong programming skills, good communication, and teamwork. The teamwork skill might be the most important since one must work in a team to create and deploy big projects. Without good teamwork, even if the person is the best programmer in the world, they can only do so much by themselves. Many of these skills and knowledge can be learned through working on the job. That is why I want to one day get a job that deals a lot with machine learning and designing software like the AlphaGo project. Through this type of job, I would gain the experience I would need to possibly implement one of my ideas.