Software Engineer

 

Title: Software Engineer 

Location: London, UK

Reporting To: Head of Data Science

The Role

As a member of the Data Science Engineering team, you will spend your time writing crawlers, data ingestions - cleaning and machine learning pipelines. You will also be developing microservices in golang and deploying them in kubernetes.

You will play a key role in delivering software products and features to the highest quality, using a wide range of technologies, devices and systems. Your focus will be on developing monitoring solutions to ensure customers have a seamless viewing experience. We develop intelligent solutions through, data warehousing and machine learning to ensure we understand and deliver the best customer experience. You will have the freedom and encouragement to explore your own ideas and the reward of seeing your contributions to developed products.

Responsibilities:

  • Write and maintain scrapers - crawlers
  • Build reusable code and libraries for future use
  • Create Data and ML Pipelines
  • Ensure reliability of your services via profiling and smoke testing
  • Optimize application for maximum speed and scalability
  • Deploy serverless apps in google cloud
  • Collaborate with other team members and stakeholders
  • Write and maintain GRCP and REST APs

Essential:

  • Degree in Computer Science or related field, or equivalent work experience
  • Computer Science: OS, and systems architecture fundamentals.
  • Highly proficient in at least one of Java, Python, Golang
  • Evidence of working with algorithms, data-structures, efficiency, concurrency, performance optimization
  • Evidence of working with data driven development and design patterns
  • Knowledge of Test and Behaviour Driven Development
  • Experience working in an Agile environment
  • Strong analytical and excellent problem solving skills

Highly desirable:

  • Experience building complex software systems that have been successfully delivered to customers
  • Understanding Cloud computing, large-scale and high-availability distributed architecture
  • Experience or working knowledge of monitoring solution tools, Machine learning, data warehousing
  • Linux/UNIX including command-line tools and scripting
  • Databases including SQL, noSQL, schema design and optimization
  • Knowledge of Big data, machine learning and other statistical analysis
  • Agile methods