Designs, develops, and implements Java applications to support business requirements. Follows approved life cycle methodologies, creates design documents, writes code and performs unit and functional testing of software. Contributes to the overall architecture and standards of the group, acts as an SME and plays a software governance role.Duties and responsibilities:Work closely with business analysts to analyse and understand the business requirements and business case, in order to produce simple, cost effective and innovative solution designsImplement the designed solutions in the required development language (typically Java) in accordance with the standards, processes, tools and frameworksTesting the quality of produced software thoroughly through participation in code reviews, the use of static code analysis tools, creation and execution of unit tests, functional regression tests, load tests and stress tests and evaluating the results of performance metrics collected on the softwareParticipate in feasibility studies, proof of concepts, JAD sessions, estimation and costing sessions, evaluate and review programming methods, tools and standardsMaintain the system in production and provide support in the form of query resolution and defect fixesPrepare the necessary technical documentation including payload definitions, class diagrams, activity diagrams, ERDs, operational and support documentationDriving the skills development of team members, coaching of team members for performance and coaching on career development, recruitment, staff training, performance management.Qualifications and experience:Bachelors degree in Computer Science, Information Technology, or a related field requiredExtensive experience working with JavaSolid understanding of Object Orientated programming fundamentalsNeeds to have a high-level understanding of the common frameworks in the Java technology stackExtensive knowledge of design patterns and the ability to recognize and apply them
#J-18808-Ljbffr