Senior Scala Software Engineer
Rewards Network (RN) is seeking a Senior Scala Software Engineer to work with a team of peers to build out a new business area and rewards platform from the ground up. As a member of the team, you will work closely with other software engineers, BAs, and stakeholders to design and develop a new rewards fast data platform and all the supporting applications. We are looking for a passionate problem solver that is highly focused, agile, and who thrives in a fast-paced, collaborative and team-centric environment using the latest technologies.
What You’ll Be Working With
- Underlying architecture: AWS Serverless Offerings, Mesosphere, Docker, OSX, Linux
- Technologies: Scala, Akka, Kafka, Spark, Elasticsearch, SQL, HDFS, Reactive Platform, Confluent Platform
- Tools: IntelliJ, GitLab, Team City, CloudFormation, Slack, Kibana
Duties and Responsibilities
- Work with a team of peers to architect, design and implement our new platform and supporting applications in the latest technologies.
- Apply technology to strategically solve business challenges.
- Identify, research and implement new technologies that improve efficiency, responsiveness, resiliency, and/or ease of development.
- Actively participate in and help evolve all adopted Agile/Lean/Kanban practices such as: TDD (Test Driven Development), BDD (Behavior Driven Development), stand-ups, retrospectives, continuous delivery, and knowledge sharing across team members.
- Aggressively and proactively test software throughout the development cycle using a TDD mindset - including unit testing, functional testing, load testing and automation.
- Collaborate with Quality Assurance engineers in test case construction, issue identification, as well as remediation and automation.
- Continuously improve, refine, and refactor software.
- BS in Computer Science (or equivalent experience)
- 5+ years of general development experience
- 2+ years of development using Scala or other functional languages
- 2+ years of development using Akka or similar frameworks
- 2+ years of experience on an Agile delivery team
- Understand, articulate, and conform to core functional and OOP programming principles.
- Experience with industry standard design patterns
- Experience working with and designing RESTful microservice architectures
- Experience with Continuous Integration and Continuous Delivery using Git, Team City or similar tools
- A commitment to developing solid, tested, high performing valuable software
- Excellent written and verbal communication skills
- Ability to collaborate with a wide variety of people with varying technical skill sets and business knowledge
- Excellent problem solving and troubleshooting skills. Must be able to quickly assess problems and determine proper steps to resolution.
We connect diners to fantastic restaurant experiences by offering unique card-linked offers thanks to our ability to leverage advanced technology and powerful data analytics, while simultaneously providing value to our strategic partners' overall loyalty programs.
We work alongside our restaurant partners every day, sharing in the ebbs and flows of their business while helping them achieve their dreams. We provide marketing and financing that work with their business and are truly pay-for-performance. We help them increase revenue, traffic, and customer engagement. Importantly, our services do not require the merchant to discount or give away their products.
Even more, we enhance our partners' loyalty programs by offering a turn-key, scalable dining rewards program that is right for their business model and leverages their unique brand to help increase the value proposition for their customers.
Finally, we connect our millions of members to our participating restaurants, allowing them to earn the rewards they desire when dining out.
Rewards Network is an Equal Opportunity Employer (EOE). We encourage and strongly support workplace diversity.
Read Full Job Description