About this role
Job Title: Senior Java Developer
ROLE OVERVIEWRolverview
DVT requires the long-term services for an Innovative Senior 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
• Java systems development experience using core Java Enterprise edition
• 5+ years’ java development experience
• 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
• Unit testing and mocking frameworksAbility to conceptualise and simplify complex problems
COMPETENCIES
competencies
• Passionate about technology and development.
• Results oriented with the ability to work under pressure and juggle multiple concurrent projects with changing priorities and deadlines
• Strong analytical and problem solving skills.
• Able to deal with complexity and migrate between detailed and high level requirements.
• Self-starter who takes ownership, is accountable, and is able to work with minimal supervision.
• Communication Skills (written & verbal)
• Listening Skills
• Planning, organising and execution skills
• Work under pressure
• Innovative
ATTITUDES
ATTITUDES
• Passion for people
• Enthusiastic and committed
• Work in a team environment
• Ability to work under pressure
• Delivery focused
• Work to achieve tight deadlines
• Professionalism (conduct and appearance)
• Motivated
• Show initiative
• Awareness of the environment
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
alQualificationsifiations
• Preference: BSc/ BSc Hons/ MSc degree in Computer science, Software engineering or a related field of study
• Matric, A or O levels
TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED:
• Hands-on experience with Spring Cloud
• Good understanding of microservices, event-based architectures
• Hands-on experience with Netflix OSS (Eureka, Ribbon, Hystrix, Feign)
• Hands-on experience with Batch processing using Spring batch
• Strong experience working with various JEE based Application Servers (Weblogic, Websphere, JBoss etc.)
• Good understanding of web security (OAuth2, JWT, OpenID)
• Good understanding of AWS cloud ecosystem (Cloud Practitioner Certified)
• Hands-on experience with Spring security
• Hands-on experience with UI frameworks like Angular or React
• Hands-on experience with NoSQL DBs (MongoDB, Elasticsearch, Hazelcast etc)