Lessons in Maintainable Code and Backend Systems

This week, we were introduced to the differences between programming and software engineering. There was emphasis on the importance of time, scale, and trade-offs. Programming focuses on writing code, while software engineering is about maintaining and evolving code over time in a sustainable way. I learned that software systems with a long lifespan require practices that account for changing dependencies and collaboration across large teams. Hyrum’s Law seems to have stood out to me. This law shows how users depend on even unintended behaviors of software. The chapter also showed how clean, maintainable code is more important than clever shortcuts, especially for code that’s expected to last for years.

This week we looked at the Spring framework and developed a REST API that allows customers to register, log in, create orders, and view their order history. In the first Lab, we focused on setting up the basic project structure and used Spring Boot. We created entity classes, repositories, and controller methods. We also learned how to map relationships between entities like Customer and Order using JPA annotations. Lab 2 introduced us to additional features. We learned how to handle POST and GET requests properly. We practiced running the application server and using tools like Postman to test endpoints in real time. We also brushed up on JUnit tests to verify functionality and ensure the API behaves as we expect it to. Troubleshooting errors during testing helped me better understand how Spring handles data flow and error responses. These two labs helped solidify my understanding of backend development and gave me more confidence working with Spring Boot.

Comments

Popular posts from this blog

The End of the Byte Trail

Reflections on Algorithms

Refining Documentation and Planning Final Deliverables