R
Job Title: Intermediate Developer
Reports to: Practice Head: Java Solutions
ROLE OVERVIEWRolverview
DVT requires the long-term services for an Innovative Intermediate Java Developer with experience in building high performing, scalable, enterprise-grade applications.
You will be part of a talented technology driven software team that works on mission-critical applications. You will be responsible for Java/Java EE application development while providing expertise in the full software development lifecycle, from concept and design to testing.
KNOWLEDGE AND SKILLS
- Full understanding and implementation of the SDLC and design patterns
- Proven hands-on Software Development experience
- Proven working experience in Java development
- Hands on experience in designing and developing applications using Java EE platforms
- Object Oriented analysis and design using common design patterns
- Unit testing, integration and functional testing
- Using version control systems – Git, SVN, TFS
- Understanding of Solution Architecture
- Scrum Master role understanding
- Solutions design and implementation
- Improving the design of existing code
- Keep up to date with technology
- Ability to Multitask
- System design and analysis
- Ability to conceptualise and simplify complex problems
- Ability to read and write specifications
- Good communications skills
COMPETENCIES
competencies
- Strong written and oral communication skills
- Creative eye for details
- Positive attitude
- Able to multitask effectively
- Display excellent time management, task planning and prioritisation skills
- Able to adapt quickly to changing client requirements
- Able to work effectively with minimal supervision
- Java systems development experience using core Java Enterprise edition
- Knowledge of OO design principles and enterprise design patterns.
- Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management, etc)
- Agile environment
- Experience in developing web applications using at least one popular web framework
- (JSF/Primefaces, AngularJS, Wicket, GWT, Spring MVC)
- Experience with XML/XSD/JAXB and Web Services (Soap & Rest).
- Experience in the Spring Framework, EJB3
- Javascript, CSS and HTML etc
- Excellent knowledge of ORM technologies (JPA, Hibernate)
- Solid working knowledge of Relational Databases, SQL and Data Model
- Experience with Test-Driven Development (TDD)
- Agile/Scrum background experience would be a value add
ATTITUDES
ATTITUDES
- Passion for people
- Work in a team environment
- Delivery focused
- Professionalism (conduct and appearance)
- Show initiative
- Awareness of the environment
- Motivated
- Work to achieve tight deadlines
- Ability to work under pressure
- Enthusiastic and committed
- Develop Java application software
- Assist with the production of technical specifications and designs
- Design and develop high-volume, low-latency applications for mission-critical systems, delivering high-availability and performance
- Contribute in all phases of the development lifecycle
- Write well designed, testable, efficient code
- Ensure designs are in compliance with specifications
- Prepare and produce releases of software components
- Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review
- Collaborate with other team members and stakeholders
QUALIFICATIONS
alQualificationsifications
- Preference: BSc/ BSc Hons/ MSc degree in Computer science, Software engineering or a related field of study
- Matric, A or O levels
- 4 - 5 years’ experience in java software development
- Preferably in a banking, insurance or telecoms industry
- Experience in SDLC methodologies such AGILE (SCRUM)
TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED:
- Hands-on experience with Spring Core Framework
- Hands-on experience building RESTFul API using JAX-RS implementations
- Hands-on experience in using JSON, YAML and Swagger
- Strong understanding and experience using Containerization (Docker)
- Working understanding of UI frameworks like Angular or ReactGood
- understanding of NoSQL DBs (MongoDB, Elasticsearch, Hazelcast etc) and Caching
- Hands-on experience in Static Code Analysis (SonarQube, JaCoCo)
- Hands-on experience in implementing Test Driven Development (TDD) using JUnit and Mockito
- Hands-on experience building SOAP API using JAX-WS implementations
- Hands-on experience in defining and building OpenAPI (v3 and above) API contracts
- Hands-on experience with Spring Boot and maven spring starter dependencies