Startup Software Engineering Internship… in Provo, Utah?
September 16, 2016 // 10min read
Let me tell you something. I did not expect to see myself taking a software engineering internship in Provo, a city many people I know don’t even recognize. I’m just a suburban boy from Illinois who is used to the flatlands of the midwest. To be honest, I really didn’t know what I had gotten myself into until I stepped into the office on my first day.
I had never heard about Qualtrics until I was scouting out companies to apply for this summer at MHacks (the hackathon run at the University of Michigan). Qualtrics brought several engineers, the VP of Engineering, and a few recruiters and had a fun photobooth with some props. I ended up talking to a recruiter about some of the ideas my hackathon team was tossing around.
That was the extent of my introduction, but I applied, got through the initial technical screen, and moved onto the onsite interview. It was only then that I found out that Qualtrics was coming to my school (University of Illinois at Urbana-Champaign), and they invited me to lunch at a local restaurant. This casual environment captured my interest and gave me an opportunity to ask a lot of questions without feeling the pressure that would exist at a career fair.
I struggled with my decision to make this leap of faith and go to a company that I hadn’t heard of in a city that wasn’t a San Francisco or a Seattle for the summer. It wasn’t until I had a phone call with Ryan Debenham, an engineering manager, who told me something that would cement Qualtrics as my choice. Internships provide an opportunity to go out and try something new, and if I liked it, I would be incredibly happy with the risk I took, and if I didn’t, my summer choice wasn’t permanent. Other companies provide similar career development opportunities but few if any are in Utah. Utah gave me an outdoor scene that I was blessed to experience, people who went beyond the job description to make my internship incredibly enjoyable and beneficial to me, and a workplace that I genuinely looked forward to walking into each morning.
Coming from a previous internship at a large company with over a thousand engineers and moving to a company with just over 150, it was incredibly refreshing to join a team that had the focus and resources to build out new and useful features for customers. Plus, to be assigned responsibility of creating a new service for customers was definitely one of the coolest parts of interning at Qualtrics. When a company is able to hold a company-wide meeting (called TGIT) every week to discuss sales, business, and engineering updates, as well as other important developments, it really contributes to a sense of unity and shared purpose. My project was highlighted in TGIT in front of the whole company, and it gave me butterflies.
There’s something to be said about being on a small team with complete ownership of its product. When you can literally walk (or roll your chair) over to the person who wrote a significant part of the codebase and ask him or her to explain something to you, life steers away from the hair-pulling, nail crunching stress of figuring something out that you’ll be stuck on for hours at a time.
What I’ve Learned
New Languages and Features
During my intern project, I had the opportunity to use many technologies that I have not touched before since Qualtrics uses a diverse set of technologies best suited for each situation. Scala is a language that I probably would have never touched in my life unless I had the proper guidance, and thankfully, people on my team were quite well versed in it. It seemed like a cool language to try out since I have heard about it being used in some very scalable companies and I was in a relatively risk-free environment to try something new. Shoutout to my awesome mentor, Jeffrey Starr, and the amazing Text Analytics and the Data and Text teams! There were other project repositories I could look at to get a good feeling of good Scala style and idiosyncrasies. Having talented and helpful people as resources and being able to see all the codebases proved to be an awesome opportunity for me to learn.
My project was to take the existing concept of response weighting in our Vocalize product and improve upon it based on customer feedback. In particular, a more advanced version of response weighting called Iterative Proportional Fitting (IPF) was frequently requested. So my goal was to create these functions in our new Research Suite Platform while also maintaining feature parity with the Vocalize product.
How to ask questions
Asking the right questions was definitely the most difficult part of my internship, not because I was afraid to ask questions, but because it’s hard to formulate questions that foster “learning” instead of just “solving”. This was important because I was only interning for the summer and I wanted to make the most out of my short time there and also have an impact. That meant that I had to learn as much as I could at the beginning about how the system ran, and then start making contributions alongside asking and storing to memory all the advice I picked up.
There’s something about being surrounded by smart and talented people that I just want to absorb as much as possible from them: taking advice about general coding and engineering principles to career advice and how to balance life in general. To learn how things truly worked and delve deeper as an engineer, I had to formulate questions that weren’t easily “Google-able” and ask them to people who had the time to go off into detail.
At the end of my summer, I felt a mixture of emotions leaving such a great experience. To all the people who helped me along the way, I will not forget the guidance I received. Leaving work knowing that I built things that people will use gave me a great feeling inside. I don’t know where the next chapter of my life will take me, but maybe my story with Qualtrics will continue in the near future.