Software Engineer – Geographic Redundancy

Chicago, IL, US

Job Description / Skills Required

Groupon’s engineering teams are building the products and applications that make Groupon the daily habit in local commerce. We have created a vast mobile and online marketplace where people discover and save on amazing things to do, see, eat and buy. We work in small collaborative teams to architect massively scalable and reliable systems, using a variety of technologies and development practices.

You'll be working with a distributed team of experienced engineers to design and implement the infrastructure, visualization and monitoring that ensures that Groupon services operate effectively and reliably in a geo-distributed fashion.

Who you are:

Customer-focused. We believe that doing what’s right for the customer is ultimately what will drive our business forward.

Fast learners. We are bold and willing to disrupt our existing business to trial new products and solutions. You thrive on figuring out new product needs in rapidly evolving consumer markets. You love learning how to use new technologies and then rapidly apply them to new problems.

Scrappy. We are willing to do things quickly to learn what our customer’s desire. You know when it’s appropriate to take short cuts that don’t sacrifice quality or maintainability.

Have strong business acumen. Engineers at Groupon know how to move the needle on the business. You understand how to build software when the requirements are not always clearly specified.

Proud to ship. Shipping code is much harder than just writing it. You feel ownership of your code and don’t consider it “done” until it’s really done including documentation for operations, production monitoring, and proper test coverage.

Team players. We believe that more can be achieved together. You listen to feedback and also provide constructive criticism for others to improve.

Your technical qualifications:

A deep understanding of HTTP-based SOAs and common mechanisms used to enable highly-available, distributed systems.

Excellent communication skills and a collaborative instinct; you'll be working with a variety of engineering teams ranging from network operations to mobile application developers.

The ability to trace and resolve problems through multiple layers of the network and application stack.

Critical thinking to identify points of failure and the ability to harden systems for resiliency.

Experience working in a distributed team with minimal supervision.

5+ years in software development.

We love open source and big data, and we rely on Hadoop, Hive, Spark, Storm, and Kafka. MySQL, PostgreSQL, and Redis are heavily used. REST, JSON, and HTTP power our micro-service architecture, which primarily consists of applications utilizing Java and Ruby frameworks.