Software Engineer (All Levels)
- Significant experience of applying Design Patterns to complex problems.
- Significant experience working in an Agile delivery team.
- Significant experience using Continuous Integration.
- Significant experience using TDD.
- Significant experience using BDD.
- Working understanding of SOLID.
- Experience of applying Software Architecture Patterns.
- Experience building enterprise level web applications, services or embedded software.
- Working knowledge of at least 2 compiled languages.
- Working knowledge of at least 2 scripting or interpreted languages.
- Familiarity with Data gathering, visualisation techniques and tools.
- Familiarity with structured and unstructured storage of Data.
- Understanding of virtualisation.
- Experience working in a continuous delivery environment.
- Experience working with infrastructure as code technologies.
- Experience working with Big Data technologies.
- Experience working with cloud technologies and distributed systems.
- Experience working with containerisation.
- Experience working on military or government projects.
- Experience working with secure development techniques.
- Knowledge of information security best practice.
- Good interpersonal skills for customer and partner liaison
- Good written and oral communication skills
- Good time management, organisation and prioritisation skills
- An inquisitive mind and a desire to promote innovation
- A desire to learn and constantly expand your horizons
- Ability to work closely with others in a small team
- Ability to work under pressure
- High degree of initiative and flexibility
- Willingness to travel if required