Role purpose / summary
The Migration Borders Technology Portfolio (MBTP) has built and is continuously improving the platform service and functionality to transform the way the client manages immigration into the United Kingdom.
The finished system is used by the client staff based in the UK and in consulates across the globe, and by all applicants for Visa's, Passports or Immigration services.
The delivery framework has multiple application developers collaborating to deliver software components which are integrated across the by the client's services.
Multiple providers of commodity cloud services will provide hosting.
The application developments will be delivered using an agile methodology in line with Government IT policy.
The candidate should have the following qualities and experience:: Personal traits: The traits we are looking for are:
- Passion for technology
- Showing initiative and diligence
- Self-learning
- Being a team player, i.e. take ownership of contributing to the overall team capability and knowledge
Must have:: Python and Go Engineer - Skills Summary
Programming & Development
- Python Development
- Proficient in building backend systems, automation tools, microservices, and APIs.
- Experienced with libraries such as boto3 (AWS), ldap3, hvac (Vault), Jira, and Kubernetes (via Kubernetes-client).
- Proficient with modern Python features (asyncio, type hints, context managers)
- Go (Golang) Development
- Development of efficient, concurrent applications and services.
- Skilled in building CLI tools, REST APIs, and interacting with external services.
- Familiar with go modules, error handling patterns, testing, and code organization.
AWS Services & API Integration
- Deep experience using AWS SDKs in both Python (boto3) and Go (aws-sdk-go-v2) to:
- Interact with services like EC2, S3, IAM, CloudWatch, and Lambda.
- Automate infrastructure provisioning and manage cloud resources.
- Handle IAM roles, credential management, and secure service integrations.
LDAP, Vault, JIRA/Confluence, Kubernetes Integration in Python & Go: LDAP:
- Authentication and user/group management using ldap3 in Python.
- Experience with enterprise directories such as OpenLDAP and Active Directory.
- HashiCorp Vault:
- Secure secret management using the hvac Python client.
- Automated retrieval and renewal of secrets and tokens.
JIRA & Confluence:
- Integration using Jira and Atlassian-python-API for automating tasks, ticket creation, and documentation workflows.
- Kubernetes:
- Working with the Kubernetes API in Python using the official Kubernetes client.
- Automation of deployment tasks, pod management, and cluster introspection.
Testing & Quality Assurance: Python Testing:
- Experience with pytest, unittest, and mocking tools (unittest.mock, responses).
- Use of coverage.py for test coverage analysis and integration with CI pipelines.
Go Testing:
- Writing unit and integration tests using the testing package.
- Familiar with table-driven tests, test coverage tooling, and mock generation (gomock, testify).
Additional Skills: Version Control:
- Advanced use of Git, including branching strategies, code reviews, and release workflows.
CI/CD Integration:
- Incorporation of tests and linters in CI/CD pipelines (GitHub Actions, GitLab CI, etc.).
Code Quality Tools:
- Python: flake8, black, mypy
- Go: golangci-lint, go fmt, go vet