Revisit on Teamwork
Back in Week 5, I felt like I had a different interpretation on teamwork in industry. I felt that the team I am on in San Diego interacts a lot with the team in Santa Clara, but that was when I was working on tasks which I could accomplish by myself – like writing test scripts or debugging and refactoring code. A month and a half later, I feel like my definition of teamwork in the industry setting has changed. My supervisor and mentors started giving me more tasks and higher priority development cards on a product that a sub-team of three people is working on. This required me to interact with my peers much more to ensure that what I was developing is what was needed.
For example, the product I am working on is a RESTful API service. One team member is working on the UI with ExtJs while another member and I are working on the backend service through the Katharsis framework on Java. This requires a lot of collaboration with the member working on the UI because he controls what endpoints and payloads the backend should send. Then, our job is to let him know what we were able to write-up according to the existing legacy backend to ensure that we are always on the same page. We’ve had many instances where we had to whiteboard code and code structure to make sure that the design is good for the team, and is also good for peers who are going to work on our product in the future.
Last week I continued to work on the RESTful API service. I was able to finish developing the endpoints but my next task was to create a way to filter the objects we are querying. For example, say we have a library book service, and each book had an ID. The service I had before the filtering service could only query for all books, or for books with specific IDs. After implementing the filter service, we are able to query library books for title, author and date published, which could potentially be very helpful.
This week’s revisit allowed me to see how much more involved in the team I have gotten as weeks went by in my internship. At first, I thought that I wasn’t going to interact much with my team because I was given solo tasks, but after a while – once I got used to how development worked at my company – I was given team tasks where it was important to constantly collaborate with the team. This type of work is much different than the work in core CSE classes at UCSD because most of the projects require that it be done solo. However, I’ve learned that classes like CSE 110, CSE 135, CSE 136, COGS 120 and COGS 121 all help with the team attitude towards development.