William Andrews
Fredericksburg, Virginia

Reflective Essay

The single most useful and meaningful thing I learned in this entire experience is dependability. Coders seldom work on projects solitarily, and teamwork is dependent on all members' contributions to the project. If a member of the team rarely shows up or puts forth little-to-no effort, then that lets the entire team down. I witnessed first-hand how this effects an entire team negatively, not only in the aspect of the project itself, but also outside of the project. If one or two people have to pick up the slack of a third person, then that puts more work on them for trying to do the right thing and being responsible enough to do what is needed to be done to accomplish the task at hand.

The most useful knowledge and skills acquired while at the University of Mary Washington that helped me succeed in this course was Dr. Zacharski’s Database course. This is where I learned how to implement a Python server and SQL databases, which were the primary languages/fundamentals required to complete the BG Warehouse project. Dr. Finlayson also taught us the use of Git (and GitHub), which made this project a seamless experience.

The problems I had with the BG Warehouse project was mostly the use of SocketIO/AJAX. I did not have enough time to properly utilize these tools as I wanted to, mostly due to delegation of other class’ projects. There was a lack of effort from other teammates and this took up the time I had set aside to learn these tools for application in the project.

The area I would like to continue learning and strengthening my skills would be in the JavaScript domain. I could’ve used this in our web app, but the project works fine without it. Operation of the cart and functionality of the webpage’s real-time updates would have proven useful, not only in a practical way, but also aesthetically.

Something I learned about myself during this experience is my resilience. I honestly had a rough semester, inside and outside of school. There were times that I questioned my integrity, morality, and core values, but I always recovered intently to achieve my goals. All of my classes suffered drastically from my failure to recognize that I was taking on too much for myself, but once I realized this and took a step back, I was able to find my way back to the path of success.

This experience did not change, but solidified my decision to become a computer scientist. I am grateful for the lessons learned in Dr. Anewalt's Software Engineering course, as I will use them daily in my future endeavors. I have accepted a job offer for a government contracting company that writes software for the United States Navy. The company has mentioned that they are heavy users of agile software development principles to achieve a collaborative effort of the software development cycle.