CST438 Week 8
This is the final journal entry for the course, so here are the five things that stuck with me most.
1. Code review is a shared responsibility, not a gatekeeping step.
The reading from Software Engineering at Google reframed how I think about pull requests. Having distinct roles, peer engineer, code base owner, and readability approver, means everyone is looking at the code with a different lens. That structure makes reviews more useful than a quick pass for typos.
2. A clean merge does not mean working code.
This was the most counterintuitive thing from the Git week. Two developers can merge with zero conflicts and still break the program if one renamed something the other was still referencing. Git tracks text, not logic. Tests have to do the rest.
3. Larger tests trade speed for fidelity.
Unit tests are fast and isolated but they cannot tell you how the system behaves under real conditions. Larger tests, including exploratory and canary tests, get closer to production truth. The tradeoff is cost and maintenance, but some bugs simply will not surface any other way.
4. Containers changed how I think about deployment.
The infrastructure chapter connected directly to work I had already done on AWS with ECS and Docker. Understanding why containers win on startup time and footprint, and where they fall short around state management, gave me a better mental model for making architecture decisions going forward.
5. Agile works because requirements change.
Waterfall assumes stability that rarely exists in real projects. At Keasy I see this constantly. Priorities shift, customers change their minds, and a plan that looked solid in week one rarely survives contact with reality. Agile builds that expectation in from the start, which is why it fits most real-world software work better.
Comments
Post a Comment