Hey everyone! Since this past week was Engineering Week, I thought I’d talk a little bit about how what I’m learning in class is applicable to engineering in the real world. Last semester, I took CSCI 201: Principles of Software Development. Our final project was to work in teams of 6 to build a networked computer game in Java. I blogged about it a little last semester, so for details check out this post.
This project was one of the first opportunities I had in class to work on a team on a long term project, so naturally it had a lot of important lessons that can be taken into the real world. Engineers hardly ever work alone on any projects, so it was good practice to learn how to split up work appropriately. We started off at the beginning by splitting our work up into main categories: Server, Client, Chat, Databases, and GUI. What we learned very quickly however, is that some of those categories entailed a lot more work than the others. Fortunately my group members and I were all fairly flexible and were able to pick up the slack. For instance, I started off in charge of the Chat function and was able to finish it fairly quickly. Then as the deadline approached, we realized that the GUI portion was too much for one team member to do alone, so I was able to help out on that team as well.
In addition to being flexible and communicating well, we also learned the importance of being organized. With so many of us working on pieces of the project at the same time, we made sure to be very careful with our version control. We used a version control system called Git to work on our project. Git gives programmers several helpful tools such as: tracking changes in different versions and splitting up the project into different branches so that one team member can implement and test a feature before adding it to the final project.
This project was really helpful in terms of giving me a taste of what working on large-scale software development projects is like. I’m looking forward to taking what I learned last semester with me to future classes and jobs![author title=”Author” author_id=””] Button Text