Job Details

Job Title: Erlang Software EngineerLocation: Central Bath HQ
Reporting to: Director of Development
Closing Date: Monday, 31st 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. Flexible working arrangements are possible too.
We are an equal opportunities employer, welcoming applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.
Our product is innovative, and our culture focussed 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

In this role you will work within the core of our human experience analysis service with skills in functional programming and NoSQL/SQL database technologies to help us extend our technological capabilities and enhance our product features. Knowledge of Erlang and related event driven technologies will be required in this role. Knowledge of microservices architectures, centred around technologies such as Kubernetes will be an advantage.
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.
This is an opportunity to work at the forefront of digital technology and an excellent opportunity for personal growth.

Key Responsibilities

  • The continuing development, testing, and modernisation of our analytics system, written in Erlang, including our continuing expansion of its operation into microservices.
  • Working on our continuing evolution towards a microservices-based architecture based on Kafka Streaming Services and related technologies (e.g. helm, Kubernetes)..
  • Working closely with testers in the team, in a BDD-driven approach.
  • Unit testing code for functional correctness, robustness, edge cases, usability and reliability.
  • Working with NoSQL databases currently and potentially SQL databases in the future.
  • Bug fixing and improving application performance.
  • Staying up-to-date with the techniques, tools and software, 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

Essential:

  • Experience of software development in commercial applications.
  • Experience of microservices-based architecture and distributed applications, ideally based on Kafka with relevant support technologies, with strong knowledge of best practice architectural patterns.
  • Experience of functional programming.
  • Comfortable with mathematical concepts, from the perspective of implementing algorithms, as directed.
  • Comfortable developing in either Linux Ubuntu or Mac.
  • Knowledge of RPC.
  • Knowledge of Docker.

Desirable:

  • Good understanding of Kafka.
  • Knowledge of Kubernetes and related technologies like Helm.
  • Timeseries Database Technologies, or similar
  • Basic understanding of networks, of ICMP and TCP networking.
  • 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.).
  • Knowledge of HTTP, RESTful Web Services and JSON.
  • Working knowledge of NoSQL databases.
  • 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.

Other Key Skills & Requirements

  • Eligibility to work in the UK.
  • Good communication skills.
  • Ability to work effectively in a fast-moving agile environment.
  • Ability to keep within scope to meet business objectives while having a holistic view and remaining pragmatic in order to deliver new features.
  • Strong team player with good service ethic and ability to work effectively with other functions.
  • 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.