What We Learned as Engineering Interns at Guidewire
The three of us chose to spend the summer interning at Guidewire Software because it was clear that the company strongly values coaching and learning for students who are interested in the software field, and we expected to learn a lot from the experience. During our internships, each of us worked on a different team within Guidewire’s Cloud Common Services organization (CCS). CCS is responsible for addressing cross-cutting cloud concerns including cloud infrastructure, AuthN/AuthZ, observability, developer experience, and various other shared cloud services within Guidewire Cloud Platform (GWCP). As CCS Interns, we had a unique experience working alongside junior and senior engineers to develop and maintain a variety of products on GWCP. Below are three key observations from our shared intern experiences at Guidewire.
An Emphasis on Collegiality
Interns at Guidewire are more than just learners. As part of CCS, we assumed the same responsibilities as the rest of the team. Limiting the impact of hierarchy on our day-to-day work is in line with Guidewire’s core value of collegiality. Often, the best sources of knowledge aren’t articles or books, but rather the people we work with. Guidewire’s collegial environment encourages interns to talk openly with co-workers and learn in the process. Additionally, the assignments given to interns are never busy-work; we worked directly on products alongside full-time engineers every day. Almost all of the code we produced made it to production by the end of the summer, so our efforts really made an impact and helped to fulfil our teams’ goals.
We were treated as equals among our more experienced teammates, but that doesn’t mean Guidewire interns aren’t treated like we’re special! We had dedicated communication channels to supervise our experience and learning, and we were also provided with special swag, our own coffee breaks and socials, as well as volunteer opportunities.
“Though my co-workers were all well established in their careers, Guidewire’s commitment to Collegiality made me feel comfortable and equal with those I worked with. I was given instruction and help when needed because I was an intern, but I also contributed fully and had expectations on my performance just like every other member of the team.”
Development with Pair Programming
CCS engineers at Guidewire employ many code development and delivery strategies, and pair programming may be the most important, especially for interns. For the majority of our working hours, we paired with junior and senior engineers to work on tasks collaboratively. In this dynamic, we spent a lot of time watching and assisting as more experienced engineers coded, which allowed us to pick up new techniques and gain important industry and company knowledge. As our internships progressed, we also got a lot of practice driving pair programming sessions, which allowed us to gain coding experience and apply newfound knowledge under the guidance of our teammates. Coming in to do an internship with a sizable software company like Guidewire can be intimidating, but participating in pair programming provided us with the direction and guidance that helped build confidence.
“Pair programming during my internship with Guidewire allowed me to have face-to-face conversations with experienced engineers not only about the tasks at hand but also about the software industry in general. My teammates were great teachers and mentors to me.”
A Diverse Learning Experience
Instead of being given a singular, monotonous project to work on independently all summer long, we were provided opportunities to solve many diverse problems using an array of cutting-edge tools and technologies. Throughout the experience, we learned how to use industry-standard programming frameworks, testing libraries, CI/CD pipeline systems, a variety of cloud services, and much more. Specific technologies we were introduced to include several AWS cloud services, Terraform, Kubernetes, TeamCity, Datadog, Liquibase, Spring Framework, and OpenAPI. In any given week, we might have spent a couple of days adding a new feature to an existing stack, a couple of other days building a new stack altogether, and another day researching innovative strategies for proposed application enhancements or attending interrupt channels to help other teams debug/troubleshoot issues.
The variety of problems we got to solve at Guidewire truly opened us up to a world of knowledge and skills that will help propel us into the future, giving us an advantage over many others entering the software engineering field.
“On my first day, the team introduced me to some of the current issues for the sprint. I remember noting down 10 or 12 different technologies that they mentioned while giving me a rundown of the issues. It was intimidating at first, but now I have all those new skills reflected on my resume ¯\_(ツ)_/¯”
The shared experiences described above are certainly not exhaustive. As Guidewire interns, we also enjoyed a great work-life balance, opportunities to network with company executives (including CEO Mike Rosenbaum), and much more. While it is difficult to summarize a whole summer’s worth of interning into a single blog post, we hope reading this gives you a general idea of what a valuable experience it can be to work as part of Guidewire’s software development team.
If you are interested in working on our Engineering teams building these cutting-edge cloud technologies that enable Guidewire to be the insurance cloud leader, apply here: https://careers.guidewire.com/