BT Senior Software Engineer in Kuala Lumpur, Malaysia

About Us

BT Malaysia is part of BT Group plc. BT is one of the world’s leading communications services companies. We are a global leader in managed networked IT services, operating globally and delivering locally to help our customers succeed. We employ nearly 89,105 people worldwide and serve the needs of customers in more than 170 countries, making us one of the largest professional service providers in our industry.

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.

Key Responsibilities

  • 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.

#LI#NB

Requirements

  • 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.

Skills/Experience

  • 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.

Desirable Experience

  • 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-serviceframework

  • Telecom BSS and Workflow development is a strong plus

#LI#NB

Job: IT, Systems and Security

Title: Senior Software Engineer

Location: South East Asia-Malaysia-Kuala Lumpur-Kuala Lumpur

Requisition ID: 62681