Job Details

Job Title: Senior Software Engineer
Location: Central Bath HQ
Reporting to: Director of Development
Closing Date: Friday, 14th May 2021

The Company

Operating out of our modern office in Bath, we offer an excellent package including a company bonus plan, share options, gym membership reimbursement and private health insurance.

We are also an equal opportunities employer, welcoming applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age. Flexible working options are available. 

Our product is innovative, and our culture focused on people. Our people are our success. Come and be part of our unique company and take the next step in your career.

The Role

This is a technical leadership role within the core of our human experience analysis service. You will need to be capable of working with a wide variety of people, at different levels of the organisation, and have an ability to mentor and guide people with different skill levels in your team. Your personality must be tactful, adaptable, and you will need to value teamwork. You’ll be helping to guide our approach to product development, ensuring we stay pragmatic and focused and take a lean approach focused on fast feedback.

You will need skills in application architecture, experience in functional programming and knowledge of NoSQL and SQL databases will be useful too. In this role you will help guide the enhancement of our technological capabilities, with a particular focus on developing our scalable architecture, as well as the production of new features. Knowledge of Erlang and related event driven technologies will be required.

You will need to be highly pragmatic in your approach too, able to work on a live production system, and capable of planning and executing carefully considered changes.

It’s a great opportunity to work at the forefront of digital technology and an excellent role for your personal growth.

Key Responsibilities

  • Overseeing our continuing evolution towards a microservices-based architecture based on Kafka Streaming Services and related technologies (e.g. helm, Kubernetes).
  • The continuing development, testing, and modernisation of our analytics system, written in Erlang, including our continuing expansion of its operation into microservices.
  • Ensuring that we take a pragmatic approach to product development, making sure risks are considered and keeping to specification at the right level of quality, through a lean approach embracing fast feedback.
  • Encouraging the proper use of agile techniques to develop work in small slices, driven through BDD and encouraging fast feedback.
  • Working closely with the CTO Office in bringing new features to the system.
  • Unit testing code for functional correctness, robustness, edge cases, usability and reliability.
  • Bug fixing and improving application performance.
  • All stages of the lifecycle for software development.
  • Staying abreast of software development techniques and technologies, as required in our work.
  • Providing input to the team on any improvements that can be made.
  • Supporting Actual Experience teams with information about known issues and fixes to the software.
  • Collaborating with DevOps on the management, deployment, and operation of the software.

Skills Profile


  • Experience of Functional Programming in Complex Systems.
  • Experience with microservices and the transformation of existing applications.
  • Knowledge of HTTP, RESTful Web Services and JSON.
  • Comfortable developing in either Linux Ubuntu or Mac.
  • Knowledge of message queues and distributed systems – preferably Kafka based.
  • Knowledge of microservice architectures and the software, systems and best-practices in this domain.
  • Knowledge of RPC.
  • Comfortable with mathematical concepts, from the perspective of implementing algorithms, as directed.
  • Experience of working with Erlang.


  • Solid knowledge of Kafka.
  • Knowledge of Kubernetes and related technologies like Helm.
  • Timeseries Database Technologies, or similar
  • Understanding of ICMP and TCP networking, since the software performs its analysis using network and application measurements.
  • Experience of working with Erlang, its message queues and distributed Erlang.
  • A good understanding of low-level programming concepts (e.g. I/O, transport messaging, etc.).
  • Working with a NoSQL highly-resilient and scalable database.
  • Working knowledge of relational databases and SQL.
  • Knowledge of CouchDB.
  • Any experience with the Redis key-value store.
  • Working knowledge of the Git version control system.
  • Experience of working with Docker.

Other Key Skills & Requirements

  • Eligibility to work in the UK.
  • Good communication skills – this is a senior role.
  • Ability to work effectively in a fast-moving agile environment.
  • Ability to meet business objectives while having a holistic view and remaining pragmatic in order to deliver new features.
  • Excellent team player working closely within the team and across teams.
  • Conscientious, with a strong desire to meet and then exceed expectations.
  • Excellent organisation skills with a keen attention to detail.
  • Flexible and willing to take on a variety of tasks.

Recruitment Privacy Notice

Actual Experience plc will collect your personal information for the purpose of the recruitment process, to evaluate your skills and suitability for the role you applied for, and to make any necessary adjustments where applicable. We will only use the information you provide to us, directly or indirectly, as part of your job application. Your personal information will be processed in compliance with the General Data Protection Regulation (GDPR).

If your application is successful and we decide to offer you a position with us, we will save the information we have collected about you during the recruitment process onto our internal company systems. We will also share some of your personal information with third parties to carry out a background check, including a criminal convictions check, obtain references from previous employers and to register you with our employee benefits provider.

If your application is unsuccessful, we will retain your personal information for 12 months, so that we can contact you about openings you might be interested in, and to comply with any legal obligations we are subject to.

When you have any questions, or would like to exercise one of your data protection rights, please contact Actual Experience directly.

Confirmation: By submitting your application, you confirm you have read and understood this Recruitment Privacy Notice

Apply for this job

Complete the form below to submit your application. Please ensure you include a CV and covering letter.