Java Developer in Richfield, MN at APEX Systems

Date Posted: 3/8/2018

Job Snapshot

Job Description

Job #:  828803

Title: Developer (Specialty) IV

Duration: through 9/21

Work Location: Richfield, MN


Position Overview:


Responsibilities/Deliverables that the resource will be responsible for:

•  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


Skills Overview:

What are the MUST have skills that you are looking for in a candidate?

Must Have Skills:

•  10+ years of relevant application software development experience

•  Experience with large-scale distributed systems and client-server architectures

•  Developing Spring/Java/Maven applications

•  XP Practices including Pair Programming and 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-scale customer facing applications

•  Experience working with Groovy and Gradle

What are the technologies and the depth of the technologies that a candidate must have in order to be successful in this role?

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

What are the soft skills that you feel candidates must-have in order to be successful in this role?

•  Strong social and communication skills

•  Willingness to learn the domain

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 (Please include the date the manager would like to start interviewing):

30 minute phone interview follow by 90 minute in person for local candidates