About Roke
Roke clients come to us with niche, challenging problems that matter to their business, looking for experts to develop solutions by applying their experience and knowledge in novel, creative ways.
Our projects range from early feasibility studies, through the entire engineering lifecycle, to multi-year support for production-grade software systems, with engineers switching between these in line with their career aspirations and development plans.
The Opportunity:
Roke is recruiting for a Software Architect who is driven by solving varied and interesting client problems. The Software Architect will be responsible for the architecture and high level design of software enabled solutions, and will also support client Managers directly in a pre-sales capacity to develop relationships and solutions that can support future business growth.
For this specific role, we are seeking someone with strong experience in building distributed software solutions that include middleware technologies to move and manage information around a network where communications may be denied, degraded, intermittent and limited. While solutions are typically tested in cloud-based reference environments, this solution needs to be deployed to customer environments that are based on military tactical equipment and communications with no internet connectivity.
The ideal candidate will have a passion for supporting the development of capability within their own technical area. This senior position will be pivotal to capability development through involvement with business development activities, supporting our account managers in the development of customer offerings to address market drivers, identifying opportunities to develop/exploit our own IP in our target proposition space, as well as understanding and documenting the customer’s requirements for distribution to the engineering team.
Your Role:
1. Research and develop novel software solutions in the Defence domain, for example distributed middleware, software defined networks, and the application of artificial intelligence large language models, reinforcement learning, and others) to customer problems.
2. Define and develop software solutions in architecture terms including system boundaries, data flows, workflows, system layouts, and deployment plans.
3. Be the technical lead for delivery of internally and externally funded projects.
4. Provide guidance, mentoring, and coaching to other engineers across the customers to understand their problems and demonstrate solutions.
5. Contribute to install an architecture driven approach in existing engineering processes.
Key Skills
6. Proven experience as a software architect in Defence, public sector, or industry and developed software in more than one software language.
7. Demonstrable experience of defining robust engineering management plans and leading teams to follow them. These plans include use of continuous integration, continuous deployment, and test-driven development.
8. Familiarity using Agile delivery methodologies such as Scrum and Kanban.
9. Proven experience in taking research outputs data science experimentation) and turning into robust software products.
10. Familiarity or Experience of designing software solutions with a key focus on performance resource utilisation. and implementing solutions using middleware technologies.
11. Knowledge or Experience designing solutions using software architecture patterns that promote reuse, productivity, and quality.
12. Experience of designing both plug-in and micro-service architectures.
13. Experience of designing software based on different data storage relational, NoSQL, Big Data, streaming data analytics)
14. Experience of designing software in a variety of deployment settings included on-device, on-premises and cloud.
15. Ability to clearly express design decisions in text and graphical formats such as UML or Archimate.
16. An ability to pick up new tools, frameworks and languages fast.
17. An ability to analyse problems and communicate well thought through solutions.
18. An ability to develop new solutions where no pre-existing solution fits.
What you’ll bring
As a Software Architect you will have a degree level qualification in a STEM subject, or an equivalent level of practical experience.
You will use a range of technologies – some you will be deeply familiar with already, but others you will pick up to support specific projects. You are NOT expected to know all these technologies, but you should be well-versed in some of them. The rest, you should be able to pick up as required:
19. Python/Java/Kotlin and supporting backend and middleware frameworks
20. SQL and NoSQL database systems – PostgreSQL, SQLite, MongoDB, Redis
21. Linux-based operating systems – Ubuntu, Centos/RHEL
22. Mobile operating systems – especially Android
23. Virtual machines – especially VMWare
24. Message brokering, serialisation and queuing systems – MQTT, Kafka, Protobuf, DDS, XML
25. Microservices, containers and hosts - Docker, Podman, Kubernetes
26. Infrastructure as Code – Vagrant, Ansible, Terraform
27. AWS and Azure Cloud
28. Git and version control systems – especially GitLab
29. Architecture tooling – SPARX EA, Archimate
Beyond your technical skills, you will be proactive and able to communicate effectively with a variety of stakeholders. You will work well alone or as part of a team and grasp opportunities. You will be curious and seek out the best approach/solution/tool for the job at hand.
You’ll need to be able to draw on previous experiences of Software Engineering roles and be able to demonstrate a clear commitment to Continuous Improvement and Learning from Experience. Experience of successful Software implementation within the defence industry is a bonus!
Roke has a hybrid working policy as does our client base. Collaborative activities are likely to take place in our Woking, Romsey and Gloucester locations as well as client sites in Andover, London, Bristol and Cambridge.
Areas of responsibility
30. Join and contribute to agile ceremonies following Scrum, Kanban or SAFe Agile.
31. Coach team members in Software Engineering.
32. Work with product owners and DevOps to schedule releases and use CI/CD pipelines.
33. Work with security architects to ensure the products and services are secure by design.
34. Work with quality engineers to ensure the products and services are of high quality.
35. Work with architects to translate from high level architectures expressed in systems engineering terms SysML and Archimate) to designs that are implementable in code.
36. Work with senior leadership Head of Engineering) to effectively implement changes to products and services.
37. Participate and contribute to code reviews.
38. Work with client managers to understand customer problems and propose solutions.
Why you should join Roke
We have a competitive salary and access to a number of additional flexible benefits, which will cover Health and Wellbeing, Savings and Protection & Life, Leisure and Entertainment.
Roke has a great community of groups with shared interests. These enable people to share ideas and be passionate about tools, technologies & techniques, which interest them.
We are committed to a policy of Equal Opportunity, Diversity and Inclusion. Our working environment is friendly, creative and inclusive. We will consider flexible working arrangements and support a diverse work-force and those with additional needs.
Clearances
Due to the nature of this role, we require you to be eligible to achieve SC clearance.