Python engineer and data scientist at edtech startup

Posted by Edtech startup on Thu, 18 Jul 2019
Contract type: permanent. Location: London, UK (Piccadilly Circus)


Name: Fintan Nagle
Phone: None


  • Job type: Full-time
  • Role: Python data scientist
  • Experience-level: Mid-level
  • Industry: Enterprise learning and development
  • Compensation: £40-50K per annum plus equity

We are an early-stage startup with highly experienced founders and links with academia. Operating in the area of enterprise retraining and reskilling, we are approaching one of the key problems posed by technological change: workforces’ and individuals’ need to retrain and learn new skills for new roles. We have just received substantial funding from Innovate UK, the UK’s government innovation agency, and are looking for a Python engineer and data scientist to form a key part of our small team.

Our service is a Web-based platform which uses a graph engine to model individuals’ competences and target skills, and make job and learning recommendations. We are looking for a generalist Python engineer with experience in data science.

The right person will be extremely comfortable working with graph data structures in Python, pulling data from Postgres using SQLAlchemy, and optimising Python code to make good use of RAM and processor cycles.

You would be part of a small team working closely with the CEO (investor and entrepreneur with strong machine learning experience) and CTO (PhD, software engineer in machine learning) to develop our platform according to a clear, well-defined roadmap. You must have the ability to work independently and develop your own ideas, while being a team player. You should be comfortable with a fast-moving, collegial and sometimes high-pressure startup environment.

Required skills

  • Extensive experience in Python, including OOP, the import system, mutability and state
  • Experience using recursion to solve problems such as tree layout or graph search
  • Familiarity with graphs: nodes, edges, traversal, max-flow min-cut
  • Familiarity with modern Web architectures: JSON, GET and POST requests, caching, security and authentication
  • Ability to write complex SQL queries
  • Experience with the SQLAlchemy object-relational mapper
  • Familiarity with test-driven development and experience using progressively larger and more complex test examples to exercise and develop algorithms

Desired skills

  • Experience with web scraping libraries in Python
  • Experience with Amazon Web Services (AWS), especially Elastic Beanstalk and Relational Database Service
  • Familiarity with Web development, especially Ruby

Our tech stack runs on AWS and currently includes

  • Internal graph service written in Python: the main target of your work
  • Public-facing Web service written in Ruby: your work would not focus on this service, but would integrate with it
  • Postgres database

Compensation and benefits

  • Competitive salary £40-50K
  • Equity: share options
  • 25 days’ paid annual leave (33 days including bank holidays)
  • Macbook Pro
  • Central London office

Application questions

Please answer the following questions completely and concisely.

  • What are the two most complex Python projects you have worked on?
  • Please detail your experience with graph data structures or graph databases
  • How well can you write SQL queries?
  • Please describe the most complex recursive function you have written
  • Please detail your experience with SQLAlchemy or other ORMs