A Reflection on My First Programming Project

Nancy Ho
4 min readJun 15, 2021

As someone coming into data science knowing almost nothing about programming, it’s quite a different experience to finally having the opportunity to actually take on a coding project. I’d never thought I’d be here; I took a programming course in college and despised it. There were many struggles through my first project that reminded me of the hard times back then, but I ended up enjoying the whole process and was proud of the final product and the work I had put in.

For this project, I was tasked to analyze movie data in order to determine the elements of successful movies for a business starting out in movie production. While I already had a general idea of where I wanted my analysis to go, the toughest part of this project was writing the code to put everything together. I had never written my own code for anything before and was intimidated by the task ahead of me. What made things easier for me was to write down all my ideas on a notebook so I could remember what I wanted my results to look like and the topics I wanted to touch upon with my analysis. Along with help from my data science instructor and the resources available from my course, slowly but surely I was able to put a feasible notebook of code together.

Still, I hit a few roadblocks along the way. Half of my time working on my code was spent trying to troubleshoot error messages and trying to get tables and visualizations to look like the way I wanted them to. Especially my visualizations, actually. Although this also applies to parts of my data, once I would get the visualization to show, I would try and tweak one thing to make it come closer to what I envisioned. Then I’d break the whole code. I would spend hours on Google trying to look for an answer to my error messages, and in some instances I was able to find good enough workaround that got the messages I wanted to convey across.

I had trouble making this visualization, but ended up finding a work around that looked better than what I had envisioned

On the other hand, there were other instances where an alternative workaround wasn’t really an option, which was mildly frustrating to deal with. For example, for one visualization the solution I tried before (see above) wouldn’t have worked, and I needed to see data being confirmed side to side. Luckily, after a bunch of trial and error with my instructor, we were finally able to get what I wanted. I still remember the pure bliss I felt in that moment considering I had spent many more hours trying to come up with a solution before.

This bar graph alone made my whole day

After weeks of struggling with my code and getting everything to work, eventually all the pieces came together and I was ready to present my project for review. I remember being nervous going into it, but came out proud of the work I had put in. There’s much room for improvement, but for my first project, I was pretty satisfied with how it turned out. Thinking back, it’s impressive that I was able to write this much code by myself (with the help of my instructor) in two weeks! I didn’t accomplish as much as I wanted to, as in there were a lot of ideas I had and a lot I wanted to go into but didn’t have the time or knowledge to be able to do so. I also had many headaches from the countless hours of troubleshooting, but I wouldn’t say I hated them. There were many moments during this project where I felt good about what I was doing, especially when I would struggle to find a solution and finally find it, and remembering those moments helps me to keep going despite any hardships.

After doing this project, if I were to give advice to people starting to learn code or are also doing their first project from start to finish, here’s what I would recommend:

  • Don’t procrastinate and underestimate the time you have to put into a programming project. This is very important, and I learned not to do this the hard way — even if the process seems relatively simple on the surface, you have to dedicate lots of time to writing out your code, making sure it works, and organizing it so it’s presentable.
  • Make sure you spend plenty of time brainstorming and figuring out what to do before you do anything. When there’s a lot you want to do, it helps to write down your ideas to make sure you accomplish everything you want to achieve and track all of your ideas. In my case, it also helped me feel less overwhelmed starting out on my code from scratch.
  • Ask for feedback wherever and whenever you can. It helps to have more than one perspective when working on these kinds of projects. I definitely could not have achieved satisfactory results on my project if I didn’t get help when I needed it from my instructor.
  • Comment on your code as you go forward (If you’re using a Jupyter notebook, markdown also helps a lot). It helps others and yourself to record the thought process and reasoning so that everyone can understand what’s going on at a given time. In my opinion, it helps everyone become less confused when looking through my code!

Of course, I myself have yet to improve on all of these aspects and my knowledge as a budding data scientist, but with these experiences I hope to steadily improve as I develop myself and my skills.

--

--

Nancy Ho
0 Followers

Aspiring data scientist. Graduate of Flatiron School.