Joe:

IN GENERAL
Joe had a very good knowledge of most areas covered. The only area where he struggles a little was Agile. He does know agile and hes worked in a semi-agile environment. He is very keen to improve his knowledge here. In general he has a well rounded skills set. He was a firm yes

JAVA & OBJECT ORIENTED PRINCIPLES
He was aware of .war files an answered easily what they are used for. He was able to describe frameworks , saying that they make software development easier, he pointed out that he has used spring extensively and it uses annotation in order to know how to call your code. This is a full explanation. He was familiar with design patterns and we discussed both the Factory and Singleton pattern. Hi did not get the difficult question about singletons right, but he is definitely a competent Java programmer. No problems here.

JAVASCRIPT
Joe used Javascript extensively. He is as good at this as Java. He has not used it on the server side though, so he will still benefit from the MEAN course.

BASIC TEST DRIVEN DEVELOPMENT (TDD)
He has not used TDD but has heard of it. He understands some of the principles and in his current role he asserts that it has been hard to convince management of its benefits - a common issue. In terms of testing generally, he is aware of unit and integration testing, what they are and how to use them properly. This should not be a problem for Joe.

AGILE METHODOLOGY
Joe has worked in a loosely Agile environment, he is aware of planning but not of story points. They have 2 week sprints but they are not always fixed at 2 weeks (so not "proper" in that regard). He understands some of the ceremonies but the impression I get is that senior management have been restricting the ability of his team to work in a fully agile way. His knowledge of this is easily good enough and he is keen to work in a better agile environment like that in DWP and HMRC.

RESTFUL WEB SERVICES
He has used REST extensively and has integrated systems in many environments using both REST and SOAP. He has not heard the phrase "verbs" but nonetheless he did know what they were when they were described to him and could explain how they operated. he has a good level of knowledge here, no problems.


SOURCE CONTROL MANAGEMENT

He is aware of source control management and has used SVN and GIT without issue.

CONTINUOUS INTEGRATION (JENKINS OR EQUIVALENT TOOL)

He has not used CI extensively, but he was aware of how it operates and had used it a little. He explained how it integrates with maven and automates deployment to different environments. This level of knowledge is not a problem, but he will not be the CI expert on the team.

BUILD AUTOMATION (ANT, MAVEN, GRADLE)
He is well aware of ant and Maven and has used both. We had a lengthy conversation regarding Maven where it transpired that Joe had misunderstood one of it's fundamentals. He could do with improving his theoretical knowledge of Maven. This will not present a practical problem.

CSS + HTML5

Has used CSS and HTML extensively as part of his JSP work. He has no HTML5 knowledge.