Our Groupon intern blog, Grouponiversity, is back for 2013. Each week (maybe more), we’ll feature an intern or two telling you about their experience first-hand tackling challenging problems and getting to know our teams. Today’s entry is from Sam in our Palo Alto office. Sam talks about solving problems from his first day, why he wanted to work for as a Groupon intern, and Groupon’s little-known tech library.
Why did you join Groupon?
I’ve been interested in Groupon for the past 2.5 years. I’m really interested in Agile software development and eXtreme Programming (XP) practices and I knew there were a lot of super-smart and experienced people in this company who did just that. So when I moved to the U.S for my graduate studies in Computer Science, I wanted to be a Groupon intern from the very beginning.
I knew if I’d be able to join Groupon, I would learn a ton about how to effectively and professionally develop distributed software that is used by millions of users every day.
This was such a big deal for me because most of my experience in software development and programming was with small companies developing software for a certain customer (e.g. banks, insurance companies, etc.).
What were your first impressions as a Groupon intern?
Right from the start I noticed that there’s a great culture at Groupon. People are willing to help each other and solve issues to achieve their goals. This can be something as simple as setting you up to start contributing to the source code right away, to something like dealing with an unfamiliar problem or technology.
What are you doing?
I’m working on the Automated Merchandising team. Groupon serves millions of customers every day and collects thousands of data points per session. This team tries to apply the ideas of Machine Learning and Game Theory to create a great experience for customers by providing interesting, surprising, and relevant deals based on what they’re interested in. It’s really interesting. I figured there would be a lot of learning, reading, and implementation of interesting ideas and there is.
What has surprised you?
When I joined the team I was expecting it to take a few weeks until I’d be able to start programming and participating in design discussions. But I was completely wrong! On the first day, one of the team members paired with me on a complex problem. I was really excited and it was a great experience. What a start! That pairing brought me in the loop. I immediately realized some of the main points of the system we were developing and I became more familiar with the code base.
By day 2, I started contributing to the code and problem solving on my own.
One thing that was really interesting for me was the fact that other members weren’t looking at me as an intern. They were seeing me as an actual member of the team. During pairing sessions, I am constantly asked my opinion or how I would propose a new solution to the problem we were trying to solve. They were really respectful and if I didn’t know about a concept, they explained it to me perfectly until they were sure I understood what’s going on.
One of the things that passionate programmers and software engineers care about is personal growth and self-improvement. Everybody in Groupon engineering is motivated to learn more and become better at what they do.
- There are book clubs in the company that you can join if you’re interested (which I did)
- There’s a library with a lot of interesting books that you can borrow and read
- There are a lot of training rooms that you can find to start working on some interesting project to sharpen your skills and learn something new (e.g languages, frameworks, algorithms, etc.)
There are also hack-a-thons every so often. The idea is that for a week or so, you just work on something that interests you and that you want to spend more time on. This can be something related to your team and current project or something totally unrelated.