Software Engineer (Salt Lake City Based)

  • 1012 W. Beardsley Place, Salt Lake City, Utah, United States
  • Full-time

Company Description

At Access, we believe great things happen when people come together. Our discount and rewards solutions are designed to connect three very important groups: organizations, their members, and the merchant community. 

The result? Everyone wins. Merchants tap into the affinity members share with their organizations. Organizationscreate loyalty and generate revenue. And members are happy because they save money.

Access employees enjoy a flexible, friendly, people-oriented work environment with all-employee parties, activities that include family and friends, employee recognition, a fantastic nationwide employee discount program, and a strong focus on career development.  

Job Description

Access is looking for top-notch software engineers who are passionate about developing software for the JVM. We are primarily a Java/Spring shop, but we do maintain Scala/Akka Streams applications. 

The Software Engineer is involved in the design, architecture and development of REST API micro-services, web applications, and other software solutions used by millions of customers.

All of our applications are hosted by Amazon Web Services.  Our build server is Jenkins.  Our continuous delivery pipeline is powered by CodePipeline/CodeDeploy.  We communicate via Slack and our issue tracker is JIRA.

Access Development is the best-kept software secret in the Wasatch Front.  We're big believers in the OKR approach to getting things done.  A software project begins with an idea, which can come from anyone in the company.  Our Product team vets the concept by building mockups to test actual users, interviewing customers, and evaluating risks. The result is a well thought out product that stands a fighting chance of success before we write a single line of code.

We have the best work/live balance of any software company.

This position is based in our Salt Lake City office next to the beautiful Jordan River trail system.  We are looking for a Temporary Software Engineer with the possibility of continued employment. 

JOB RESPONSIBILITIES: 

Work with small, cross-functional, and co-located (sit together) teams to architect, design and implement high quality software solutions.

QUALIFICATIONS:

  • Bachelor's degree in Computer Science or related field; or equivalent experience.
  • 4-6 years relevant web/api application development experience, including:
  • 4+ years’ experience developing with Java applications
  • 2+ years’ experience with Spring Boot.
  • Experience designing and building RESTful APIs.
  • Experience with Linux in a server environment.
  • Experience with Linux in a server environment.
  • Experience with developing JDBC or ORM DAOs.
  • Experience with message systems, such as RabbitMQ.
  • Demonstrable problem-solving skills.
  • History of working as a team player in a dynamic environment.
  • Version Control Systems
    • Git proficiency with the command line (no GUI).
      • Checkout, branch, commit, PR, push, merge.
      • Merge conflicts, rollbacks.
      • Experience wit h GitFlow (or similar) version control branching model.
    • Languages/Frameworks
      • Java, Spring Boot
        • Spring Data, Spring Security, Lombok.
      • Build Systems
        • Gradle
          • Clean, build, test, skip test, publish.
        • Maven
          • Clean, build, test, install.
          • Online vs. offline.
        • Jenkins competency.
          • Navigate Jenkins. View build reports, console logs.
        • Linux Command Line Competency
          • Terminal
          • Ssh, folder navigation, basic commands.
        • Relational Databases
          • Select, insert, update, delete.
          • Inner/outer joins. Create database, schemas, tables, sequences.
          • Competency with Flyway DB
        • AWS
          • Console navigation, S3 navigation, SDK connection to S3 resources.
        • Software Design
          • Feature flags.

Nice to have:

  • Scala/Akka
    • SBT
  • Experience working in an agile Kanban environment
  • Familiarity with PostgreSQL

Qualifications

QUALIFICATIONS:

  • Bachelor's degree in Computer Science or related field; or equivalent experience.
  • 4-6 years relevant web/api application development experience, including:
  • 4+ years’ experience developing with Java applications
  • 2+ years’ experience with Spring Boot.
  • Experience designing and building RESTful APIs.
  • Experience with Linux in a server environment.
  • Experience with Linux in a server environment.
  • Experience with developing JDBC or ORM DAOs.
  • Experience with message systems, such as RabbitMQ.
  • Demonstrable problem-solving skills.
  • History of working as a team player in a dynamic environment.
  • Version Control Systems
    • Git proficiency with the command line (no GUI).
      • Checkout, branch, commit, PR, push, merge.
      • Merge conflicts, rollbacks.
      • Experience wit h GitFlow (or similar) version control branching model.
    • Languages/Frameworks
      • Java, Spring Boot
        • Spring Data, Spring Security, Lombok.
      • Build Systems
        • Gradle
          • Clean, build, test, skip test, publish.
        • Maven
          • Clean, build, test, install.
          • Online vs. offline.
        • Jenkins competency.
          • Navigate Jenkins. View build reports, console logs.
        • Linux Command Line Competency
          • Terminal
          • Ssh, folder navigation, basic commands.
        • Relational Databases
          • Select, insert, update, delete.
          • Inner/outer joins. Create database, schemas, tables, sequences.
          • Competency with Flyway DB
        • AWS
          • Console navigation, S3 navigation, SDK connection to S3 resources.
        • Software Design
          • Feature flags.

Nice to have:

  • Scala/Akka
    • SBT
  • Experience working in an agile Kanban environment
  • Familiarity with PostgreSQL

Additional Information

While this job description attempts to describe the essential functions of the position, it does not prescribe or restrict the tasks that may be assigned. It does not restrict management’s right to assign or reassign duties or responsibilities to this job at any time. 

We recognize people as our most valuable asset. Your contributions will be valued and celebrated by a closely-knit team that is committed to excellence. We offer competitive wages, and benefits package includes medical insurance, prescription drug coverage, a lifestyle discount program for personal/family use, a 401k and profit sharing plan, paid holidays and personal time.

To apply for this position, please complete an Initial on-line Job Application and attach your resume and cover letter expressing why you are a great fit for this position at http://www.accessdevelopment.com/careers/

Access Development is an equal opportunity employer committed to hiring a diverse workforce and sustaining an inclusive culture. Access Development does not discriminate on the basis of disability, veteran status or any other basis protected class under federal, state or local laws.

All your information will be kept confidential according to EEO guidelines.

Access has been a leading provider of loyalty programs worldwide since 1984. We leverage the world's largest private savings & discount network to drive customers to retailers, create loyalty for organizations, and help their members and customers save money every day. Our employees enjoy a flexible, friendly work environment, competitive wages, excellent benefits, and employee discounts nationwide.