Why We Use On-Call Shadowing On-call shadowing is an essential practice at PagerDuty. For a new engineer, a shadowing period serves as a kinder, smoother...by Max Timchenko
March 26, 2019
My name is Vinh Tran and I’m currently studying Computer Science at Georgia Tech. I’m a Software Engineer Intern on the Platform team here at PagerDuty. In this post, I’d like to share some insight on what the first half of my internship has been like.
The learning started almost immediately! I went through orientation for two days along with company new hires. My coach prepared a very detailed onboarding checklist so that I could start working as soon as I wrapped up the orientation sessions. The checklist list included things like:
The tasks were challenging but at the same time small enough so that I could be productive very quickly. What was the most exciting was that after each task, I could merge my code to the master branch, which would get to production the same day. The tasks eventually got more and more challenging, but not in the way that was distressing. Instead, each task helped stimulate my interest.
I’ve had the opportunity to be part of all of the Product and Engineering team meetings, encouraged to give feedback on design decisions, and given tasks to work on from the same backlog as other engineers on my team. My manager once said to me, “I don’t treat you as an intern. So don’t think of yourself as an intern at all.” The first time I was asked to do a code review, I felt totally unqualified. I asked my tech lead, “Can I even give a code review?” He told me, “Go for it!”.
The feeling of being trusted and respected can make a huge difference. Over time, I’ve developed my confidence and contributed lots of feedback to my peers. I even demoed a few new features to the company! I love that I am trusted to deliver real work to real customers. I even paired and helped a new engineer reproduce a few bugs. Very soon after, my attitude shifted from, “I can’t do this” to “how can I do this?”. I was curious and determined to overcome those challenges. Best of all, everyone has been more than willing to take time out and explain things to me to help me be better.
My team practices agile at work. Each sprint lasts two weeks and at the end of each sprint, there’s time for a product demo, sprint retrospective, and planning. We demo the features that we implemented to other teams and we also reflect on our performance and progress so we can continuously improve. Lastly, we plan on what should be worked on in the upcoming sprint.
At PagerDuty, code quality is very important. Engineers take code reviews very seriously and I’ve found code reviews to be one of the best learning opportunities while working here. Before coming to PagerDuty, I didn’t think much of them and didn’t really understand what a true code review meant. But after being here, I’ve learned to appreciate them because they force me to read and reread my code, and to continually make it cleaner. I also learned a lot from closely looking at other engineers’ submitted code — such as writing meaningful variable and function names, code refactoring, and writing good test coverage. After having learned the importance of writing tests, I now write tests for all the new code that I implement — not only to confirm that my code is working as expected, but to safeguard it so that future code change won’t affect it.
PagerDuty has a very strong customer-focused culture and it shows. Reliability is the core of everything we do. The environment is very inspiring and I learn a lot after each conversation with just about everyone at the company. Another thing I love about PagerDuty is the company’s commitment to keep learning. We celebrate our success, but at the same time, we keep improving and extending our product. And the company is growing and moving very fast — since I started, my team has doubled in size! I feel very fortunate to be surrounded by the fast-growth environment.
Every month, PagerDuty hosts a HackDay where everyone has the opportunity to build and demo some sort of new idea. It is the chance to be creative, foster innovation, and think outside of the box. This month, I teamed up with a manager in San Francisco and two engineers in Toronto to build an add-on for PagerDuty’s platform. It was so exciting to be on stage and present our mock-up. The team presented the motivation behind the idea and demoed the actual add-on that we built in one day. We won an award for the Best Product Enhancement, which means our idea may be available to our customers soon — who knows!
I’ve always wanted to work at a company in San Francisco and I am glad I chose PagerDuty for my internship. For the past few weeks, I have done many things I never thought I could do. I have learned many things that I didn’t even know existed. These are the skills I can definitely bring to future jobs. My manager encouraged me to create goals for my time here and is helping me make sure I’m working towards achieving those goals — and they do not simply include leveling up my coding skill or learning as many technologies as possible. They span across building my communication skills and how to effectively grow as a professional software engineer, and much more.
The past few weeks at PagerDuty have been quite a great learning experience for me and I am excited to spend the rest of my summer at PagerDuty.
Interested in joining the PagerDuty team? Check out all of the opportunities on our careers page.