This post is part of our Summer Intern Blog Series! Each of our most recent class of interns wrote a blog post on their biggest accomplishments and lessons of the summer. This installment comes from Zev, a rising Senior at the University of Pennsylvania studying Cognitive Science and Computer Science.
During my first week of AppNexus onboarding, a panel of former interns came in to speak with our new intern class. When asked for advice on how to make the most of the internship experience, the panel responded with “ask questions,” “don’t be afraid to ask anyone a question,” and “if you’re ever stuck or confused, just ask.” You may notice a bit of a trend.
I’ll be honest – during the first week or two of my internship, I spent a lot of time stuck, confused, lost, and, at times, feeling clueless. The AppNexus technological ecosystem is vast and intimidating, especially when trying to jump right in with only a single week of onboarding. However, the advice I was given at the panel that first week has rang true and taught me to view times of ignorance as opportunities to learn.
On my first day after onboarding ended, I scheduled a meeting with my manager to hear what he had decided I would be working on during the internship. Much to my surprise, he explained the basics of three wildly different projects and prompted me with “What do you think? What do you want to do?” We began a conversation about my goals and interests – and how each of the projects may or may not align with what I wanted.
I explored my options, defining the three projects and researching what I would need to do to complete them, and came back to my manager where we decided that my project should be a full-stack internal tool. The technology I used includes React.js, Node.js, Hapi.js, and MySQL, along with a handful of AppNexus-built tools such as Resin and Lucid, an open-sourced UI component library. This aligned well with my goals of learning new, modern technology and working full-stack, but using so many new and distinct frameworks and tools would require a lot of learning.
The Learning Process
I spent the first chunk of my internship fully devoted to learning: reading documentation, looking at code examples, and following tutorials. In those first few weeks, asking seemingly basic questions made my heart race. So what if I was fresh out of school – who was I to distract my hard working team members with questions that could potentially be answered by finding the right Stack Overflow post? However, I quickly learned that AppNexians don’t get annoyed when people ask questions, but actually get excited to help someone out. I no longer hesitate to ask a question – I just open Slack and send a message. On occasion, I was redirected to a more relevant team or person, but I never failed to receive help when I asked for it.
This lesson was reinforced when I started to build the backend of my project. I was advised to use an internal AppNexus tool called Athena to scaffold and initialize the application. At this point, Athena had existed for only a few weeks and had not even been formally announced to our engineering teams at large. I ran into some issues when working on my project and suspected that it had to do with an underlying dependency tied to Athena. I asked a team member to come take a look, and a few minutes later we were digging through a complicated codebase that I hadn’t known existed an hour earlier. My teammate found himself unsure as well and recommended I reach out to the AppNexian who had been most actively working on the application – Tim, an engineer based in our Portland office.
I nervously sent Tim a message, hoping that I wouldn’t be insulting a senior engineer by appearing to blame my issues on his code. Due to the time difference, I had some time before he started his day and I could pick his brain about the problem, so I tried to diagnose the issue myself and succeeded in finding a potential fix. An hour later, I was sharing my screen with him, explaining the issue and my idea to fix it, and pair programming the necessary changes.
Tim couldn’t have been more willing to help me both fix the specific problem I was having, but he went even further than that – he wanted to make sure I understood how that problem tied into the larger system. He even took the time to walk me through his team’s protocol for making changes to the repository and to ensure that everything else was going smoothly.
This was the first and only time Tim and I spoke, but it perfectly encapsulates the AppNexus value of “Learn and Teach.” My interaction with Tim shows that this isn’t just some empty corporate platitude, but rather a core component of the company culture that AppNexians experience every day. I’ve grown to love the times where I get lost, and now see these new challenges as opportunities to learn and explore.