BT Senior Software Engineer in Kuala Lumpur, Malaysia
About BT Technology, Service & Operation (TSO)
We’re BT’s internal service unit, and we’re responsible for the innovation, design, development and delivery of the processes, networks and platforms that run the BT business – our centre in Malaysia undertakes development projects using enterprise information technologies to improve customer service and enable us to invest and grow the business.
We work closely with each of BT’s customer-facing lines of business to create new products and make sure that existing services evolve to meet the needs of their customers. And we’re always looking towards the future – we manage most of BT’s research and development, and are responsible for BT’s worldwide patent portfolio of more than 4,500 patents and applications. We’re continuing BT’s long history of innovation. In 1926 we held the world’s first two-way, trans-Atlantic conversation by radio telephone from our wireless station near Rugby. And in 1943, Tommy Flowers, working in the telecommunications division of the General Post Office (as we were at the time), developed the world’s first programmable electronic computer, Colossus. In 1968, we installed the world’s first digital telephone exchange. We laid the world’s first, purpose-designed optical fibre submarine cable in Loch Fyne, Scotland in 1980.
We’re building on this great legacy to keep developing and delivering the technology that will allow BT’s customers to thrive in a fast-changing world.
Purpose of the Role
The overall purpose of the role is to efficient delivery of innovative, configurable and high quality IT solutions to support BT’s evolving business roadmap. You will be a senior software engineer/technology expert who will take an active role in designing, support and implementation of best practise development to agreed patterns, the underlying technology and the architectural landscape of BT’s strategic order orchestration system.
BT’s strategic order orchestration system is fully data driven for rapid concept to market and developed following a fully test driven agile approach using Java and open-source and provides the following functionality:-
Customer order-line decomposition into Fulfilment Orders
Orchestration of Fulfilment Orders within a Customer Order interfacing with hundreds of BT systems.
Master Data Management-driven Software Development Kit (SDK)
Business Milestone Event generation to the Manage Business Milestone capability
Business Exceptions to the Manage Work Item capability.
Customer Asset Management exposed capability
In this role you will be supporting end to end design and delivery of business initiatives from inception, supporting business cases all the way through to workable software delivering solutions for key BT products such as BT Mobile, BT Broadband , BT Fixed Mobile Convergence , BT Hosted Voice Solutions, BT Data portfolio and many more.
As a senior person in the team you will provide Coaching support and help contribute to the Software engineers and overall teams development.
You will also be responsible for ensuring solutions are developed to meet the business and customer needs, match expectations for quality and reliability and contribute to the evolution of the systems towards number one for service. To act as part of the overall team to support and define system evolution plans. To participate and also lead in the delivery and implementation of solutions ensuring delivery is compliant with the designs and are fit-for-purpose.
Actively participate in end to end design of solutions to meet product portfolio requirements providing expert guidance on orchestration and provisioning.
Design, development, delivery of user stories across the release timeframes to support product launch in a timely fashion.
Work with other multi-disciplined teams of different systems in BT to ensure proper interactions of interfaces is achieved.
Balance accurately the needs of the business against the ideal technical design, proposing sound phased or tactical implementations where appropriate.
Provide guidance and direction to development team, specifically the Software engineers and ensure Architecture direction is understood and followed by the sprint teams.
Produce, modify or maintain solutions using a variety of technologies as outlined in experience. Possessing a good understanding of several programming languages in order to develop simple to moderately complex applications.
Participate in the definition of scope of projects and estimates of timescales for development and maintenance work, based on verbal and written technical briefs provided by the project team, attending project meetings as required supporting technical leads.
Understand different development methodologies such as rapid application development, agile and waterfall and assist in the identification of the most appropriate route for developments when required as part of the project team
Actively lead and participate in pair programming facilitating knowledge sharing and robust code during the project lifecycle.
Ensure system releases are built with structure and version controlled to hand over to Testing/support as required, and that they conform to industry standard change control and configuration management processes.
Adopt Unit Testing methodologies; work with testers and release Delivery managers to ensure the development of code is written to a specification by first coding a test, then writing the functional code to pass that test. Ensure that individual deliverables are tested as specified, are extensible, resilient, scalable and tuned for performance.
Actively Contribute in the creation of sustainable agile methodologies in support of the team goals as required.
Provide general technical solutions as required using appropriate technologies listed below.
Report issues, risks and variances against project timescales to the appropriate Release delivery manager/Project Manager, work within the project to minimise or mitigate those issues.
Develop and coach to the team members, a familiarity of how the team operates; its relationship and interaction with the other development teams. This includes becoming familiar with all associated processes and work flows.
Provide relevant consultancy skills into the business, and technical assistance and consultation to the customer and other parties where required.
Develop, test and deploy systems as required on a variety of technical platforms.Develop technical solutions using a variety of technical and programming languages as required and as agreed in the solution design. When necessary, work with the company to develop a new skills base as necessary. (e.g. In new technical or programming languages, methodologies, techniques or platforms.)
Conform to IT standards and development methodologies.e.g. Coding standards, source control strategies, deployment mechanisms, prototyping, rapid development methods etc.
Devise, implement and maintain best practice coding solutions to common problems such as content adaptation/client-side rendering, segmentation and personalisation/recommendations. Disseminate among peers and colleagues as required.
Analyse Business Requirements at a detailed level, leaded and contribute in the design and development of a solution
Define requirements for service components and work with other Design Authorities across IT to develop full end-to-end detailed designs
Ensure teams delivery of application code is within a prescribed frameworks
Responsible for ensuring delivery is to time, quality and budget
Provide guidance/consultation on production/test issues that may also result in fixes to solve such issues.
Must possess at least a Bachelor’s Degree in Information Technology / Computer Science or equivalent IT Experience.
Minimum 5 years of experience in Java software development focusing on Core Java, J2SE, J2EE, XML.
Experience in Apache Tomcat, Oracle database
Experience in a familiar with REST and web services, JUnit Testing
Strong analytical skills to solve complex business problems by writing simple, effective code.
Experience in quickly understanding application source code.
Resourceful and energetic with ability to work and solve technical problems independently with minimal guidance.
An innovate team player who is result-oriented with the determination to succeed.
Excellent communication and presentation skills.
Core Java, J2SE, J2EE, XML
Apache Tomcat, Oracle database
Familiar with REST and web services, JUnit Testing
Excellent analysis and programming skills
Good communication and presentation skills.
Experienced with Spring Framework, Hibernate, Maven, Ant, Gradle, WebSphere MQ, Apache ActiveMQ.
XMLBeans for accessing XML by binding it to Java types
TeamCity for continuous integration engine
JUnit and JMock for unit testing
Jersey for Restful web service exposure and consumption
Quartz for job scheduling services
DbDeploy for automated deployment of database changes
Maven and Apache Ant to support the build process
Emma for code coverage
Test-driven development (TDD) is highly desirable
Agile/Scrum software development environment
Angular development, Multithreading and Concurrency in Java, Micro-service framework
Telecom BSS and Workflow development is a strong plus
Job: IT, Systems and Security
Title: Senior Software Engineer
Location: South East Asia-Malaysia-Kuala Lumpur-Kuala Lumpur
Requisition ID: 69526