Eric Farraro – Android Engineering Manager

Eric Farraro – Android Engineering Manager

ERIC FARRARO

Android Engineering Manager
Palo Alto, CA
Joined: 2015

After 7 years at eBay, Eric met with the Android team at Groupon and took the plunge. His first few months here were like standing in front of a proverbial fire hose, but redesigning our mobile app alongside intellectually curious developers proved to be a rewarding experience.

What’s your favorite Groupon memory?

My favorite Groupon memory was launching Mobile 2016, a big ground-up redesign of the UI in the app. It was a huge accomplishment for the team, with tons of people involved in making it happen.

So tell us about your job! What do you do every day and what do you love about it?

I’m an engineering manager and my team is responsible for building great features for users. I work a lot with product managers to understand feature requirements, as well as back-end teams outside mobile in order to manage the dependencies. I love getting to influence the mobile app in such a big way and helping my team to meet their career goals!

What’s unique about Groupon’s Engineering culture?

On Android, we have a great team culture that’s built around being intellectually curious about technical topics, even those that aren’t directly related to the work we do at Groupon. We also have a great culture of giving back to the community and peers, through open source, presentations, or talks at conferences.

What’s your favorite language?

C#

How does your work connect to Groupon’s mission of building the daily habit in local commerce?

Since I’m involved in mobile, my work directly connects to Groupon’s mission. Our users are always on the go, and being able to pull out their phone for a quick minute during a break makes it easy for users to make Groupon a daily habit.

What were you up to before joining Groupon?

Before Groupon, I was at eBay for 7 years (Front-end QA > Third Party Developer Technical Support > QA Automation > Windows Phone development) and was actively looking for a new place to work. eBay was a great company and I enjoyed working there, but at the time I was working on the Windows Phone, which was a dying platform. On top of that, the mobile team was in Portland and I was the only developer in California. I liked Portland, but not enough to move there. As a result, I felt pretty isolated from the rest of the team. I started reaching out to recruiters on LinkedIn to look for a new job, preferably working on Android. I was very excited to start! I had wanted to work on Android for a long time, and I was impressed by the impressive credentials (speakers, book authors, etc. ) of the Android team at Groupon.

So what was your first impression of Groupon as a workplace?

I had a great first impression. I remember being greeted and mentored by some really friendly people on the Android team who helped me get ramped up really quickly. I like to say that joining Groupon was like a fire hose of information, in a good way. After 7 years at a company, you start to think things can be only one way. I learned instead that things could actually be really different, and I learned a ton, especially in my first 6 months.

Tell us about the most challenging thing you’ve worked on here.

Mobile 2016 was the most challenging project I’ve worked on at Groupon. The challenge wasn’t actually so technical, but more of a project management challenge. By then, I’d transitioned to a manager from a developer, so it was one of my first big projects as a manager. What made it so difficult was that M16 wasn’t just one feature, it was a collection of features that all had to be delivered at the same time in order to provide a cohesive experience for the user. I remember staying up late and putting in some extra time on the weekend to try and make sure all the features could merge, dealing with some pretty nasty merge conflicts along the way.

There were a lot of difficulties coordinating with back-end teams as well. One of the most important features in M16 was what we called the ‘nav card,’ a card that shows up at the top of the deal feed that shows some key categories that Groupon supports. We worked a lot with back-end on that card, but in some cases, it didn’t show up at all. The navigation flow in M16 was fundamentally broken when this ‘nav card’ wasn’t present, so we had to help back-end debug in order to figure out how to solve the problem. We eventually came up with a workaround that involved the client manually adding the nav card, when the back-end didn’t return it.

Where can we find you outside of work?

I do programming outside of work, usually related to game development. Adjacent, I also love playing a lot of games and you can frequently find me playing on different platforms (PC, PS4, mobile).

And tell us something that might surprise us about you!

I’ve been programming since I was in middle school (OK, that’s probably not really surprising if you know me). Another slightly surprising thing might be that I love musicals! I’ve seen a ton: Hamilton, Lion King, Book of Mormon, Avenue Q, Pirates of Penzance, Legally Blonde, Grease, Reefer Madness, Wicked, etc… I’m always excited when new shows come to the Orpheum!

Tabs or spaces?

Tabs

Vim or emacs?

Vim; it’s what I started with in college and I have no idea how to use emacs. I’d rather use a good, modern IDE though.

What’s your favorite part of your team’s Software Development process?

We really believe in good code quality and take pride in craftsmanship. It isn’t good enough to just get the feature done, it needs to be done in a way that makes us proud as engineers.

What’s your favorite local business?

Aqui’s!  

Groupon World Headquarters

Cecilia – Android Engineer

Cecilia – Android Engineer

CECILIA GUO

Android Engineer
Palo Alto, CA
Joined: 2016

Aside from the excitement of working on Groupon’s top-rated mobile app, Cecilia finds both professional and personal growth within the close-knit Android team

What’s your favorite Groupon memory?

The Groupon app made the top-25 list of comScore’s 2016’s U.S. Mobile App Report, ranking the second of retail apps. Groupon app was the only new entrant to the list that year! Our app has 4.5 out of 5 review in Google app store thanks to our Developers, Quality Assurance Engineers, Product Managers, and Designers who worked together to ship high-quality features continuously. Seeing the app we work on every day is used and liked by so many people makes me feel really proud of our team and our work!

Tell us your Groupon journey!

I joined Groupon as an Android Developer one and a half years ago. Within this short time, I see a big difference in myself. When I first joined, I had limited experience in my field and my English was not as good, which made me a little bit shy. As time has passed, I have improved as a developer and much more. I’m able to drive a medium-size project across teams; working with Product Managers, Designers and unblocking other developers to ensure it ran successfully. I got to where I am today by conquering challenges one by one, always pushing myself out of my comfort zone. I have found other people’s help have contributed to my progress. My manager encouraged me to be more advanced software engineer and create opportunities for me to grow. Members in my team are really nice and helpful, I can always find a role model to learn from.

What was your first impression of Groupon?

At first, I didn’t know anyone in our company and I was a little nervous when I started. However, everyone in the Android team was super friendly. They welcomed me and made me feel like part of the team. People on my team are full of energy and passion, I feel the synergy as we work together.

“Senior developers also share their knowledge and help the junior developers grow. In return, the junior developers often provide new and creative ideas and assistant to them. We work well as a community.”

What’s unique about the Engineering culture here?

There is a lot that’s special about our Engineering department. Our company encourages us to attend many conferences to develop ourselves. Groupon wants us to learn and treasure the creativity within the engineering team. For example, we have a week-long hack-a-thon over the summer (GEEKon), for which we get to use company time to work on fun and collaborating and creative projects.

What’s your favorite programming language?

Java. The programming language for Android. It is easy to learn, platform independent, and has a rich standard library and vast community support.

What do you enjoy about your team’s Software Development process?

There is only one Android team with about 20 people in Groupon, so we work closely together. We have open office meetings to talk deeply about new changes in our codebase and book club meetings to learn new technologies. Beyond completing new features for new business requirements, I have the opportunity to work on refactoring with my senior developers. Senior developers share their knowledge and help the junior developers grow, and in return, the junior developers often provide new and creative ideas and assistance to them. We work well as a community.

Tell us a random fact about yourself.

My mom is a software engineer, but she actually didn’t want me to be a software developer, because she thinks programming is really hard due to the constant need to keep up with new knowledge and technologies. Eventually, I became a software engineer; I think it’s in my blood.

Daniel Molinero – Android Engineer

Daniel Molinero – Android Engineer

DANIEL MOLINERO REGUERA

Android Engineer
Palo Alto, CA
Joined: 2016

From Spain to Dublin to Palo Alto, one Android Engineer’s technology- and culinary-centric Groupon journey.

What’s your favorite Groupon memory?

The Christmas costume party! Last year in December, before I was transferred to Palo Alto from Dublin, I came to California for a couple of weeks to speak at an Android conference. Luckily, around the same time we had a 1920’s-inspired Christmas party. It was so much fun: playing casino games, wearing old-fashioned, elegant clothing, and dancing the Charleston!

Tell us your Groupon story!

I started working at Groupon 2 years ago as a Android Software Engineer in Dublin (Ireland). I loved that office, with a typical Irish telephone box inside! One year later, I moved to Palo Alto, where I continue working with the amazing Android team. Here, we develop the Groupon Android application: one of the top 25 apps in the US!

OK, so what was your first impression of Groupon?

Before joining Groupon, I had worked at smaller companies. So, my first day here I was amazed by the size of the company and how fast things move! For instance, I went from a team of 4 developers to one of more than 20 located around the world. Isn’t that great?

Tabs or spaces?

Of course spaces, how could you even ask that?

And vim or emacs? 

Vim, I am masochistic, but not so much…

Show us your favorite place to hang out at the office!

What do your parents think you do?

I have a very funny story about what my family thinks I do. My grandfather, 92 years old right now, is not really clear about what software is and what I do. However, he does know that I’m “good” at tuning his TV and at fixing “electronic stuff”. So from time to time, he suggests to me that in the future, if I decide to go back to Spain, I could open a store where I could fix TVs and other “electronic stuff”. According to him, that is a good money-making business!

What’s unique about Groupon’s Engineering culture?

This question is easy to answer… of course the people! I’ve never been around such a brilliant group of engineers who work together towards a same goal. Everybody is important here and it is easy to to feel part of the team.

Name your favorite programming language. 

My heart is divided between Java and Python. One the one hand, Java is THE language, with its powerful API, clear syntax and community. Moreover, it is the language used for Android development. On the other hand, programming in Python is enjoyable, fast and… the batteries are included! Usually I use both languages: Java for Android development and Python for scripts or webhooks.

Show us your work space!

What do you love most about your team’s Software Development process?

Something I really like is when we face a difficult problem and we work together to come up with a great solution. A good example of that is our contribution to the Open Source community. These projects came from challenging situations where we joined our strengths to create something unique. Some examples are: Toothpick, a dependency injection framework to inject dependencies in an easy and powerful manner, or Henson, a library that makes it really easy to create a robust navigation layer within an Android application.

Tell us a random Daniel fact. 

I am a better cook than an engineer! I love cooking and learning new dishes from all kinds of cuisines, specially Spanish and Asian. My favorite dishes are Gazpacho, a cold Spanish soup made from vegetables and Sushi… I am a sushi lover!

Groupon World Headquarters

Sviatlana – Software Test Engineer

Sviatlana – Software Test Engineer

SVIATLANA KHILKO

Software Test Engineer – Mobile Team
Palo Alto, CA
Joined: 2015

Almost 6,000 miles separate California from Sviatlana’s homeland of Belarus, where she started off as a lawyer only to eventually become an Engineer in Silicon Valley.

What do you love about working at Groupon?

I really enjoy volunteering with my teammates, as it makes me feel amazing to give back to the local community.

What was your first role here?

I joined Groupon as a contract test engineer two years ago and then joined as a full-time Grouponer, thanks to my peers, managers, and mentors! Initially, I was an STE1 and now I’m an STE3. All of the people I work with teach me something new and that helps both me and my team grow.

So what was your first impression of Groupon?

I was impressed with the level of people awesomeness around me! Every person is unique, very smart, professional, each of them has reach personality and impressive background I keep learning from. I was also impressed with the very well-documented and clear process! How easy it is to ramp up, how detailed the instructions, are and how helpful everyone is.

Tell us something that might surprise us about you.

My life philosophy is to move forward, learn, explore and find enjoyment in the process. I’m always open to new opportunities, people, and situations that I meet on my path. All this and even more I get as a Test Engineer: unpredictability, the need to understand every little detail, the opportunity to work with smart, talented, extraordinary people. I got into the testing in an unusual way: I was born, grew up in, and got Master’s Degree in Law in Belarus. For some time I was engaged in scientific research in this field. Then, I worked as an editor in chief for one of the publishing houses. Later, when the IT industry began to grow rapidly, I decided to try myself in a new role and I’m incredibly happy about making this transition. It’s so great to have the opportunity to change things in life, but at the same time to have my background which helps me a lot in my current role.

What do your parents think you do?

I’m originally from Belarus (small eastern European country) and of course due to generational, cultural, language, and other gaps, it’s very challenging for my mom to understand exactly what I’m doing. But what I know for sure is that my mom is very proud of me and happy that I found a place I really enjoy working in! She notices all the time that I’m growing (personally and professionally) and loves to hear all the stories about Groupon. She takes my job very seriously, so no funny quotes from her! But my son thinks that my work is so great because we always have Nutella in the kitchen 🙂

What’s unique about Groupon Engineering?

Respect. It doesn’t matter what role you’re in, you’ll be listened to and your opinions will be taken seriously.

What do you enjoy most about your role?

Testing! It’s so exciting to be the very first person to see new features in action and to put yourself in the customers’ “shoes.”

Groupon World Headquarters

How did these Engineering interns tackle Groupon’s giant code base?

How did these Engineering interns tackle Groupon’s giant code base?

Two interns-turned-employees share their experiences working at Groupon in both Engineering and Data Science.


What have you both been working on?

Sunil: I work with the Ranking and Personalization team in Palo Alto and we’re responsible for mining deals that are relevant to the customer. When you open the Groupon app on your phone or visit the desktop site, what you see, how you see it, and the order in which you see content is determined by the recommendation algorithms developed by this team. Every deal that shows up has to pass through a series of features, each of which does some processing, prediction, estimation, and finally assigns a score to the deal. The scores assigned by these multiple features are then combined to form a final score which determines the ordering of that deal on your homepage. Of course, there needs to be some way to make sure that the feature is actually improving user experience and is working for the benefit of the organization. And who would be a better audience to judge improvement in user experience than our users themselves? This is where the idea of live experiments fits in. All the features have to pass through an experimentation phase before they can be put into production.

Just like the deals, every user request also passes through a series of layers called “orthogonal layers.” This is the place where experiments are set up. When a user request passes through a layer, it decides what treatment the user will receive for that particular layer. It can be either the control treatment (baseline treatment which is running in production) or any of the experimentation treatment set up in the layer. The success or failure of an experiment is determined by comparing its performance with that of the control treatment. The percentage of traffic that will receive any particular treatment is adjustable. So usually an experiment starts with, say, 10% and then if results seem promising, it is ramped up to 50% and then finally to 100%. The most amazing part of the entire process, though? You get to know the approximate impact in the actual dollar amount of your individual work on the organization’s revenue. How cool is that?!

Nicholas: Pretty cool! I am also on the Ranking and Personalization team and I work on evaluating the performance of experiments and other changes to the ranking code. I own the performance testing tool which builds, deploys, simulates website traffic, and creates reports for the results. There are so many different orthogonal layers and experiments that all need to be compared, but there are simply too many to include in just one report. To make matters more complicated, each experiment has hundreds of metrics that all need to be considered to decide if an experiment is safe to add or ramp up. During my internship and my first two months as a full-time developer, I worked on building a self-service dashboard for scheduling and queueing performance test runs. Now that the dashboard is functional, I’m working on collecting runtime data with instrumentation and building infrastructure to support searching and visualizing all of the data we have available.

What are your favorite parts about working at Groupon?

Sunil: The flexible work environment and unlimited PTO policy are the top reasons I love working here. Of course both free lunch and paid lunch hours help, too. But it’s not just about the flexibility in free time, it’s also about the flexibility in the work that you do as a part of the team. There is freedom in the kind of work that you want to do, the projects that you want to work on, and the ideas that you think should be explored. 

Nicholas: My favorite part of Groupon is the scope and influence I have on the projects I work on. Since every code change needs a performance run, I’ve had the chance to work with most of my team members to schedule custom runs and help with debugging. I love being able to support all of my team members, and my work helps all of them to be more efficient. I appreciate being able to decide what tasks are the most important to meet the needs of my team. Also, the proximity to the Caltrain station is so convenient; the station Sunil and I both get on is next to the Stevens Creek trail, so I get to bike along the trail to work every day. 

What do you think you’ll both gain as new grads?

Sunil: There is a lot to learn about how the infrastructure is set up to manage a huge service such as ours: a lot of different technologies and languages that are used within the organization (two new languages already in my first two months) and the coding guidelines which are checked to ensure clean, sustainable, and functional code…especially for somebody who just graduated and is used to all sorts of nonsensical variable naming and structuring. There is also a lot to learn about how to build upon any ideas that you might have in mind and the ability to think out the entire process of transforming an idea to a feature in code.

Nicholas: Groupon is a great place to work because it has the resources of a large company, but there are so many important projects that a new grad like me can work on. I have encountered all sorts of challenges that need to be dealt with when scaling a small project to a reliable service. Many features that seemed trivial to implement at first required me to learn about different designs and frameworks that I never needed when my project was small.

What has your biggest challenge been so far?

Sunil: To be honest, I felt a bit intimidated when I first saw the enormity of the code base. This was during the middle of my internship when I had completed data analysis and offline model training and had to start getting my hands dirty to move the model online. I was running short on time before my internship would end because it had taken more time than planned to build a model due to some infrastructure as well as data sparsity hurdles. It took me quite some time—days, really—just to determine a starting point. After a couple of days of staring at this overwhelming code—and of course, with some help—I figured out where to start. I do think that staring at and absorbing the code inevitably helped because things started making more sense and I was able to launch an experiment with my feature just before my internship ended.

Nicholas: I was also intimated by the size of the code base when I took over the performance testing tool. I made sure to carefully test all of my changes before merging them in, and I recently decided to break the performance testing tool apart from the deployment tool. Now that the performance testing tool has become so important to us, there were many changes that needed to be made to make it reliable, customizable, and fully self-service. It was challenging to make all these large changes while keeping the service running for my team members to use; it’s hard to schedule downtime when everyone has changes they want merged! 

Most memorable experience so far?

Sunil: The time I found out that my first feature was about to be rolled into production was awesome. Right before my internship ended, I had just launched an experiment with the feature that I was developing at 20% traffic. When I joined full time, my first question to my team was, “how did it go?” And they let me know it went well. Later on, I saw the performance charts and then there was a presentation from the product team where they gave the exact million dollar effect that my feature had on revenue. That was quite memorable for me and satisfying to see the impact of my work on a large scale!

Nicholas: The holiday season is a tough time for most e-commerce companies, and the performance testing tool is very important for evaluating changes for holiday readiness. My most memorable experience was when my manager called me after Black Friday and told me that the Ranking and Personalization service was able to handle all the traffic we got as a result of my hard work. The tool allowed us to create a stable holiday readiness branch and made debugging performance issues much easier.

And finally… what drew you both to come back to Groupon as new grads?

Sunil: For me, it was really the kind of work that I had done during my internship. It was closely related to the specialization that I was pursuing in my Master’s degree. It was pretty much exactly what I wanted to do further in my career. 

Nicholas: I also enjoyed the work I did during my internship and I’m looking forward to applying some of the research I did as an undergraduate to allow for faster and more reliable performance run results. I chose to continue working at Groupon because it’s the best place for me to improve as a developer and it’s a place where I can have a large impact in my company.