I recently worked on a short Spring project and learned a lot. It's only been two weeks, but I feel like I've not only mastered the core technologies of the Spring framework, but also gained a deeper understanding of teamwork and enterprise development.
The project's approach was to simulate a real work environment and learn how to understand user stories and project requirements documents (PRD). I didn't think PRD was very important. I always thought it was just a place to write requirements, and the result was often due to a misunderstanding of the function. With a clear PRD, the communication cost is low, the development is less prone to making mistakes, and the efficiency is directly improved.
Learning the Spring framework can be stressful, because there is so much to learn in a short time. After seven hours of training, I figured out the automatic configuration of Spring Boot and how it makes development easier. Spring Data JPA also learned how to optimize database queries, especially in the case of complex queries. Spring's IoC and dependency injection also gave me new insights, and by understanding these principles, I was able to write code that was more flexible and easier to maintain.

In addition to Spring's core technologies, the project also allowed me to use the Drill platform and CI/CD pipeline. I experienced automated deployment and continuous integration on the platform, and learned debugging with an embedded IDE. While doing this, I have a more intuitive understanding of the integration of development and operations, and I feel that using platform tools is really time-saving and efficient. Kubernetes was also a big gain, although it was a little difficult at first, but after figuring out its core concepts, I learned how to manage clusters, deploy and publish applications, and felt that my development and operation efficiency improved a lot.
The most important thing is that I have sorted out a lot of Spring knowledge points that may be encountered in the interview during the whole project, which is very helpful for interview preparation. Like the advantages of Spring Boot, the optimization techniques of Spring Data JPA, and the principles of IoC and DI, I have reviewed them. This short-term project made me realize that the most important thing to master technology in a short time is to grasp the key points, clarify the goals, and then adjust myself to practice. In the next step, I plan to continue to improve and work towards the long-term project goal of SDE!