Role Title - Java Integration Developer
Reporting To - Software Development Manager
Truphone is one of the leading innovators in the mobile industry, which provides products that other operators can only dream of - it’s a fun and fast paced company that is going places. We are recruiting a Java Integration Developer to join our integration team.
Main Purpose of Role
As a developer within a SCRUM team you will specify, design, construct, monitor, deploy and support the integration of the various elements of the Truphone BSS (Business Support System) application portfolio using Java / JMS/ Fuse / Drools. Candidates should be aware or have experience in integration projects using Enterprise Integration Patterns.
The BSS includes a range of internal and third party applications. Their functions include calculating the cost of a call, producing a bill, managing customer accounts, taking payments, porting numbers, communicating with the network. The role does not include any work on mobile devices.
The sprint teams are self-organising units and as such being a team player who is self-organised and proactive is critical to the role. You must have a desire for the sprints to be successful and be willing to go the extra mile to ensure the team is a successful.
This is a new team within Truphone so gives the chance to join the Integration team at its formation, defining how we develop and interact with other teams and technologies.
Main Tasks and Responsibilities
- Develop new product features and new applications within a SCRUM environment
- Write appropriate unit and integration tests within a TDD/BDD environment
- Write acceptance tests using Cucumber BDD Framework and Selenium
- Deliver high quality code that is maintainable and readable
- Deploy the applications the team develops
- Create Monitoring for applications the team is responsible for
- Investigate and resolve issues with the BSS applications
- Create and monitor tasks on the issue tracking system
- Resolve issues blocking the sprint team
- Report the Sprint progress
Skills and Experience Required
The candidate should be able to:
- Demonstrate a high level of competence in object-oriented analysis, design and coding in Java
- Demonstrate a high level of competence in contract based integration i.e. WSDL, XSD, JSON Schema
- Design and implement systems that use relational databases
- Work to pre-defined requirements and produce code that meet the requirements
- Work test first (TDD) to produce unit tests including mocks and stubs
- Demonstrate a structured approach to development, using design patterns where appropriate and using SOLID principles
- Strive to continuously improve the development process
- Take ownership of work and contribute to an effective SCRUM team
- Show enthusiasm and passion for technology and be keen to learn new skills
- Keep track of tasks for the team using an issue tracking system (preferably JIRA)
- Show initiative to work with the business to resolve issues blocking the team
Desirable Skills and Experience
It is desirable that you can demonstrate experience with the following:
- Java SE 1.5 and above;
- Java EE 5 and above;
- XML and related technologies (XSL, XPath);
- RDBMS database design and optimisation
- Source control, especially SVN
- A unit test framework, especially JUnit
- A mocking framework
- Continuous Integration, especially TeamCity
- Automated Deployment
- SOA, especially using ActiveMQ 5.7
- Enterprise Integration Patterns;
- Enterprise Service Bus;
- JBoss FuseESB
- Messaging (JMS);
- Camel - this is a must: Routing; Testing; Error handling; Data transformation; Transactions; Components.
- Blueprint / Spring;
- BPM and Rules:
- Drools: DRL Language; Rule Design; Execution models.
- Guvnor; Rule management; Rule distribution.
- BPMN 2: BP Design; Human Task Models; jBPM 5; Execution Models; Custom Service Tasks.
- JON (JBoss Operations Network – Management Console);
- Fuse IDE.
Desirable Third Party System exposure
It is an added advantage if you can demonstrate experience with the following:
- NSN (Nokia Siemens Networks) including OCS (Online Charging System)
- Team Player, able to provide input into a multifunctional team
- Adaptable. The role requires a willingness to take on tasks outside of a narrowly defined role
- Self-motivated, capable of working with limited supervision, pro-actively reporting on status and tasks
- Capable of working to both tactical and strategic timescales
- Able to communicate effectively with both Business and Technical teams
Education / Qualifications
The candidate will preferably have an academic background or bachelor’s degree in Computer Science or other mathematical or scientific discipline. It is desirable that you are SCRUM certified.
Truphone is the world’s first, and only true global mobile network. Our aim is to keep international businesses connected to their contacts by providing global bundles on local rates, multiple international numbers on one SIM and global customer service providing 24x7 cover in multiple languages. In addition, our portfolio of innovative wireless solutions significantly reduces the cost and complexity of global roaming. Together with a Mobile Voice Recording application (TMR), that is both securely stored and of very high quality, we feel we cater for many markets and types of customers who will benefit from what we offer on a B2B level.
If you're committed to expanding your knowledge and gaining leading-edge skills, this is the place to do it.