National Security Domain Python Engineers required for permanent opportunities paying to £75,000 + clearance bonus.
Fortice have opportunities with a range of organisations supporting HMG, so whether you want the autonomy afforded by joining a scaleup, the salaries on offer with consultancies or the safety and security of working for a prime, we'll have something suitable.
For this role, you'll have a deep understanding of Python core concepts, strong experience of Software Engineering practices, and experience designing and building scalable and robust systems. In addition, you'll hold an active current security clearance and will be available to work high-side or in the office 4 days'/week.
Deep understanding of Python core concepts:
* Advanced Language Features: Generators, decorators, context managers, and the asyncio module.
* Object-Oriented Programming (OOP): Designing clean and reusable code using class hierarchies, inheritance, mixins, and design patterns.
* Python Roadmap: Understanding when and how new language features have been introduced over the lifetime of Python 3.
* Under the Hood: Able to understand how CPython uses low-level system resources across different operating systems.
* Environments and Dependencies: Familiar with tools such as virtualenv, pip, poetry and uv. Understands locking and reproducibility.
Strong software engineering practices:
* Code Quality: Writing clean, maintainable, and well-documented code. Using linters, formatters, and type checkers.
* Debugging: Able to locally and remotely drive a debugger.
* Testing: Experience with unit tests, integration testing, and mocking frameworks.
* CI/CD: Implementing pipelines for automated build & testing.
* Version Control: Proficiency with Git (e.g. submodules, pull requests, rebasing).
* Refactoring: Improving existing codebases, eliminating duplication, and optimizing readability and performance.
Scalable and Robust System Design:
* Design Patterns: Familiarity with common patterns, able to spot when something doesn’t look right.
* Concurrency and Parallelism: Understanding the differences between multithreading, multiprocessing and asyncio.
* Problem Solving and Algorithmic Thinking: Solid grasp of data structures and algorithms.
* Performance Optimization: Use of profiling tools, and efficient use of data structures.
Interested in hearing more, apply now, or contact me directly [alex@fortice.co.uk].