Senior / Lead Java Developer The Role:
Enhance Experian's world-leading decision management PowerCurve software suite to better serve some of the world's largest blue-chip companies.
Collaborate in a mature Agile Scrum team, integrated within a truly global, culturally diverse software group.
Enhance and create software features and the way in which they are built, tested, deployed and consumed by clients and the wider delivery organisation, with a strong focus on both automation and new technology adoption.
Work with and learn the most exciting technologies in data, analytics and decisioning. You will be challenged to drive our products forward, ensuring software is stable, secure, and performs as standard.
Experian is committed to making our developers as successful as possible by fostering an autonomous, dynamic team environment. We also provide relevant training, and support practices such as pair-programming, shared learning events (internal and external) and innovation days. Primary Accountabilities:
- Facilitate and contribute to story evolution; from conversation starters through to true Definition of Done implementations.
- Active participation in Scrum rituals, with an emphasis on iterative improvement and shared team goals.
- Promotion of best practice development within the team.
- Self-manage to plan and organise your time so that committed work is completed to DoD.
- Engage with the wider global group to ensure programme-level functional quality, performance and supportability.
- Explain complex solutions to technical and non-technical audiences.
- Develop system specifications for existing and new modules.
- Develop new/enhance existing modules in line with the current/evolving product architecture.
- Develop and execute comprehensive system and unit testing on the modules.
- Analyse and fix software errors.
- Maintain and improve existing system documentation.
You are an Agile practitioner with a strong background in software development and enterprise technology. Problem-solving and creative design solutions are second nature - you apply the most relevant skills, and seek to learn new ones, to complete highly complex tasks.
You are enthused about design patterns, code, testing, dependency management, integration, 3rd party libraries and tools.
You provide technical expertise in the evolution of stories at all points within the SDLC. You are very conscious of providing your end consumer the best experience.
You learn fast and have a desire to share knowledge effectively. You possess an astute business awareness to understand 'why' we are doing something. Qualifications:
- Educated to degree level or equivalent in Computer Science or a related discipline.
Technologies, Languages, frameworks
- Broad/Proven work experience in software development.
- Practical experience of using agile development methodologies.
Experience and exposure to as many of the following as possible would be advantageous:
Experience with the following will be considered an advantage:
- Proven experience delivering large, complex, high quality software applications.
- Broad experience of Java 1.7+ application development.
- Proven understanding and experience using design patterns.
- Test Driven / Behaviour Driven Development methodology.
- Knowledge of the Netbeans RCP and OSGi modular frameworks.
- Experience with Continuous Integration, Delivery and Build Automation processes.
- Unit and integration testing using Junit, Groovy or similar.
- Proprietary Language definitions (e.g. JCup, JFlex).
- Knowledge of HTML 5, CSS 3
- Transfer Protocols (RMI, Web Services, HTTP/S & REST)
- Cloud Computing
- Java Performance Tuning
- Database Scripting Languages (e.g. SQL, DB2, Oracle, Postgres, no SQL)
- Container technologies such as Docker and Kubernetes