Computer Engineering and computer science can be daunting as a beginner. The feeling of looking at lines of code, not understanding a single one, or opening a software program and staring at dozens of options differentiated only by hieroglyphic-esque symbols can be overwhelming. However, I’ve found that going through this experience was actually vital towards my personal growth as an engineer.
Unlike seasoned hobbyists, before college, I had limited experience with the world of computer engineering. I didn’t know what a command-line was, had no idea what Github was used for, and was actually convinced by a friend that you could “download more RAM” to your computer. My initial embarrassment of my limited knowledge quickly disappeared once I realized I was not alone.
Everyone starts somewhere and it’s easy to fall victim to the idea that everyone around you knows what they are doing. This is far from the truth. In actuality, plenty of engineers here start off having never written a single line of code. The great thing about Viterbi is that you don’t have to! Each major starts off with introductory courses that truly start students from the beginning if necessary. Challenge problems or options to test out of courses were offered to students with prior knowledge or course experience. However, for those starting with the basics, the courses made sure not to leave students in the dust. Every concept was built up to meaning that those who were new could understand, and those who were not often ended up getting a more solid foundation than they had prior. Because of this “build up to it” style of course, I generally felt quite comfortable with most class topics, and while I could get a little confused, I never actually felt wholly, completely, and utterly, lost.
This changed spring of my freshman year, when I joined the USC Makers club. In Makers, you get split into small groups where you and your team members create a semester-long project. I am currently finishing up with the Portal Gun team (an awesome VR projection device that can “transport” you anywhere in the world!) and will be continuing in the club next year. This project was where I discovered the importance of being lost.
When I began the project I worked on developing our VR in Unity (a game engine). I had never even looked at the software before, so opening it up was my first experience of being lost. There were what seemed like hundreds of different buttons, options, and controls none of which I knew how to use. However, after a few youtube tutorials and tinkering around, I was able to make some small successes. I could create a box! I knew how to move the camera! I could change the color of the background! Eventually, with these small steps, I was finally able to create a scene where you could import any 360 image and by moving the camera it would look like you were really there. This challenge provided me with important experience on how to open a completely new program, break it up into simpler functions, and eventually, create something really cool.
Later on in my project, I was asked to work on a Python script that would use an HTTP request to pull images from google maps, into our program. Having not used python since 7th grade, and not even knowing what HTTP meant, put me right back in the state of “lost”. After getting stuck even trying to set up Python on my computer, I was luckily offered help by an older member on my team. With his help I was able to set up Python, learn a few more basics, and from there I was off and ready to code! Sometimes the little things that take so long by yourself, can be solved in a minute just by asking for help. This definitely showed me how important it is to admit when you’re stuck and accept help from others. The knowledge of older and more experienced students is a great resource, and I’m glad to have a community like USC where everyone is willing to help without any judgement or hesitation.
Being lost taught me so many important things. It taught me about tinkering and figuring out a new program without the direct instruction of a teacher. It taught me about how to find answers to issues on my own. It also taught me about the importance of asking for help. After college, there’s going to be so many instances where you’ll have to figure out an engineering concept, without having the aid of professors and TA’s. This is why I’ve found these moments of being completely, utterly lost so valuable. Each time I learn something new, and the feeling when it finally clicks together is one of the most rewarding parts of engineering.