Skip to main content

Software Engineer - Backend Development

Technology
Principle Pride
2 months ago

Job description

Software engineering & delivery :

  • Design, build, test, and maintain backend services, APIs, and automation used by cyber, engineering and data teams.
  • Apply good engineering practices : design patterns, SOLID principles, pragmatic architecture, and strong code quality.
  • Contribute to development, we have a lot of Go and Python (previous experience helpful but not required; willingness to learn is essential).
  • Write clear technical documentation and support knowledge sharing across the team.

Platform, cloud & infrastructure as code :

  • Build and operate cloud-based solutions on AWS or Azure, understanding core services and how to use them securely and efficiently.
  • Use Terraform to provision and maintain infrastructure, including networking components and access controls.
  • Work with cloud networking concepts (e.g., VPC/VNet, subnets, routing, security groups/NSGs, private connectivity, DNS).

DevOps & operational excellence :

  • Build and maintain CI/CD pipelines using "pipeline as code" approaches, improving reliability, repeatability, and auditability.
  • Configure and operate build/deployment agents/runners and associated tooling.
  • Implement secure secrets handling in pipelines (e.g., vault/managed secrets, rotation concepts, avoiding secret leakage).
  • Support production operations where needed : monitoring, alerting, troubleshooting, and continuous improvement.

Initial focus / day-to-day (first phase) :

  • Manage and optimise API demand and onboarding for the cyber data lake through Kong (API gateway), including access patterns, standards, and operational support.
  • Automate workflows across DevOps tooling and change/request processes, reducing manual effort and improving control and traceability.

Required skills and experience :

  • Strong programming experience in at least one major language (e.g., Java, C#/.NET, Python), with the ability to pick up new languages quickly.
  • Hands-on experience applying common engineering best practices (design patterns, SOLID, refactoring, code reviews).
  • Working knowledge of modern testing approaches such as TDD/BDD, and building testable services.
  • Cloud experience in AWS or Azure, with a practical understanding of core offerings and how to use them in production.
  • Infrastructure as Code experience with Terraform (modules, state, plan/apply workflow, environment separation).
  • Strong DevOps experience : CI/CD, pipeline-as-code, agents/runners, artefact management, and operational hygiene.
  • Understanding of secrets management concepts in pipelines and deployments.
  • Comfortable working in a security-focused environment with a strong appreciation for control, auditability, and risk management.

Desirable (nice to have) :

  • Experience with API gateways (especially Kong), API lifecycle management, and API security patterns (authN/authZ, rate limiting, mTLS, OAuth2/JWT concepts).
  • Experience building platforms/services that support data engineering teams (e.g., ingestion services, metadata, access patterns, developer enablement).
  • Familiarity with big data ecosystems - particularly data bricks/spark (e.g., data lakes, distributed compute, streaming) and observability practices.
  • Prior exposure to cyber/security engineering domains (useful, not required).
  • Lots of cloud engineering experience.
  • Serious ownership of Devops Pipelines.

Ways of working / behaviours :

  • Has a point of view on "good engineering" and can explain trade-offs clearly and respectfully.
  • Collaborates well across cyber, data engineering, and platform teams to get outcomes delivered.
  • Takes responsibility for quality, security, and operability - build it, run it, improve it.
Keywords
TeaApache SparkAutoconfTraceabilityMetadataCloud computingBRICKSDevOpsOauthPythonJavaJWtCI/CDBig dataSOLID

Interested in this role?