Software Engineer - Backend

Posted Date: Sep-29-2021

Job ID: 21699

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

At REI we help our more than 5.5 million members have amazing outdoor experiences. It’s an exciting time as we’re rapidly changing to better meet our customer’s needs. We've set some lofty goals and the challenges that lie ahead are focused on providing exceptional gear and experiences to our members.
We currently have an exciting opportunity for a backend Senior Software Engineer to join our Search Platform team. In our team are avid climbers, hikers, campers, cyclists, musicians, artists and more that all have a passion for technology. This team is responsible for the Search platform and features that power We are always working to improve our search results and experience for our customers. We invite you to join us on our journey. Bring your passion, curiosity and respect for your fellow humans and join a talented and innovative team focused on making our Search platform and experience 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.
  • Ability to participate in on-call rotation for 24x7 service requirement.
  • 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 provide direction, training, and guidance for less experienced departmental staff.

Bring your passion and expertise

Required Qualifications 
  • 5+ years in professional software development, proficiency in Java (8+)
  • 3+ 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
  • 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. 
  • Search experience (Solr, ElasticSearch)
  • 2+ years writing persistence layer code with JPA, Hibernate, Spring Data or similar
  • 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, EKS, RDS
  • JVM performance tuning, memory and thread analysis
  • Distributed and/or off-heap caching solutions – Redis, Infinispan or similar

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

ARTICLE 23-A, Section 753

§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.