C++ / Java Principal Software Engineer
·Strong, hands-on commercial experience in C++ and ideally Java in an enterprise environment
·Experience in multithreading, memory profiling and performance optimisation.
·Understanding of algorithms, algorithms complexity and data structures.
·University degree in Computer Science, Software Engineering, Electronic Engineering, Mathematics, Physics or Similar
·Experience dealing with OO Design in large and complex software systems
·Experience developing within a various software platforms including Windows and Linux
·QA Methodology and practice, including unit testing, TDD
·Strong interpersonal skills with ability to present and communicate clearly with both peers and customers
·Ability to mentor team members
·Any experience in the following is beneficial: Python, cloud infrastructure (AWS, Docker, CloudFoundry), Rasperry Pi, iOS, AndroidC++ / Java Principal Software Engineer Responsibilities:
·Design, build and test complex software systems
·All aspects of the software life-cycle from software architecture, design, development, testing and documentation
·Recommendations for process improvement
·Offer creative input for future products and features
·Take on a Product Owner role
·Discuss product features with key customers
·Mentor and teach junior team membersWhat this offers:
- The chance to work alongside a team of highly knowledgeable engineers in a collaborative environmentA highly innovative environment with the opportunity to shape design decisionsContinuous learning with the chance to work on a constantly changing set of new technologiesA fantastic benefits package including family healthcare, 4 x life insurance, 8% pension, and disability allowance.