Engineering / August 26, 2019

A Software Engineering Intern’s Birds Eye View

Coming into Eyeview, I was nervous and unsure about my position as an intern on the Workflow Automation team. I asked myself, “What if I mess up really badly?”. There was always this dread that followed me before my first week of the internship; however as I eased into the workflow and development process, I found that over time, I became more comfortable and that initial feeling of dread quickly faded away.

The entirety of my first week, I just kept throwing questions at my coworkers whenever I hit a wall. I wanted to learn as much as possible, and become more familiar with the ad-tech terminology. I immediately began participating in daily standups and was thrown headfirst into how a developer on the team would go about his or her day. I gave input about ideas and topics when the team was grooming tasks for future sprints, and discussed any challenges or progress of my tasks during the daily standup. I was able to gain exposure to many technologies that I had been unaware of or unfamiliar with: AngularJS, DropWizard, Docker, Jenkins, AWS, and more.

As an intern, I was afforded the opportunity to attend the All Hands meetings that Eyeview hosted every one or two weeks. It was a company-wide meeting that gave updates about the company, future plans, and current proceedings. It demonstrated the proactive culture of Eyeview and the important role each individual had within the company. Even as an intern, I felt as if I had been a fully fledged member of Eyeview’s team!

Something that I had not been exposed to prior to the internship was the Agile Development process that Eyeview uses. This entailed 3 week sprints in which developers would be assigned pointed tasks and ideally complete them by the end of the sprint. There would be daily standups to discuss any problems the developer had and progress with the Project Manager and Product Team. When I first arrived, the Workflow Automation team was working on an external platform proof of concept. There were many hurdles that the team encountered, but the Agile methodology provided flexibility that allowed for the team to focus on different parts of the externalization effort during each sprint allowing us to move fast and iterate as we built.

Most of the projects and tasks I worked on felt very impactful and were deployed to production. I was able to work cross-functionally with many of the different development teams and this opened my eyes to the variety of technology present at Eyeview. One of the projects I worked on was a tool that would allow the Client Solutions team to understand the reach of audience segments. I was able to work with the EDGE and DevOps team on this project and communicated back and forth about certain requirements of the tool. By the end of it, I had a fully functional tool that utilized Docker, EC2, Jenkins CI/CD, Flask, SQS, and RDS. The tool is currently being used by the Client Solutions team and will have continued support even after I leave the company.

The most important takeaways I have from this internship are the communication aspects of development and the importance of good code. I underestimated how vital communication is to development. Whether it was during standups, or 1 on 1 communication with members of the team, I was always aware of what others were doing and was able to get their input on projects I was working on. Having an open forum allowed me to avoid code conflicts and get help when I needed it. Moreover, whenever I was writing any code, I tried to be cognizant of my code quality. Production level code within a large codebase needed to be well-tested and follow best practices or there would be major headaches when dealing with the code in the future. The Workflow Automation team had a best practices meeting every month to go over coding standards and what could be improved. Additionally, we were required to write unit tests for every feature we implemented, allowing the team to guarantee functionality of the feature.

I found this internship to be a good departure from school and a valuable career-oriented experience as an aspiring software engineer. It was a lot of fun working with the Workflow Automation team, and we even went on a team outing to learn how to make macarons! Not to mention, there was also the summer company outing to Governor’s Island at Taco Vista! The people (and the food) at Eyeview made the experience so much more awesome, and I am glad to have taken on this internship.

 
Anthony Chen

Anthony Chen

Date: 08.26.2019
Tags: