Intermediate Java Developer CT

Intermediate Java Developer
Based in Cape Town
Remuneration will be tailored according to relevant technical experience

Overall purpose of the job:

Modifies, develops, tests and maintains applications. Helps evaluate application systems, processes and requirements, makes changes to those systems and maintains them where necessary.

KEY RESPONSIBILITIES

  • Work as part of a project team to develop and test enterprise-ready business applications in a variety of configurations (e.g. web-based, desktop-based, service-based or scheduled processes)
  • Help produce brand new solutions, solutions based upon third-party applications, or solutions that interact with existing legacy systems. Is aware of, prepared to learn and follow industry best-practice when developing applications
  • Use programming languages and tools (generally) around the Java platform
  • Work with Business Analysts to specify business requirements, and help translate these requirements into technical specifications (including Class, Sequence and other UML diagrams)
  • Help Database Developers write efficient and effective database access code
  • Work with QA Analysts to implement testing plans and write the necessary code to automate testing in line with our Test-Driven Development methodology
  • Work with customers and project managers to deliver quality, effective software, in line with our Agile Development process
  • Help diagnose the root causes of systems issues using their problem-solving skills
  • Help research and evaluate potential technical solutions to business problems


Personal Attributes / Character traits required for this job

  • Strong communication skills, both written and verbal
  • Good judgement and experience of prioritising and working to tight deadlines
  • Ability to learn fast and share knowledge, experience and best practices with team mates
  • Willingness to take responsibility and ownership of their work
  • Empathise with customers and communicate at the appropriate level
  • Appreciation of their position within the wider roles & responsibilities of the DPS community
  • Ability to work under pressure
  • Practical approach to problem solving
  • Able to document information and share knowledge with colleagues
  • Follows a structured approach to their work
  • Personal drive to succeed


JOB SPECIFICATION

Education and General Working Experience:

  • Ideally an IT Diploma or related Degree will be an advantage but is not essential

  • Proven Java experience of at least 3 – 5 years of professional development experience

  • Candidates with more or deeper development experience are welcome to apply

  • Remuneration package will be tailored according to relevant technical experience

  • Development experience in a Scrum based Agile environment will be an advantage

  • Exposure to BDD/TDD will be a definite advantage

  • Exposure to Enterprise development will be a definite advantage

  • Exposure to object-oriented design concepts will be an advantage


PLEASE NOTE THE FOLLOWING:

  • Candidates must be willing to relocate to Cape Town at their own expense if living outside the Western Cape

  • Clean criminal record required

  • Applications will only be considered from RSA Citizens or applicants with permanent resident permits


Technical skills required:

The following represents a list of the technologies the incumbent will be required to operate in. Being proficient in a good deal of these technologies will qualify you to apply for this position as knowledge of the complete stack will be an advantage but is not essential.

SKILL SET SKILL

Java

Basic JSE API (to v7)

GUI Development (Swing / SWT)

Java 5.0 Language Fundamentals

JDBC

Servlets

 

JAXP / JAXB

 

Logging frameworks (SLF4J, Log4J)

JMX

 

EJB (MDBs)

JSP & HTML (incl v5.0)

JSP Custom Tags

JavaScript / AJAX

AOP

Caching mechanisms (ehCache)

Frameworks

Web Frameworks (Struts/JSF,PrimeFaces)

 

Spring (Core, Boot, Web, Remoting, Security etc.)

 

ORM Concepts and Frameworks (Specifically myBatis)

WebServices (SOAP, REST)

 

XML

Core Concepts

XPATH

DTD/XSD

XSL (XSL:FO)

Databases

Core RDBMS Concepts

Oracle

DB/2

MS SQL Server

Tools (TOAD/Squirrel)

 

SQL 

Schema Design

 

DBA / Tuning / Performance

Core NoSQL Concepts

Mongo DB 

 

 

 

 

Mobile Dev

iOS Development

Android Development

Cordova Framework

Angular.jar

App Design

 

 

 

OOA/D

 

Design Patterns (GoF)

 

Enterprise Patterns

 

Application Architecture

Technical Architecture

 

Tools

SSH/Telnet

FTP

SCP

Editors (Vi etc.)

 O/S

Windows - Desktop & server

Linux

 

 

 

   App Servers

Tomcat

Websphere (including Admin)

 

 

Messaging /

JMS

Integration

IBM MQ

 

Integration Frameworks (Apache Camel)

 

 

General Dev.

Eclipse IDE

 

Source Control Tools (CVCS & DVCS e.g. Mercurial)

Unit Testing Concepts (JUnit, Mockito etc.)

Continuous Integration (C/C / Jenkins)

Ant / Maven

 

Application Profiling, Tuning & Debugging

Estimating

 

Retail Business Domain Knowledge

Scripting

Python / Jython

Shell Scripting

 

 

Process

Agile - SCRUM

 

TDD/BDD/Specification-by-Example

 

Distributor Source Management Processes

 


CERTIFICATIONS

  • Oracle Entry-Level Java Programmer

  • Oracle Java Professional Programmer

  • Oracle Java Application Developer Expert

  • Oracle Java Performance Tuning & Optimization Expert

  • Oracle Experienced Java Programmer / Developer