Jobs and Careers
LR
Senior Developer: Automated Security Tooling
LRQAGreecefull_timeVerifiedPosted 10 Dec 2023
About the role
<h1>The role</h1>
<p> </p>
<p>Do you have an interest in cybersecurity, and the skills needed to develop technically complex software to a professional standard?</p>
<p> </p>
<p>Would you like to use those skills to develop state of the art security tooling?</p>
<p> </p>
<p>Nettitude recognises the important role that automation will play in the future of cybersecurity testing. Good stand-alone tooling has always been important in this field, but we believe we can do better by:</p>
<p> </p>
<ul>
<li>Building tools that can share data with each other to achieve better results;</li>
<li>Closely integrating our tooling with our business processes;</li>
<li>Exploiting advances in Artificial Intelligence and Machine Learning technology to address problems that were not previously considered tractable.</li>
</ul>
<p> </p>
<p>We wish to become a leader in this field, and to that end have been conducting early-stage research over the last two years to identify suitable technical opportunities, and experimentally demonstrate some of the techniques we would wish to utilise.</p>
<p> </p>
<p>This project has now reached a stage where we wish to transition from proving concepts to delivering working tools. To achieve this, we are looking for developers with strong problem-solving skills and the aptitude to work in uncharted waters.</p>
<p> </p>
<p>If this sounds like you, then we’d love the opportunity for you to join our highly successful team and enable us to do just that. You’ll find yourself engaging in cutting edge cyber security capabilities with a high performing team of diverse and supportive peers.</p>
<p> </p>
<h2>Location</h2>
<p> </p>
<p>This role is predominately remote and is open to applicants in the UK and Greece.</p>
<p> </p>
<h2>What you’ll be doing</h2>
<p> </p>
<p>As a developer working on our automation project, you will be working within our Research & Innovation Department alongside other researchers and software developers.</p>
<p> </p>
<p>You’ll primarily be:</p>
<p> </p>
<ul>
<li>Learning how our security consultants perform particular types of cybersecurity testing.</li>
<li>Identifying activities which are amenable to automation.</li>
<li>Decomposing the required functionality into subsystems of tractable size and complexity.</li>
<li>Identifying subsystems which present a heightened level of technical risk, and using techniques such as prototyping to manage that risk.</li>
<li>Implementing subsystem when the requirements and technical challenges are sufficiently understood.</li>
<li>Writing unit tests, documentation, and other ancillary necessities.</li>
</ul>
<p> </p>
<p>To achieve these goals, you will be supported by other staff who are skilled in the fields of cybersecurity and software development. However, this work by its nature will require a high degree of self-reliance, and you will likely encounter problems where there is no-one with greater expertise to fall back on.</p>
<p> </p>
<h2>Essential skills</h2>
<p> </p>
<p>The key skills required for this role are expected to be problem solving and solution identification:</p>
<p> </p>
<ul>
<li>User requirements are expected to be clear and concise in most cases.</li>
<li>However, considerable technical analysis may be required to translate them from the problem domain to a form that is suitable for implementation as code.</li>
<li>Implementation will often involve modelling of data which might be incomplete, vague, ambiguous, or contradictory.</li>
<li>You will need a good general knowledge of data processing techniques, and the aptitude to apply them to specific requirements.</li>
</ul>
<p> </p>
<p>Additionally, one of the main challenges that we face is managing software complexity: if we allow internal dependencies to grow unchecked, there is a danger that our automation system will become progressively more difficult to maintain and develop. For this reason, we are placing a very strong emphasis on encapsulation and separation of concerns. </p>
<p> </p>
<p>You will need to be able to:</p>
<p> </p>
<ul>
<li>Recognise opportunities for abstraction.</li>
<li>Design interfaces and write code which operates on abstractions.</li>
<li>Exercise good judgement when assessing where abstraction adds value and where it does not.</li>
</ul>
<p> </p>
<p>Our main framework is written in Python, however within specific subsystems it is permissible to use alternative languages if they are better suited to the task. We also recognise that most of the difficult problems we need to solve are not of a language-specific nature. Prior Python experience is not therefore a requirement provided that you are willing and able to learn.</p>
<p> </p>
<p>Some knowledge of machine learning techniques would be advantageous, but similarly not a requirement.</p>
<p> </p>
<p>Although this role is being advertised at the level of Senior Developer, we are open to the possibility of appointing at the regular or Principal developer level as appropriate to your skill
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s