Senior Scala Engineer

Overview

Easel TV is shaping the future of the video industry.

We are a specialist multi-screen video software company, founded in 2009 by pioneers in the digital media, digital TV and interactive TV space.

We offer an end-to-end video platform, featuring a cloud-based dashboard that streams media to phones, tablets, computers and Smart TVs.

The industry itself is also fascinating, with OTT being the future of TV. We also work with some big-name, interesting clients such as NBCU.

The role

As a Senior Scala Engineer you will help overcome the same engineering challenges as some well-known tech giants operating in this space. These challenges include encoding and streaming video, maintaining a dashboard for media and supporting a wide range of client devices.

This role will primarily produce clean, quality code for new features (roughly 75% of the time) and refactor code to improve existing functionality. This needs to be done within the holistic context of how to best deliver results as part of a team. A key part of the role is also to contribute to system design and work effectively as part of a multi-disciplinary team.

Alongside pure development, there are opportunities to take on additional responsibilities such as leadership (without line management), DevOps, development pipeline, architecture, or security.

Our cross-functional team consists of 8 highly talented members with T-shaped skillsets. The team use TDD/BDD practices and have a deep care for automation.

Day-to-day you will typically use Scala, Akka, Play, Slick, Git, Jenkins, AWS, Lambda, Postgres, Elasticsearch, Neo4j, Redis. We are also deciding on whether to use React.js or Angular7. If you joined you would have a big influence on which we decide to use.

In a nutshell, you’ll have the opportunity use modern technologies with a highly talented team working on a high-profile, consumer-facing product!

Responsibilities

The responsibilities of this role include participating as a member of the development team in the regular sprint-cycle and related activities such as daily stand-up, design sessions, sprint

planning, sprint retrospectives, code reviews, etc. Specific areas of focus for this position include:

  • Develop new features and maintain the web-based applications
  • Contribute to the design of new features of the platform
  • Refactor existing code to improve performance, readability, maintainability, andscalability
  • Help triage and fix software defects
  • Help in monitoring and maintaining the production environment
  • Provide clear technical and project guidance for teammates and our clients
  • Share knowledge and experience with the tech team
  • Ship software that is a joy to our users and to the developersCore skills/experience
  • Strong Scala or functional programming skills
  • Using source control and ticket system (e.g. JIRA), Git and Continuous Integration
  • Writing automated tests and understanding Test Driven Development
  • Experience working on web-based applications backed by a database system
  • Strong problem solving and logical thinking abilities
  • Proactive in identifying needs and proposing solutions
  • Able to work from high-level direction and solve technical details
  • Able to provide direction to team members when leading development of a project orfeatureBonus skills/experience

    • Experience with creating and consuming RESTful APIs • Akka, Play, and Slick3
    • AWS, Azure
    • Familiarity with Elasticsearch, Redis

    • Familiarity with Ansible or infrastructure as code
    • Familiarity with Java and other programming languages

    What we offer

    • Competitive salary
    • Company stock options
    • 25 days holiday plus standard bank holidays
    • Flexible working practices
    • Pension with matching up to 5% of salary
    • Bonus of 10% based on both company and individual performance
    • Childcare vouchers
    • Private medical cover (after 2 years’ service)
    • One training or conference event annually
    • Friendly and relaxed work environment