Principal Java Software Engineer (C++/Java)

ITalent Consultancy
£83,000 per annum
30 Nov 2017
08 Dec 2017
Contract Type
Full Time
65k-75k + Bonus (8k) + Multiple Benefits

The Company

Our client is a leading Software provider who employs over 4,000 staff across 50+ Countries. With a Turnover of over £1 billion and share prices doubling in the past year the company is now looking to expand its Software Development Team with the addition of an experienced Principal Software Engineer who will provide clear technical leadership on projects whilst working in a team of 10.

Position Objectives

The successful candidate will take on a senior role in the close-knit and highly skilled multi-disciplinary R&D team of 10 working on the a real-time streaming analytics product. As one of the "Principal"-level software engineers you will be ready to provide clear technical leadership on projects and make a significant contribution to the design, implementation and testing of new functionality in an award-winning high performance event processing product, owning and influencing the development of key product areas.

Tasks and Responsibilities

The successful candidate will be an excellent all-round software developer with experience of designing, building and testing complex software systems, ideally with strong C++ and Java in an enterprise environment. They should be a conscientious, assertive and highly-motivated individual, who will bring to the role important technical skills and also be keen to learn new ones on an ongoing basis.

Specific responsibilities will include:

• Software architecture, design, development, documentation and testing

• Continuous improvement of software development, test and release processes

• Evaluation and recommendation of technologies

• Contribution of creative and innovative ideas for products and features

• Project management in an agile software development team ("product owner" role)

• Collaborative development of product features with key customers ("co-innovation")

• Design and development of cross-product/suite-wide features with other R&D teams

Essential Requirements

• A First Class or Second Class Upper first degree in Computer Science, Mathematics or an Engineering-related subject is required, with a Masters or Ph.D. degree in a relevant subject considered desirable

• Strong and up-to-date development skills in modern C++ and/or Java.

• Substantial experience of systems programming techniques including multi-threading, performance optimization and memory profiling.

• Experience with the challenges of developing distributed computing systems.

• Strong expertise with developing scalable, concurrent software.

• Strong understanding of data structures, algorithms and algorithmic complexity.

• Strong understanding of computer architectures and their impact on software performance.

• Experience of object oriented design, including the architecture of large and complex software systems.

• Experience designing frameworks and APIs.

• Experience as a development team lead or product owner.

• Experience of software development and maintenance on multiple platforms including Windows and Linux.

• Experience of commercial software engineering, working practices and methodologies, particularly agile software development.

• Practical experience of QA methodology and practice, including unit testing, TDD and CI.

Experience of breaking features down into agile user stories for a team to work on.

Highly Desirable

• Software development experience on Raspberry Pi and mobile platforms such as iOS or Android.

• Knowledge of scripting languages like Python.

• Knowledge of cloud infrastructure technologies, e.g. Docker, Amazon Web Services, CloudFoundry

Apply today as successful candidates will be contacted in 48 hours.

This job was originally posted as