Analyst Developer (C++)
What does an Analyst Developer (C++) do?
As an Analyst Developer working in the Cyber Solutions Team you are responsible for development of the C++ component of Nominet’s ground-breaking DNS Analytics and Threat Intelligence Platform: NTX.
You design, develop, release and maintain our software and systems architecture, enabling the highest possible quality of services for Nominet’s customers.
The Cyber Security Services Team is responsible for the operation and the development of the core and critical software systems that underpin Nominet’s Cyber Security solutions.
What we expect from an Analyst Developer (C++)
- Leading on the delivery of NTX’s backend functionality, you will be responsible for:
- Gathering user/ stakeholder requirements and feedback.
- Designing efficient, simple, high performance, thread safe APIs for use by our front end.
- Troubleshooting complex performance issues.
- Ensuring all code is thoroughly tested.
- Delivery of next generation APIs/backend components which can be used as a basis for ongoing project delivery as part of the NTX product roadmap.
- Work with the project steering committees to ensure project gateways are met and that stakeholder requirements are delivered.
- Work in a cohesive, friendly and collaborative manner to deliver real value for Nominet’s customers.
- Design, build and maintain efficient and reliable C++ code.
- Work closely with other engineers to develop new products.
- Work on extensions of existing products.
- Suggest and implement improvements on current products.
The skills, experience and behaviours we look for
- Highly capable C++ developer.
- Working knowledge of the Standard Template Library (STL), multi threading, TCP/IP and Linux is essential.
- Experience of Python, SQL and NoSQL store technologies would be an advantage but not essential.
- Knowledge of further technologies of interest could include cyber security, research and development of mathematical algorithms, networking and testing frameworks.
- Advocate of software that is thoroughly tested.
- Proficient with version control e.g. git.
- Software development lifecycle experience.
- Coordination with other developers for cross-functional requirements implementation and tests.
- Resolve issues proactively to deliver high quality products.
- Good communication and interpersonal skills.