CST 438 Week 8
Working as a group using GitHub with branches, pull requests, merges, and code reviews. This stood out the most and should probably be all five points because it reflects how real software teams actually work. Learning how to coordinate changes, review other people’s code, and merge conflicts was extremely valuable, and I honestly wish this had been introduced much earlier in the program. Given how group centric the CSUMB computer science program is, we have been working on group projects since the first class, and this course made it clear that I had already developed some bad habits over the past two years.
The AWS lab. Cloud infrastructure is everywhere in the professional world, and getting hands on experience with EC2, RDS, security groups, and deployment helped connect a lot of abstract ideas to real systems. I hear these terms constantly at work, and while the lab did not make me an expert, simply understanding what something like an S3 bucket is when it comes up has been incredibly useful.
Building and testing a distributed system with multiple services. Working with services that communicate over HTTP and messaging showed how much more complex real world systems are compared to single applications. Most previous projects involved working in one repository, so managing three separate repositories and keeping responsibilities properly separated was great practice.
Writing automated system tests. Creating Selenium based tests forced me to understand the full behavior of the application, including edge cases and dependencies. All of my previous testing was with unit tests, so I really enjoyed working with end to end tests that included the front end. Being able to actually watch the tests run in the browser instead of just reading terminal output was also really cool.
The importance of trust but verify. Code reviews really personified this idea. Seeing how a single missed issue in a review could impact the entire system reinforced how critical careful verification is, especially when working on shared code in a team environment.
Comments
Post a Comment