Senior Software Engineer - Membership & Impact

Posted Date: May-17-2021

Job ID: 20143

Job Type: Full Time

Job Function: Information Technology

City: Seattle

State: Washington

Store: Seattle HQ

Remote Eligible: No



Please visit the Covid-19 Hiring Updates before applying


What's cool about this job

We currently have an exciting opportunity to join our Membership & Impact team as a backend Senior Software Engineer. This team is uniquely positioned to have a significant impact both to REI and our larger world. Members are at the heart of the Co-op, and this team works in systems across REI’s digital landscape to elevate the experience and benefits of being a member. We are also responsible for the greenfield development of web application systems to enable REI, our members, and our customers to protect, support, and advocate for the outdoors. We've set some lofty goals and the challenges that lie ahead are many and diverse but staying true to our values in action - "we go further together". We invite you to join us on our journey. Bring your passion, curiosity and respect for your fellow humans and join a talented team focused on making our Experiences offerings the best on the planet


  • Analyzes, designs, develops, implements, documents and maintains application systems, working on moderately complex to highly complex work tasks or project assignments.
  • Gathers, analyzes and translates business and non-functional requirements into a solution design. May lead meetings to define business requirements and technical solutions. Executes tasks, estimates resources, establishes timelines and prioritizes work.
  • Designs, develops to specifications and maintains application code in accordance with the current development and project management methodologies and best practices.
  • Manages work assignments according to current project methodologies or as directed. Prepares required documentation for the portion of work assigned. 
  • Consults with Quality Assurance and Business Analysts in the development and execution of test plans.
  • Provides technical assistance and problem resolution for assigned systems. Leads resolution of production support problems in accordance with problem management policies and procedures. Leads resolution of production support incidents in accordance with incident management policies and procedures. Coordinates with vendors for problem resolution and change requests.
  • Provides technical guidance to ensure that installed systems are working effectively and that proposed systems will meet organization’s future needs.
  • Identifies and provides recommendations for system process improvements.
  • Ensures smooth implementation of new technologies and vendor integrations by using their expertise on their assigned domains and interfaces.
  • May act as a source for direction, training and guidance for less experienced departmental staff.

Bring your passion and expertise


Required Qualifications 
  • 5 - 7+ years in professional software development, proficiency in Java (8+)
  • 3 – 5+ years in web application development, including experience working in enterprise applications with many interconnected systems.
  • 2+ years Agile development experience. 
  • 5+ years working with build tools such as Maven, Gradle or Ant
  • 5+ years working with source/version control systems such as Git, SVN, CVS
  • 3+ years working with Relational Databases and SQL such as Oracle, MySQL, PostgreSQL
  • 3+ years writing unit tests with frameworks such as Junit, TestNG or similar
  • 2+ years writing code leveraging Spring MVC, Spring Boot, Spring Framework
  • 3+ years writing unit tests with mocks utilizing mocking frameworks such as Mockito, Easymock
  • 2+ years working with CI/CD pipelines
  • 3+ years designing and building RESTful APIs with tools like JAX-RS, RestEasy, Spring RestTemplate, Spring RestController or similar
  • 2+ years writing persistence layer code with JPA, Hibernate, Spring Data or similarIndividual Contributor Template Page 2 of 2
  • 3+ years scripting experience with BASH or other shell
  • 5+ years debugging and troubleshooting software defects in both local and remote environments.
  • A proven track record of working with business partners to communicate a perspective on technical complexity, feature dependencies, impacts and risks.
  • Demonstrated ability to coordinate tasks among team members and drive small projects or project components.
  • Communicates effectively in both verbal and written means.

Preferred Experience 
  • Bachelor's degree or higher in Computer Science or equivalent experience. 
  • 2+ years working in microservices architecture and containerization (Docker)
  • 2+ years working with enterprise logging systems such as Splunk, Kibana or similar
  • 2+ years working with backend metrics and monitoring systems such as Grafana, NewRelic, Graphite or similar
  • AWS technologies such as SQS, SNS, S3, ECS, RDS
  • JVM performance tuning, memory and thread analysis
  • Experience working with Sterling/OMS.
  • Distributed and/or off-heap caching solutions – Redis, Infinispan or similar


#LI-BS1

At REI we offer an enviable work environment that Fortune Magazine has recognized on the "100 Best Places to Work" list since the award's inception – 23 years in a row! Sure, we work hard, but it’s balanced with time off to play—a strategy that works for us as we continue to grow and thrive. Want to enjoy a workplace where you can be yourself, be heard and be respected while having a job that challenges you? This is the place.

With more than 160 retail locations (and growing), REI offers unique competitive benefits to its more than 15,000 employees, including healthcare, gear and apparel discounts, free equipment rentals and challenge grants to help employees reach personal outdoor goals, generous retirement plan contributions, public transit subsidy, adoptions assistance, paid sabbaticals, and more.

REI is an Equal Opportunity Employer

NEW YORK CORRECTION LAW
ARTICLE 23-A, Section 753
LICENSURE AND EMPLOYMENT OF PERSONS PREVIOUSLY CONVICTED OF ONE OR MORE CRIMINAL OFFENSES

§753. Factors to be considered concerning a previous criminal conviction; presumption.

1. In making a determination pursuant to section seven hundred fifty-two of this chapter, the public agency or private employer shall consider the following factors:

(a) The public policy of this state, as expressed in this act, to encourage the licensure and employment of persons previously convicted of one or more criminal offenses.

(b) The specific duties and responsibilities necessarily related to the license or employment sought or held by the person.

(c) The bearing, if any, the criminal offense or offenses for which the person was previously convicted will have on his fitness or ability to perform one or more such duties or responsibilities.

(d) The time which has elapsed since the occurrence of the criminal offense or offenses.

(e) The age of the person at the time of occurrence of the criminal offense or offenses.

(f) The seriousness of the offense or offenses.

(g) Any information produced by the person, or produced on his behalf, in regard to his rehabilitation and good conduct.

(h) The legitimate interest of the public agency or private employer in protecting property, and the safety and welfare of specific individuals or the general public.

2. In making a determination pursuant to section seven hundred fifty-two of this chapter, the public agency or private employer shall also give consideration to a certificate of relief from disabilities or a certificate of good conduct issued to the applicant, which certificate shall create a presumption of rehabilitation in regard to the offense or offenses specified therein.