Previous Job
Developer Specialty III
Ref No.: 18-00065
Location: Richfield, Minnesota
Position Type:Contract
Start Date: 05/22/2018
Job Title: Developer Specialty III
Job Location: Richfield, MN
Job Duration: 6 Months

Client: Best Buy
Job ID: 7672-1

HackerRank Process:
Java during in person interview

Business Overview: This role is on one of the Dotcom teams at The Dotcom department focusses on building out the backend services and front-end components for Most of the Dotcom Platform teams own a certain core responsibility. This opening is for the Fulfillment Services team that is responsible for managing the fulfillment services and its front-end components.

Project Description:
In this role, you will be a critical member of the team building the Fulfillment Services for Best Buy's eCommerce platform. You will support and extend running applications & assist in the design and development of new applications that have significant impact. You will be expected to evaluate and refactor in a rapid manner for every part of our infrastructure. Overall knowledge of designing an application to run on a scalable platform is expected. You will be working in an agile environment. Test driven development and pair programming are something we value a lot. We are evolving towards a DevOps model, with our development teams engaged in monitoring, optimizing and supporting our production environments. We have many projects running in parallel including Cloud technologies, Infrastructure automation, and REST based web applications.

  • Building highly scalable and available RESTful services utilizing Java and Groovy
  • Writing automated tests and building out the frameworks needed for enabling automated testing.
  • Aggressive refactoring of existing to code
  • High comfort level with Unix/Linux command line
  • Object Oriented Programming and Service Oriented Architecture design

Required skills:
. 8+ years of relevant application software development experience
• Experience with large-scale distributed systems and client-server architectures
• Developing Spring/Java/Maven applications
• Aggressive refactoring
• High comfort level with Unix/Linux command line
• Strong unit-testing skills (JUnit in particular)
• Object-oriented programming and experience with Design Patterns

Nice to have skills:
  • Experience as a Technical Lead on a large application development project
  • Pair Programming
  • Test Driven Development (TDD)
  • Experience working in a Continuous Integration environment
  • Experience with functional testing frameworks

Priority Skill:
  • 4 Java/Groovy
  • 4 Spring Framework
  • 4 Agile/XP development
  • 4 Unit testing (JUnit/Mockito/Spock)
  • 3 Refactoring skills
  • 3 Maven/Gradle
  • 2 Memcached

Prescreening Questions
  1. Based on your experience, what is your most and least favorite thing about pair programming?
  2. As a senior engineer, what processes, procedures and tools would you implement for efficient and quality team development? Be prepared to justify your selections during an interview.
  3. What is refactoring and when do you know you have to refactor your code?
  4. How do you keep current with emerging trends, tools, and technologies in the software industry?

Interview Process Overview
30 minutes phone interview follow by 90 minutes in person for local candidates