Sophos

Software Engineer (Golang Developer)

Apply Now

Job Description

Role Summary

As a Software Engineer II (SE2) in the Identity team, you will play a key role in building and evolving our ITDR (Identity Threat Detection and Response) product. This role is suited for an experienced engineer who can independently design and deliver well-scoped features, contribute to technical decisions, and uphold high engineering standards. 

You will work primarily in Go (Golang), developing scalable, reliable, and secure backend services that operate in a distributed, cloud-first environment. You will collaborate closely with product managers, architects, and other engineers to deliver identity services such as authentication, authorisation, identity lifecycle, and policy enforcement. 



What you will do
  • Design, develop, test, and maintain backend services and APIs using Go, with a focus on scalability, reliability, and security. 

  • Build and enhance identity-related services (e.g. authentication, authorisation, user and service identities, token management, policy enforcement). 

  • Contribute to system design and technical discussions, helping shape service architecture and implementation approaches. 

  • Write clean, maintainable, and well-tested code, following best practices in software engineering and secure development. 

  • Participate in code reviews, providing constructive feedback and ensuring high code quality across the team. 

  • Collaborate effectively with cross-functional teams, including product management, security, SRE, and other engineering teams. 

  • Troubleshoot, debug, and resolve issues in production systems, participating in on-call rotations as required. 

  • Continuously improve engineering processes, tooling, and system observability.  

What you will bring
  • Bachelor’s degree in Computer Science, Engineering, or a related field (or equivalent practical experience). 
  • 2-4 yrs of strong professional experience as a backend software engineer, consistent with an SE2-level role. 
  • Hands-on experience developing production systems using Go (Golang). 
  • Solid understanding of distributed systems, APIs, concurrency, and performance considerations. 
  • Familiarity with containerisation and orchestration technologies such as Docker and Kubernetes. 
  • Preferred Skills:
  • Strong foundation in data structures, algorithms, and core software engineering principles. 
    • Experience working in the Identity, Authentication, or Access Management domain. 

    • Relevant experience with working on Microsoft Entra or similar identity providers 

    • Familiarity with OAuth2, OpenID Connect, SAML, JWTs, and modern identity protocols. 

    • Experience designing and operating highly available, low-latency microservices. 

    • Knowledge of security best practices, threat modelling, and secure coding techniques. 

    • Exposure to CI/CD pipelines, infrastructure-as-code, and observability tools (metrics, logging, tracing).