Careers

Symphonic is a young, innovative company developing advanced authorisation and access management solutions to support data access anywhere, anytime from any device.

Software Developer

Our Product:

Symphonic provides authorization software used by organisations including banks, retailers and the NHS to provide centralised access control to data and resources such as patient records, APIs and business data.

Customers write and test access control policies using our web-based administration interface. The policies are deployed to our decision engine, which combines the policy logic with external data sources (e.g. REST and database calls) to make access control decisions.

The Role:

We are looking for developers of all experience levels to join our development team in our central Edinburgh office. Most of the current team specialise in frontend or backend development, but we encourage a collaborative approach and welcome applications from specialists and generalists.

As part of the development team:

  • You will contribute to the design, development and testing of Symphonic’s suite of authorization products to meet the needs of existing and future customers.
  • You will help to write and maintain our development, build and deployment tooling.
  • You will help us ensure that the software we develop fits well into diverse customer environments. An interest in dev-ops would be beneficial.

If you are interested, there are opportunities for you to work on-site with our customers, doing requirements gathering, solution engineering, and implementation.

We also collaborate on academic research into formal policy modelling and analysis. If you wish, there is plenty of scope for learning more about this from leading authorities. We also encourage applications from people interested in or with a background in logic or logic programming.

How We Approach Development:

We currently have a development team of 12 people, which we expect to double in size over the next year. Our approach is collaborative, rather than hierarchical - we take shared ownership over all our development processes and activities. Everybody’s opinion is respected and considered, and the diverse range of strengths, skills and experience within the team helps us to write great software, and learn from each other while doing so.

Our processes are agile, evolving when necessary to meet the changing needs of the team and company. The team meets regularly to discuss process, tooling, environment, etc., in the spirit of continual improvement.

Technical Challenges:

Our Policy Manager application aims to allow business users to define and test complex access control policies in an intuitive way. To assist with building policies we are also developing state of the art tools that enable testing and analysis of the impact of policies as users write them. Development of this requires us to understand how we should present complicated information to users and how they need to interact with it. Our UI is written in Angular using Typescript, while the backend is a REST API written in Java and Kotlin using the DropWizard framework.

The challenge in developing our Decision Engine is that it must be correct, secure, scalable and robust. We achieve this by keeping the code as simple and stateless as possible and use concepts from functional programming to separate the definition and execution of policies. We write the decision engine in a mixture of Java and Kotlin.

Ensuring that all the components in our product suite interact as designed is another area of focus. We have created an extensive test suite written in Python (using the pytest framework), which allows us to easily spin up sets of containers to simulate external services in both normal and failure states. This work was recently presented at EuroPython.

What You Can Expect From Us:

  • Generous compensation.
  • 30 days paid holiday per year (pro rata based on 35 hour work week).
  • The chance for you to develop and build ground breaking technology.
  • An informal, fun, and exciting working environment.
  • The opportunity to craft your own role as our company grows.
  • A flexible approach to working hours - you can set a work schedule that fits your life. Work-life balance is important to us.
  • Determination to build a fantastic team based on three core principles: mutual respect, fun, and continuous improvement.

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status or disability status.

 

How to Apply

To apply please complete the form below and upload your CV.

No file Chosen
File must be less than 2 MB
Allowed file types: odf pdf doc dox.