Java Developer - Telecoms. Networking, c++
Java Developer - World leading telecoms player. London. C++
State of the art telecoms player, enjoying huge growth, with brand new offices in the heart of London, with free gym, subsidised canteen and onsite bar, my client can offer a first class career at the very forefront of their arena. A competitive basic salary and full benefits package and strong BONUS are on offer. This is top FTSE company, not a role to be missed if you are anspirational java / c++ developer. This role can lead to architecture role.
To work as a member of a team of software developers, responsible for the development and support of my clients Network Monitoring Systems (NMS). which provides a high level overview of the status of all my telecom clients services in real-time. It is relied upon by hundreds of users within the business and through our distribution partners and service providers.
You will be working in a small team of developers, extending NMS from a world class network monitoring system into a broader service monitoring system, with capabilities to monitor the performance of individual user terminals and the end-user applications and meet my clients service monitoring needs for current and future services.
NMS consists of serveral components with a distributed architecture and this includes:
- The reasoning engine which creates a dynamic real-time object model of each service with associated fault conjectures to model the network and service fault conditions
- The Information Manager which stores all monitoring data and handles all client access to NMS
- Various bridges, which handle the interfaces to the network elements to collect the real-time fault, performance and service information, using a variety of interfaces types, such as SNMP, Web APIs, message queues, files and databases
- Various NMS client applications providing high performance visualisation of the services
You may be expected to work on the development of one or more of the above components, working closely alongside other team members, based on requirements originating from groups mainly within the COO division.
- Working with NMS users to understand new requirements, develop and test new or enhanced features
- Work with the NMS system designer to contribute to the NMS evolution and shape the future architecture of NMS to support the evolution of NMS from a network monitoring system into a true service monitoring platform
- Working alongside engineers from the Development & Engineering divisions to understand the design and architecture of new services to be launched and ensuring there are appropriate interfaces to allow NMS to collect monitoring and service information required to support the new services
- Work with the Service Assurance engineers, Operations staff and Business Units to identify fault and performance issues in the services/networks. Where necessary creating new fault conjectures or performance graphs so that NMS can detect and alert on new issues
- Support network enginers and service performance specialists in network performance troubleshooting & problem resolution
- Interact with Operations, Product Support and Customer Support teams to answer customer questions and help resolve customer network issues, identify and resolve software bugs
Essential Knowledge and Skills:
- BSc in either Computer Science or a technical/engineering discipline
- A minimum of 3 years of hands-on Java or C++ software development working in a real-time operational environment. If you havent got both then one with a little of the other may suffice.
- Practical experience of whole software development lifecycle, producing high quality re-useable code in a team environment
- Excellent communication and collaboration skills in teams and corporate environments
- Experience with technical writing and documentation.
- Good Windows and Linux background
- Object Oriented analysis and design using common design patterns
- A reasonable understanding and appreciation of IT and network security best practices
- A proactive and solution-oriented approach with attention to detail.
Desirable Knowledge and Skills:
- Use of the Std C++ and Boost C++ libraries
- Understanding of IP networks and exposure to network troubleshooting using Wireshark or similar tools
- Some knowledge of SQL and NOSQL Databases, such as Cassandra
- Experience in Network Management and network/service KPIs
- Exposure to Web API programming and Google Web toolkit
- Experience developing Java and Web based user interfaces