Finishing a project is one of the most satisfying feelings in my academic career. After working 30-40 hours on a computer science project and finally getting it to work is a big sense of relief. Not surprisingly, I felt the same way after our team finished the project that we’ve been working on for the past 2 and a half months.
The first month of the project was mostly spent building the framework or the base data structures. Our team had to determine which way to build the foundation of the project that would make the later parts easier to implement or more efficient to implement. Around ever corner we were faced with trade offs. Sometimes building it one way would make it more efficient but would use more computer memory, while the other way would use less memory but make it less efficient.
The second month of the project, we spent building what the client asked for. Sometimes things were not possible to build and we had to discuss possible alternatives with the client. However towards the end we were able to deliver a product that the client wanted. The last half a month of our project we spent tweaking the project the way the client wanted.
The process of working and building the project made me appreciate customer feedback very much. Instead of the people on the project guessing what the client wanted, we were able to get a definite answer from the client. It also made me appreciate the good leadership of my boss. Even if your team has the talent to build the product, without proper direction that talent would go to waste. In the end the project was a great experience and I learned a lot about the project subject, working with a team and working with a client.