My internship at OpsGenie

As my two-month software engineering internship at OpsGenie’s Playground Team comes to an end I wanted to reflect on my experience and share my insights.

opsgenie playground team.jpg

Playground team

I first heard of OpsGenie about a year ago when I accidentally joined their happy hour party. Even if I wasn’t invited to the party, they welcomed me with open arms, free drinks, and food! I got the chance to learn about the company from people who work there. I was drawn to company’s culture and decided to apply to OpsGenie for my summer internship. Luckily, I got accepted and had the chance to be part of this culture and contribute to it.

I joined the DevOps Playground team which just started  working on a new initiative and I had the chance to witness all phases of team formation. As the Playground team, we had the mission to develop and operate a brand-new SaaS application to showcase various DevOps practices and patterns while sharing our experiences with others along the way. While discussing what kind of application to develop for this purpose, we realized it would be fun to develop a gamification platform which our colleagues can actively use. Then we came up with the idea of the Badges Application. Badges is a motivation and skill tracking system for companies to recognize employee achievement and motivate them to develop new skills. During my internship, I was mainly involved in the backend and frontend development of this application.

Once I started working for OpsGenie, I was surprised to see how seriously they use various agile practices. Things like daily stand-up meetings, sprint plannings, code review sessions and pair programming were just terms I learned in my Software Engineering course but having hands on experience with these gave me a better understanding of how agile development is done. I enjoyed participating in meetings, they valued my ideas and encouraged me to share my thoughts and feelings. Also learning about roles and responsibilities of non-engineering departments gave me a better understanding of workflow and how things work in a software company.

opsgenie office favorite place.jpg

My favourite place in the office

At OpsGenie, interns are treated no different than employees. I was surprised by the level of responsibility they gave to interns. At my first pull request, I was scared that I might break something. It didn’t take me long time to discover why there are code reviews and tests. After adapting to the workflow and getting encouragement from my team, I became much more confident and an effective team member.   

Throughout my internship, I had the opportunity to discover web development. To be honest, I had never thought web development would be broad and complicated. Shame on me, I was underestimating! To my surprise, I enjoyed it a lot, especially front-end development. I think you can’t be sure if you would like something without having hands on experience. Luckily I had the chance to practice many web development technologies such as React.js, Redux, Spring Boot, Spring Data, REST... Most of the things were new to me, I dived into backend development with Spring Framework, wrote my first unit test using JUnit, got my hands plenty dirty with React.js and Redux. I consider myself fortunate to witness the birth and rise of a single page web application. Building an application from scratch with a team has been a fantastic experience.

opsgenie friday afternoon.jpg

A Friday afternoon

Something I admired at OpsGenie is the knowledge sharing. Learning completely new things brings many questions and sometimes Google can’t answer you. Fortunately, my teammates were always there to answer my questions even if they were busy with their own work. Sometimes a helping hand saves a lot of time.

There are frequent training sessions at OpsGenie about various things such as a tool, a framework or even about marketing. You are always welcome to join any training, you just need to watch Slack channels for announcements. Some of the ones I joined were about Git, Amazon Web Services, CSS/HTML, JavaScript, Angular.js and UI/UX Concepts. Thanks to these training sessions, I had the opportunity to learn new things beyond my own role. I think it is crucial for Software Engineers to extend their knowledge beyond technical perspectives and set sail for new horizons now and then.

opsgenie sprint planning.jpg

Team in a sprint planning meeting

Overall, I had a great time at OpsGenie and learned many things. My goal was to get hands-on experience, acquire new skills and practice them in a relaxed environment while getting feedback about my performance and progress. At OpsGenie, I achieved my goals and I’m glad that I had this experience. Now, I am joining the OpsGenie team as a part-time Software Engineer in my last year of university and I am looking forward to the new challenges it will bring!