Software Engineer - GoLang

JP Morgan

Location: Glasgow City

Job Type: Full time


The Next Generation Engineering Identity Governance team in the firm’s Cyber Technology and Controls Organization has established a world-leading position in patented next-generation policy-driven access control. Integration projects are complex and involve collaboration from multiple teams, on different time schedules. We’re looking for true technologists who have had broad exposure to multiple technologies and who are driven by the desire to learn, to invent and to push boundaries.

We use scaled agile methodologies in our development practices and believe that great software is developed through ongoing thoughtful conversation about the delivery of actual business and regulatory requirements, within a high-level framework which establishes a sound semantic model and long-lived APIs.

We are working inside a technically diverse ecosystem using a mixture of vendor products, open source products and custom in house solutions, We define policy across information models in RDF and UML, we retrieve data via Graph and REST APIs, we deploy in a reusable component across multiple points in the application lifecycle in containerized and non-containerized patterns, and combine it all through a managed services layer.


This is a hands-on role where development is primarily in the Go (Golang) programming language, leading by example, with responsibility for the system as it transitions to production.

It doesn’t require detailed knowledge of the Access Management domain, but it does require a flexible approach, and experience of dealing with a highly abstract problem space. There is an implicit ownership and accountability for the solution working as intended.

The ideal candidate is lateral cross thinker who can handle many different roles such as:

  • Collaborate with domain experts, architect, design authority and product through the delivery of solutions
  • Define a roadmap to build out features of the solution that deliver capabilities which align with specific short-term use cases and requirements.
  • Build a flexible component architecture that realizes the high-level architectural vision
  • Work with teams across the bank to source reference data (and associated metadata)
  • Build or learn to build metadata-driven declarative data transformations (JSON-to-JSON)
  • Partner closely with more junior colleagues through pairing and code reviews.


  • Excellent analytical and problem-solving skills.
  • Demonstrated self-starter with good judgment and resourcefulness
  • Bachelor's degree in Information Technology, Computer Science, Engineering, Mathematics, Physics, or a related field.
  • Relevant work experience related to software development, system engineering and IT architecture
  • Experience in at least 2 different programming languages, including at least one that isn’t object-oriented – such as Go or C.
  • Experience in working with information/data models
  • Strong experience of both consuming and writing web service APIs -RESTful or Graph-based using JSON and/or XML.
  • Some exposure to LDAP, Active Directory, OIDC, SAML, Kerberos, Amazon IAM, or other enterprise/cloud authentication/authorization technologies
  • Experience of deployment through a controlled pipeline e.g – Jenkins, GIT, Bitbucket, Artifactory, automated test and integration.
  • Full-lifecycle experience of taking a system from design through to production, and in establishing a release cadence for Continuous Integration/Deployment.
  • Ability to work independently and in a team based environment. Excellent customer service attitude, communication skills (written and verbal), and interpersonal skills, skills in dealing with a diverse population.
Nice to have:
  • A Go Guru – or at least a passionate convert to Golang
  • Declarative model transformations or mappings – e.g. in a data pipeline
  • Experience with logic programming – Rego, Datalog or Prolog
  • Use of RDF technologies such as SparQL or JSON-LD
You’ve got this!