Liberty Mutual Tech Start Internship

student picture

Angela Ferro Capera

Contact: LinkedIn

As part of my capstone, I joined the Global Retail Market Products and Underwriting team at Liberty Mutual. The role of my squad, as teams are referred to in Liberty Mutual, was to modernize legacy Java code and to develop projects resulting in cost-saving for the Liberty Mutual brand. This squad uses microservices to integrate vendors and modernize legacy code written in Java 1.4 and 1.6. As a squad member, I joined the scrum meetings, developed and tested code in the test server, used Postman to hit APIs end-points, and pair programmed with each team member when possible.

When I joined the team, their priority was to support a recently rolled out project related to the implementation of a new vendor through a microservice. The project was going to progressively be rolled out to different states in the U.S. each month for the next six months. Additionally, they were about to start working on a new, big project related to an improved home insurance rating system and code updates. In the first part of my internship, I pair programmed with my teammates, attempting to pair program with a different teammate each time, allowing me to learn from them and their working style. I learned about the team dynamics, the different projects, the coding practices, the testing tools, and the vendors the team worked with. I closely followed each code change, making sure to ask why the change, and if I could test the changes in any way. After a period of intense learning, I was able to contribute to the team by testing the project scheduled to be rolled out in September, keeping track of the vendors our software called with the Service Call Recorder (SCR) and hitting API end-points with Postman. One of the bugs I encountered in the production software was in the application used by the Liberty agents. The application was throwing a city validation error on some valid city names. After debugging, I found out that the validating regular expression used for the field does not take leading blank spaces. I also found out the input for that field was not being trimmed before verification. Therefore, I implemented code assuring to trim the input information, helping to keep consistency between the validated input and the information saved in the database.

During my last couple of weeks, I had the opportunity to demo an improvement done to an error message, meant to help the vendor debug errors on their side. In addition to the technical skills, I’ve learned, I also expanded my knowledge about the Software Engineering industry. I applied my knowledge in agile development, got a deeper understanding of how sprints work, I worked with experienced developers and became more curious about tech areas and skills I want to explore further.