Intermediate Java Developer (IC)
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
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
RESPONSIBILITIES
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