This is a specialized role in the area of development that requires an individual with strong background, experience of working with revenue authorities and very good communication skills. Work on projects developing efficient and effective applications in accordance with the context provided by the Head of Development or the Project Manager. Work effectively with other departments as and when required. Responsible for the production of software and the translation of specifications into physical software assets.
Role and Responsibilities
- Execute software development in Java environment that includes delivering business logic using Java language tools and concepts, process flow design and development, bespoke development for a SOA based software application product.
- Design and develop the application using Java language and Java based open source technologies.
- Configure, implement and integrate SOA components (ESB, Message Queue, Workflow Engine) with new or existing applications as driven by business requirements
- Work as a part of a global team of developers delivering bespoke product software
- Work closely with the Business System Analysts to understand and interpret the client’s requirements;
- Develop code according to specifications, keeping strictly to the design and raising areas where improvements could be possible with the System Development and the Product Manager(s).
- Java code must be developed to a consistent and high standard that meets the timescales of the project plan as well as strictly adhering to the trips™ design model.
- Undertake peer reviews of the java code and deliver first level unit testing working closely with the Test Unit and Quality Assurance department to ensure that a quality product is delivered;
- Produce clear, comprehensive technical documentation of the code, that is version controlled and appropriately stored in line with product the configuration management guidelines;
- Ensure tasks are completed within the agreed timeframe;
- Work in an ‘agile’ environment and assist with driving the SCRUM planning sessions performing the role of Scrum Master if required.
- Coding requirements as specified in the related Technical Design Document.
- developing software following TBL’s coding standards and in accordance with applicable software development methodology and release processes
- Preparing the Technical Documentation during and after coding as well as estimating level of effort required
- Contribute to peer code reviews and evaluating new options of similar technology, offer suggestions to improve processes, and provide comments
- Contribute to product and/or application definition activities including feature analysis and system tradeoffs
- Testing and System Integrity:
- Review product and/or application information including manuals and brochures for technical accuracy
- Performs technical root cause analysis and outlines corrective action for given problems
- Perform Unit Test Execution and Peer Code Review of the Features Updated
- Debugging/ Fixing any internal or external issues if any
- Reporting: The Senior Software Engineer will report to the Product Development Manager through the Development Team Lead.
Key Performance Indicators
- Compliance to Work Schedule with Schedule Variance < 5%
- Compliance to Project Effort with Effort Variance (Scrum) <10%
- Defect on Quality of Work – QA Test Bugs < 2%
- Non Conformities in Audits and Code Reviews < 2%
- Number of hours on Knowledge Transfer- at least two (12) hours of training imparted
- 8+ years programming experience in Java JEE (preferably 2+ yrs with JEE6/JEE7) using JSF2.0, EJB, JPA, JDBC, Servlets, Java Mail at the minimum.
- At least 3 yrs experience on Java 7 or higher
- Strong experience with multiple databases with at least 4yrs on Oracle Database
- Experience writing complex SQL scripts, stored procedures
- Thorough understanding of RDBMS concepts Joins, procedures, triggers, indexing
- Experience with JSF 2.0 implementation (Using Facelets, PrimeFaces/ Trinidad Faces/ ADF Faces)
- Good experience working on development IDEs like NetBeans, JDeveloper, Eclipse
- Strong Experience in developing SOAP/RESTful based Web Services (JAX-WS, JAX-RS, JSON)
- Experience developing Workflows and Rules in SOA environment
- Experience working on Enterprise/Middleware Integration using ESB (FUSE/Mule) and Messaging Queues (Active MQ)
- Ability to work within agile delivery and planning methodology (Scrum)
- Strong experience with XML and related technologies XSD, XPath, JAXB, XSLT, SAX and DOM parsers
- Experience with MVC architecture and Java Design Patterns
- Strong experience in Service Oriented Architecture
- Experience in any ORM persistence framework (JPA, TopLink, Hibernate)
- Experience working on Enterprise Level application servers (WebLogic 11g/12c, Oracle Application Server, JBoss)
- Experience in authentication, Single Sign On implementation using LDAP (Active Directory), Oracle Access Manager
- System design and Architecture experience
- Technologically savvy: should have vested interest in learning and using the latest technologies in coding, and is constantly seeking to expand knowledge base.
- Team Player: Must be able to work in a team-oriented and collaborative environment
- Highly Analytical and attention to detail
- Adaptability to ambiguity and Time Management: Ability to multitask and work on different projects simultaneously and within set deadlines.
- Customer satisfaction Oriented : Knowledge about the subject area in which they are working, or the intended audience, is valuable
- Result-Oriented / solution driven/ Innovative
Excellent communication skills (written and oral)