Company Description
Headquartered in Chicago, IL, Rewards Network powers the leading dining rewards programs in North America. Thousands of restaurants benefit from the financial and marketing services provided by the company, which include access to capital and numerous promotional programs via email, mobile and social media.
Rewards Network offers its dining programs in partnership with major airline frequent flyer programs, several of the nation’s largest bank card issuers, numerous key players in the loyalty marketing industry and dozens of national corporations. Our millions of active members include frequent flyers, corporate cardholders and a pool of diners who spend hundreds of millions of dollars annually at participating restaurants
Job Description
Rewards Network (RN) is seeking a Senior Software Engineer (Java) to help us develop key products to support the company’s business strategy. As a member of the Consumer Development Team, you will work closely with stakeholders, business analysts, other software engineers and teams throughout Rewards Network to design and develop web sites and applications aligned with business requirements. The Senior Software Engineer (Java) will perform new development as well as escalated product support. 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.
Essential Duties and Responsibilities
Works with a team of peers to architect, design and implement new application or feature sets in support of strategic business and IT initiatives
Actively participates in all adopted Agile activities such as stand-ups, retrospectives, Continuous Delivery, TDD, ATDD, BDD (Behavior Driven Development) and knowledge sharing across team members.
Participates in tasking sessions with delivery team
Wants to be in a collaborative, trust-based, team-centric environment.
Aggressively and proactively tests software throughout development cycle; inclusive of functional/unit-testing, and TDD (Test Driven Development).
Documents design, and release notes with “just enough” documentation to support future development and operations staff
Collaborates with Quality Assurance engineers in test case construction, issue identification, and remediation
Continuously improves, refines, and refactors software
Participates in the resolution of challenging and demanding problems across a number of technical topographies
Ongoing product support and maintenance escalated from Support team
Participates in the evolution and practice of Agile/Lean best practices
Qualifications
Bachelor’s in Computer Science or comparable experience
Key Skills for Success
Excellent communication skills
Goal-oriented and highly motivated
Willingness to collaborate, share knowledge and learn from others
Ability to stay current on new technologies
Willingness to experiment, learn, adapt
Ability to work well under pressure
Ability to learn quickly and leverage past experience to offer new ideas and initiatives
Willingness to develop domain expertise
Qualifications
Technical Skills for Success
5+ years of Java enterprise programming preferred
2+ years working on an Agile delivery team
Understands, articulates, and conforms to core OOP principles
Understands, utilizes, and leverages core Java architecture
8+ years of web-based development experience
Experience with J2EE design and implementation, Spring Core (Dependency Injection, AOP, JDBC), Spring MVC, JUnit, Mockito, EhCache, JSPs, Servlet, Apache, Tomcat, Rest, JSON, SOAP, DWR, XML, SQL, Apigee and Linux.
Experience with industry standard design patterns
Experience with Team City, Git, Chef, IntelliJ a plus
A commitment to developing solid, tested, high performance software
Experience working within/constructing service oriented architectures is preferred
Experience in a pair programming environment highly preferred, or the willingness to learn
Excellent written and verbal communication skills are required. Ability to work well with a wide variety of people with varying technical skill sets and business knowledge is required.
Comfortable offering input across requirements phases and distilling the product into MVPs (Minimum Viable Products)
Excellent problem solving and troubleshooting skills. Must be able to quickly assess problems and determine proper steps to resolution.
Experience with running Tomcat & Apache in a clustered production environment
Additional Information
All your information will be kept confidential according to EEO guidelines.