Java Developer in Richfield, MN at APEX Systems

Date Posted: 5/19/2018

Job Snapshot

Job Description

Job #:  841400


Title: IT - Developer (Specialty) III

Duration: Projected through 11/2/18

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?

Job Requirements

. 10+ 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

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