How to git good at programing?

06 Sep 2019

My journey so far

First off, I would like to mention how lucky the younger generation is to experience programing at a young age. At my old high school, they now host summer camps for elementary schoolers to learn coding for several weeks. I cannot reverse time and start coding from an early age. For those starting off in their later years, this may be a story for you.

As a high schooler, I wanted to become an aerospace engineer but there were no such programs available in Hawaii back in 2016. Thus, I went for my second choice to study electrical engineering. It wasn’t until the second semester of college that I took my first course in programing, an introduction to C. I struggled in the beginning as most of my peers had some background in programing and they easily finished programing assignments. I, on the other hand, was usually one of the last to finish. I felt like I was slammed to the ground and couldn’t get up. It was then and there that I decided that I needed to change my approach.

The first step was getting help from my professor and TA. I asked them if they could explain the concepts in a different way as I didn’t catch on in the lecture. The second step, and perhaps the key step, was a lot of practice. This involved redoing the practice code several times and trying my own variations of that code. Eventually, I caught up to my peers and could perform just as well as they did. Several years later, I am proficient in several languages (C, C++, Python) and have greater confidence in my programing skills.

It’s like riding a bike

As mentioned earlier, practice is key. I like to remind myself that coding is like riding a bike. The first few attempts are highly to result in the bike crashing. With warning and errors flashing on the screen, it can feel highly discouraging to get on that bike again. From there progress is gradually made until the training wheels come off and more complicated maneuvers (i.e. object-oriented programing) are attempted. Then comes large projects like creating a video game. All along the way it is possible (and likely) for the bike to crash again. However, practice is what helps riding the bike (coding) to be less scary and decreases the chances of severe bike crashes in the future.

Room for improvement

Despite my experience programing, the only thing I can say for certain is that I always have room for improvement. There are other programing languages to learn and algorithms to practice. In the future, I hope to understand the situational strengths and weaknesses of each programing language in software engineering. I also hope to “git” good code organization and formatting. This hasn’t been a huge concern for me as most of the code that I have written is for my eyes only. As a result, I am always confused at looking at my old code due to poor documentation and overall disorganization. Finally, I hope to develop better teamworking skills to prep me for a future career in programing. Programming is a group effort and typical projects today are thousands of lines of code long. This is impossible for a single person to manage. Therefore, being able to communicate and coordinate effectively are non-programing skills I hope to obtain in the near future.