Prior to my junior year of high school, I had no experience in programming and only had a slight interest in it; however, after I took Computer Science 1&2 over the course of my junior year, my interest skyrocketed. I built a basic foundation of computer science knowledge and applied for the science internship to get more experience with it. This summer, my approach to coding and my views on teamwork completely changed. Over the past five weeks, I had the opportunity to work at Pegasystems as a software engineer. Pegasystems is a tech company based out of Waltham that aims to make application building for companies easy and efficient. Their main product, Pega Infinity, allows customers to create an advanced and well-functioning application without having to write any code. Pega’s software is used by some of the largest companies in the world including Bank of America, CVS, Blue Shield, T Mobile, and so many more. Pega says their company mission is “to change the way the world builds software,” and they have been very successful in that so far.
Pega headquarters is based out of Waltham, so that is where I spent most of my time working. While their headquarters is in Waltham, they have employees from all around the world — in 31 different countries to be exact. My team was a US team that worked on maintaining security in the Infinity Product. Although my team was US-based, the security tribe we worked in was all from India, so I gained a lot of valuable experience and perspective working with people from different cultures and different geological backgrounds.
The internship kicked off with a week of onboarding and learning about the company and its mission. All of the interns came together and worked on some community service to help out while getting to know each other.
Once I met my team they began to familiarize me with the way they got work done as a group. They separate their work into quarters, which each have six "sprints". A sprint is a two-week period where the team sets out to accomplish a certain amount of preplanned stories (tasks) to ensure that they are on pace to achieve their goals for each quarter.
Every day we had "standups" where we would discuss the work we were doing and what we needed help with. These stand-up meetings really helped the team stay on track and kept everyone on the same page. At the end of each sprint, we would have a "retrospective", which is a time for the team to look back on the sprint and assess what we could have done better and what worked well. There is also a sprint review where the team presents the work they have done to the managers of the security tribe. This process was great to experience firsthand as it showed me what getting work done and staying productive as a team actually looked like in a professional environment.
On top of these meetings, I had one-on-ones with both my boss, Cory, and my mentor, Will. During the meetings with Cory, we would mostly discuss overall coding principles that would be useful for me to know as well as life advice, which made these meetings some of my most valuable experiences at the company. During my meetings with Will we would go over some of the stories we were working on together and go over some bugs in the code that we could fix together. Anytime I needed help or had any questions Will was there for me to ask, which made my time at Pega a whole lot easier.
Although my time at Pega was limited, I feel as though I made a slight impact on the company and learned a lot of valuable skills and knowledge. My first two weeks of actual work were spent trying to get a local version of the Infinity product up and running on my laptop. This was a long and frustrating process as when we would fix one error, another error would pop up for two continuous weeks until we finally got it to work.
Once I was all set up, I quickly learned that as a software engineer, you can’t just jump in right away and start coding. Before you start coding for a story, you must do some research on the topic itself in order to understand the changes you are making in the code. I researched and worked on security topics such as SAML (Security Assertion Markup Language), OAuth 2.0, and SOAP (Simple Object Access Protocol) and worked within the Pega Infinity Platform to reproduce bugs that were occurring so they could be fixed.
I am so glad to have had this chance to gain some real world experience working as a software engineer and to work with such a supportive and helpful team. I learned so many valuable skills and lessons during my time at Pega that I will hold on to for the rest of my life. Thank you to both my team and Pega itself for granting me the privilege of working alongside you. Lastly, thank you to Mr Schlenker for setting me up with this amazing opportunity.
Comments