Front-End Engineer


Direct Entry Job Permanent Guildford, UK

Uploaded 11 Nov 2017

Job Description

Earth-i is looking for a Front-End Engineer to work on our exciting Earth Observation data analytics and insights platform and products. Your primary focus will be to work on the development of front-end user-facing elements to deliver the functionality needed to meet our technology vision.  As a Front-End Engineer, you will be expected to contribute to our software architecture as well as our technology standards and choices.

You will also be responsible for integrating back-end elements built by colleagues into the front-end which means a basic understanding of back-end technologies is necessary as well.

Primary Responsibilities:

  • Writing reusable, testable, and efficient code
  • Design and implementation of low-latency, high-availability, and performant applications & services
  • Integration of user-facing elements developed by front-end Engineers with server-side logic
  • Implementation of security and data protection
  • Integration of data storage solutions such as databases, key-value stores, blob stores, etc.
  • Actively participate in the definition and design of key architectures


Person Specification

Essential Experience:

  • Extensive experience in Python, with knowledge of at least one Python web framework (e.g. Django, Flask)
  • Experience with Cloud platforms, in particular AWS
  • Familiarity with some ORM (Object Relational Mapper) libraries
  • Familiarity with data analysis libraries such as Pandas, NumPy etc. would beneficial
  • Able to integrate multiple data sources and databases into one system
  • Understanding of the threading limitations of Python, and multi-process architecture
  • Good knowledge of libraries such as Asyncio
  • Good understanding of server-side templating languages (e.g Jinja 2, Mako…)
  • Basic understanding of front-end technologies, such as JavaScript, HTML5, and CSS3
  • Understanding of accessibility and security compliance
  • Development of back-end for mobile application development (native or web) will be an advantage
  • Knowledge of user authentication and authorization between multiple systems, servers, and environments
  • Understanding of fundamental design principles behind a scalable application
  • Familiarity with event-driven programming in Python
  • Understanding of the differences between multiple delivery platforms, such as mobile vs desktop, and optimising output to match the specific platform
  • Able to create database schemas that represent and support business processes
  • Strong unit test and debugging skills
  • Proficient understanding of code versioning tools
  • Computer Science or similar degree or relevant experience

Desirable Experience:

  • Experience with Java and related framework(s)
  • Experience with C++/C development
  • Exposure to image processing, machine learning and data science will be an advantage
  • Experience with delivering microservices will be an advantage

Share this job

Other Jobs at Earth-i

No jobs currently available.